Class AggregateDfnGenerator
java.lang.Object
org.ek9lang.compiler.phase7.AbstractDfnGenerator
org.ek9lang.compiler.phase7.AggregateDfnGenerator
- Direct Known Subclasses:
ClassDfnGenerator
,ComponentDfnGenerator
,RecordDfnGenerator
,TraitDfnGenerator
Common code of Aggregate Construct types.
-
Field Summary
Fields inherited from class org.ek9lang.compiler.phase7.AbstractDfnGenerator
notImplicitSuper, operationDfnGenerator, stackContext, voidStr
-
Constructor Summary
ConstructorsConstructorDescriptionAggregateDfnGenerator
(IRGenerationContext stackContext, SymbolGenus forGenus) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
createFieldDeclarations
(IRConstruct construct, AggregateSymbol aggregateSymbol) Create field declarations using AggregateSymbol.getProperties().protected void
createInitializationOperations
(IRConstruct construct, AggregateSymbol aggregateSymbol, EK9Parser.AggregatePartsContext ctx) Create the three-phase initialization operations for the class: 1.protected void
createOperationsForAggregateParts
(IRConstruct construct, AggregateSymbol aggregateSymbol, EK9Parser.AggregatePartsContext ctx) protected IRConstruct
processAggregate
(AggregateSymbol aggregateSymbol, EK9Parser.AggregatePartsContext ctx) Methods inherited from class org.ek9lang.compiler.phase7.AbstractDfnGenerator
createCallMetaDataExtractor, createDebugInfoCreator, createInitOperation, createInstanceInitOperation, getParsedModule, newPerConstructContext, newSyntheticInitOperation, processAsMethodOrOperator, processPropertiesForInstanceInit, processSyntheticConstructor
-
Constructor Details
-
AggregateDfnGenerator
AggregateDfnGenerator(IRGenerationContext stackContext, SymbolGenus forGenus)
-
-
Method Details
-
processAggregate
protected IRConstruct processAggregate(AggregateSymbol aggregateSymbol, EK9Parser.AggregatePartsContext ctx) -
createFieldDeclarations
Create field declarations using AggregateSymbol.getProperties(). This provides structural metadata about the class's data members, separate from the behavioral operations (methods). -
createInitializationOperations
protected void createInitializationOperations(IRConstruct construct, AggregateSymbol aggregateSymbol, EK9Parser.AggregatePartsContext ctx) Create the three-phase initialization operations for the class: 1. c_init - Class/static initialization 2. i_init - Instance initialization (property declarations and immediate initialization) 3. Constructor methods will be processed separately in createOperationsForAggregateParts -
createOperationsForAggregateParts
protected void createOperationsForAggregateParts(IRConstruct construct, AggregateSymbol aggregateSymbol, EK9Parser.AggregatePartsContext ctx)
-