Uses of Class
org.ek9lang.compiler.symbols.AggregateSymbol
Packages that use AggregateSymbol
Package
Description
B - For the EK9 compiler itself.
JVM Bytecode Generation - Transforms EK9 IR into JVM bytecode.
Common parts of processing that can be reused across various phases.
E - Initial Symbol definition by traversing the 'ANTLR' - 'AST'.
F - Resolution of Explicitly Defined Type Symbols - at this point phase3 processing should have defined
most of the explicitly defined symbols, so they should be resolvable.
G - Full Symbol Resolution can now take place.
I - PRE Intermediate Representation generation checks.
K - Intermediate Representation Generation.
Synthetic operator and method generation for EK9.
Contains critical general components used in the
Ek9Compiler listeners.
This is the main source of EK9 Symbols used within the compiler.
-
Uses of AggregateSymbol in org.ek9lang.compiler
Methods in org.ek9lang.compiler that return types with arguments of type AggregateSymbolConstructor parameters in org.ek9lang.compiler with type arguments of type AggregateSymbolModifierConstructorDescriptionIRModule(CompilableSource source, List<AggregateSymbol> allPrograms) -
Uses of AggregateSymbol in org.ek9lang.compiler.backend.jvm
Method parameters in org.ek9lang.compiler.backend.jvm with type arguments of type AggregateSymbolModifier and TypeMethodDescriptionvoidApplicationClassGenerator.generate(List<AggregateSymbol> applications, Map<String, ApplicationClassGenerator.ServiceBindingInfo> serviceBindings, File outputDirectory) Generate the global _Application.class file. -
Uses of AggregateSymbol in org.ek9lang.compiler.common
Classes in org.ek9lang.compiler.common that implement interfaces with type arguments of type AggregateSymbolModifier and TypeClassDescriptionfinal classReviews all the modules and looks for all the 'Programs' that have been defined anywhere.Methods in org.ek9lang.compiler.common that return types with arguments of type AggregateSymbolModifier and TypeMethodDescriptionAllProgramsSupplier.apply(SharedThreadContext<CompilableProgram> compilableProgramSharedThreadContext) ScopeStack.traverseBackUpStackToNearestAggregate()The nearest enclosing aggregate - a dynamic class when the scope is inside one, otherwise the named class, component, service, trait, record or program around it.SymbolsAndScopes.traverseBackUpStackToNearestAggregate()ScopeStack.traverseBackUpStackToNearestAggregateBeyond(IScope beyond) LikeScopeStack.traverseBackUpStackToNearestAggregate(), but only considers the scopes OUTSIDEbeyond- the ones pushed before it (anull, or a scope not on the stack, means the whole stack).SymbolsAndScopes.traverseBackUpStackToNearestAggregateBeyond(IScope beyond) AsSymbolsAndScopes.traverseBackUpStackToNearestAggregate(), considering only the scopes outsidebeyond. -
Uses of AggregateSymbol in org.ek9lang.compiler.phase1
Methods in org.ek9lang.compiler.phase1 with parameters of type AggregateSymbolModifier and TypeMethodDescription(package private) voidPackageCapabilityExtractor.accept(AggregateSymbol packageSymbol, EK9Parser.PackageBlockContext ctx) -
Uses of AggregateSymbol in org.ek9lang.compiler.phase2
Classes in org.ek9lang.compiler.phase2 that implement interfaces with type arguments of type AggregateSymbolModifier and TypeClassDescription(package private) classFor Constrained Types, focus on checking it is possible to constrain the type and if so then clones the appropriate methods/operators over and alters the types as appropriate.Methods in org.ek9lang.compiler.phase2 with parameters of type AggregateSymbolModifier and TypeMethodDescriptionvoidPopulateConstrainedTypeOrError.accept(AggregateSymbol newType, ISymbol constrainedType) (package private) voidPopulateConstrainedTypeOrError.accept(AggregateSymbol newType, ISymbol constrainedType, boolean hasConstraint) -
Uses of AggregateSymbol in org.ek9lang.compiler.phase3
Classes in org.ek9lang.compiler.phase3 that implement interfaces with type arguments of type AggregateSymbolModifier and TypeClassDescription(package private) final classC' (Steve, 2026-10-08): an ABSTRACT$,$$or#?declared on a type that HAS fields, counting inherited ones, is an error (E07185), reported at the abstract operator.(package private) final classChecks that all the text bodies that are on the super are also present in the language variant.(package private) final classChecks that methods from a super and one or more traits do not conflict.(package private) final classChecks that operators that have been 'defaulted' could actually be implemented.(package private) final classC2 fix 2 (Steve, 2026-10-08): a type that ADDS fields must declare its own$,$$and:=:when it would otherwise INHERIT one (E07238), as E07235 already requires of?.(package private) final classChecks that aggregates with properties/fields define their own '?' (isSet) operator.(package private) final classCheck overrides on methods.(package private) final classTHE check that an aggregate does not redeclare a property its super chain already declares - one rule for records, classes, components and dynamic classes (traits cannot declare properties, E07075).(package private) final classF1 (Steve, 2026-10-07): a record exists only to carry data, so a CONCRETE record with no fields, counting inherited ones, is an error (E07237).(package private) final classB18 - a type defines SAMENESS once (Steve, 2026-09-30).(package private) final classChecks that any recursive type constraints on a type are valid.(package private) final classCheck if any dispatcher methods on the aggregate and ensure that they are valid.Methods in org.ek9lang.compiler.phase3 with parameters of type AggregateSymbolModifier and TypeMethodDescriptionvoidAbstractOperatorOverFieldsOrError.accept(AggregateSymbol aggregateSymbol) voidAllTextBodiesPresentOrError.accept(AggregateSymbol aggregateSymbol) voidDefaultOperatorsOrError.accept(AggregateSymbol aggregateSymbol) voidInheritedOperatorOverFieldsOrError.accept(AggregateSymbol aggregateSymbol) voidIsSetOperatorRequiredOrError.accept(AggregateSymbol aggregateSymbol) voidMethodOverridesOrError.accept(AggregateSymbol aggregateSymbol) voidNoDuplicatedPropertyNamesOrError.accept(AggregateSymbol aggregateSymbol) voidRecordCarriesDataOrError.accept(AggregateSymbol aggregateSymbol) voidSamenessOrError.accept(AggregateSymbol aggregate) voidTypeConstraintOrError.accept(AggregateSymbol aggregateSymbol, EK9Parser.ConstrainDeclarationContext ctx) voidValidDispatcherMethodsOrError.accept(AggregateSymbol aggregateSymbol) booleanCheckConflictingMethods.test(AggregateSymbol symbol) -
Uses of AggregateSymbol in org.ek9lang.compiler.phase5
Classes in org.ek9lang.compiler.phase5 that implement interfaces with type arguments of type AggregateSymbolModifier and TypeClassDescription(package private) final classPRE_IR_CHECKS confirm-or-retract for the BAREdefault operatorcomparison family.Methods in org.ek9lang.compiler.phase5 that return AggregateSymbolModifier and TypeMethodDescriptionConstrainedConstructionResolver.Site.constrainedType()Returns the value of theconstrainedTyperecord component.Methods in org.ek9lang.compiler.phase5 that return types with arguments of type AggregateSymbolModifier and TypeMethodDescriptionConcreteSubtypeFinder.allAggregates()Every aggregate declared anywhere in the program - the same sweep the index is built from, so a caller that needs the whole set (the property-cycle pass's 'Any can hold anything' node) does not walk the scopes again.(package private) List<AggregateSymbol> ReachableConstructions.constructedBy(String callable) The types running this callable constructs with no edge of its own to say so.ConcreteSubtypeFinder.findAllSubtypes(IAggregateSymbol baseType) Find all aggregate types (both abstract and concrete) that have the given base type in their type hierarchy.ConcreteSubtypeFinder.findConcreteSubtypes(IAggregateSymbol abstractType) Find all concrete (non-abstract) aggregate types that have the given abstract type in their type hierarchy.(package private) static List<AggregateSymbol> ReachableConstructions.withSupers(AggregateSymbol aggregate) A type and its supers - constructing it constructs the parts its supers declare.Methods in org.ek9lang.compiler.phase5 with parameters of type AggregateSymbolModifier and TypeMethodDescriptionvoidDefaultComparatorRecheckOrError.accept(AggregateSymbol aggregate) (package private) voidDispatcherAmbiguityOrError.check(AggregateSymbol aggregate, ErrorListener errorListener) (package private) voidDispatcherExhaustivenessOrError.check(AggregateSymbol aggregate, ErrorListener errorListener) (package private) voidDispatcherHandlerReachabilityOrError.check(AggregateSymbol aggregate, ErrorListener errorListener) (package private) voidDispatcherTypeHierarchyOrError.check(AggregateSymbol aggregate, ErrorListener errorListener) (package private) voidTransitiveInjectionOrderingOrError.check(AggregateSymbol application, ErrorListener errorListener) Check transitive injection ordering for a single application symbol.(package private) voidUnsatisfiedInjectionReporter.checkAggregateAndFieldTypes(AggregateSymbol aggregate, Set<String> availableTypes, Set<String> allRegisteredTypes, IToken triggerToken, ErrorListener errorListener, Set<String> visited, InjectionCycles cycles) Check an aggregate's own injection fields and also the injection fields of any aggregate types referenced by its properties (field types) and supers.(package private) static InjectionCyclesInjectionCycles.of(AggregateSymbol application) The cycles recorded on the application (none when the E08190 check found none).(package private) static voidInjectionCycles.record(AggregateSymbol application, Set<String> members) Record the cycle members on the application, for the ordering checks that run after the E08190 check.(package private) static List<AggregateSymbol> ReachableConstructions.withSupers(AggregateSymbol aggregate) A type and its supers - constructing it constructs the parts its supers declare.Constructors in org.ek9lang.compiler.phase5 with parameters of type AggregateSymbolModifierConstructorDescription(package private)Site(AggregateSymbol constrainedType, ConstraintExpr constraint, ISymbol argSymbol, ISymbol constructorParamType) Creates an instance of aSiterecord class. -
Uses of AggregateSymbol in org.ek9lang.compiler.phase7
Classes in org.ek9lang.compiler.phase7 that implement interfaces with type arguments of type AggregateSymbolModifier and TypeClassDescription(package private) final classCreates the IR Construct for the abstract base text class.Methods in org.ek9lang.compiler.phase7 with parameters of type AggregateSymbolModifier and TypeMethodDescriptionTextBaseDfnGenerator.apply(AggregateSymbol baseTextSymbol) protected voidAggregateDfnGenerator.createFieldDeclarations(IRConstruct construct, AggregateSymbol aggregateSymbol) Create field declarations using AggregateSymbol.getProperties().protected voidAggregateDfnGenerator.createInitializationOperations(IRConstruct construct, AggregateSymbol aggregateSymbol, EK9Parser.AggregatePartsContext ctx) Create the three-phase initialization operations for the class: 1.protected voidAggregateDfnGenerator.createOperationsForAggregateParts(IRConstruct construct, AggregateSymbol aggregateSymbol, EK9Parser.AggregatePartsContext ctx) (package private) static voidDispatchTablePass.generate(Map<MethodSymbol, OperationInstr> operationsMap, AggregateSymbol aggregateSymbol, SharedThreadContext<CompilableProgram> compilableProgramAccess) (package private) voidDispatchTableGenerator.generateAndPrepend(OperationInstr dispatcherOperation, AggregateSymbol aggregateSymbol) Generate dispatch table for a dispatcher operation and prepend to its body.(package private) voidScenario2AggregateWrapperGenerator.generateWrappingConstructor(IRConstruct construct, AggregateSymbol aggregateSymbol, String baseTypeName) Generate wrapping constructor that takes the base type as parameter.protected IRConstructAggregateDfnGenerator.processAggregate(AggregateSymbol aggregateSymbol, EK9Parser.AggregatePartsContext ctx) protected List<MethodSymbol> AggregateDfnGenerator.withFieldSetStatusCarrier(AggregateSymbol aggregateSymbol) The aggregate's own methods, plus the synthetic_fieldSetStatuscarrier if it needs one.Method parameters in org.ek9lang.compiler.phase7 with type arguments of type AggregateSymbolModifier and TypeMethodDescriptionOnDemandIRGenerator.generate(CompilableSource source, SharedThreadContext<CompilableProgram> program, List<AggregateSymbol> allPrograms) Generate IR for a single source file with pre-collected program list. -
Uses of AggregateSymbol in org.ek9lang.compiler.phase7.support
Classes in org.ek9lang.compiler.phase7.support that implement interfaces with type arguments of type AggregateSymbolModifier and TypeClassDescriptionfinal classExtracts metadata from EK9 program symbols to create ProgramDetails objects for the PROGRAM_ENTRY_POINT_BLOCK.final classExtracts HTTP metadata from an EK9 serviceAggregateSymbolto produce a fully materialisedServiceRouteDetails.Methods in org.ek9lang.compiler.phase7.support with parameters of type AggregateSymbolModifier and TypeMethodDescriptionProgramMetadataExtractor.apply(AggregateSymbol programSymbol) ServiceMetadataExtractor.apply(AggregateSymbol serviceSymbol) static ConstrainedEnumSubsetConstrainedEnumSubset.of(AggregateSymbol constrainedType, IAggregateSymbol baseEnum) The subset ofbaseEnumadmitted byconstrainedType's constraint. -
Uses of AggregateSymbol in org.ek9lang.compiler.phase7.synthesis
Methods in org.ek9lang.compiler.phase7.synthesis with parameters of type AggregateSymbolModifier and TypeMethodDescriptionprotected booleanAbstractSyntheticGenerator.aggregateHasOperator(AggregateSymbol aggregateSymbol, String operatorName) Check if the given aggregate has a specific operator defined (in its own scope).static Optional<MethodSymbol> FieldSetStatusSymbolGenerator.createFor(AggregateSymbol aggregateSymbol, ISymbol bitsType) Create the detached_fieldSetStatuscarrier for this aggregate, if it should have one.static List<MethodSymbol> PolymorphicCopySymbolGenerator.createFor(AggregateSymbol aggregateSymbol, Ek9Types ek9Types) The detached carriers for this aggregate - empty for a still-generic template and for anything that is not a copy owner needing them.CloseGenerator.generate(MethodSymbol operatorSymbol, AggregateSymbol aggregateSymbol) Generate the _close operator IR for the given aggregate.CompareGenerator.generate(MethodSymbol operatorSymbol, AggregateSymbol aggregateSymbol) Generate the _cmp operator IR for the given aggregate.CopyGenerator.generate(MethodSymbol operatorSymbol, AggregateSymbol aggregateSymbol) Generate the _copy operator IR for the given aggregate - its own:=:(Owner), or the override of an inherited:=:(Super)signature (PolymorphicCopy, Q5b; told apart by the parameter type).DelegationGenerator.generate(MethodSymbol methodSymbol, AggregateSymbol aggregateSymbol) Generate delegation IR for a synthetic delegation method.DerivedComparisonGenerator.generate(String operatorName, MethodSymbol operatorSymbol, AggregateSymbol aggregateSymbol) Generate IR for a derived comparison operator.EnumCompareGenerator.generate(MethodSymbol operatorSymbol, AggregateSymbol aggregateSymbol) EnumConstructorGenerator.generate(MethodSymbol constructorSymbol, AggregateSymbol aggregateSymbol) Generate a parameterized enum constructor.EnumEqualsGenerator.generate(MethodSymbol operatorSymbol, AggregateSymbol aggregateSymbol) EnumFirstLastGenerator.generate(String operatorName, MethodSymbol operatorSymbol, AggregateSymbol aggregateSymbol) Generate the #< or #> operator for an enumeration.EnumHashCodeGenerator.generate(MethodSymbol operatorSymbol, AggregateSymbol aggregateSymbol) EnumIncrementDecrementGenerator.generate(String operatorName, MethodSymbol operatorSymbol, AggregateSymbol aggregateSymbol) Generate the ++ or -- operator for an enumeration.EnumIsSetGenerator.generate(MethodSymbol operatorSymbol, AggregateSymbol aggregateSymbol) EnumIteratorGenerator.generate(MethodSymbol methodSymbol, AggregateSymbol aggregateSymbol) Generate the iterator() method for an enumeration.EnumJsonGenerator.generate(MethodSymbol operatorSymbol, AggregateSymbol aggregateSymbol) EnumStringGenerator.generate(String methodName, MethodSymbol operatorSymbol, AggregateSymbol aggregateSymbol) Generate the _string or _promote operator for an enumeration.EnumStringParamGenerator.generate(String operatorName, MethodSymbol operatorSymbol, AggregateSymbol aggregateSymbol) Generate a String-param comparison operator for an enumeration.EqualsGenerator.generate(MethodSymbol operatorSymbol, AggregateSymbol aggregateSymbol) Generate the _eq operator IR for the given aggregate.FieldSetStatusGenerator.generate(MethodSymbol methodSymbol, AggregateSymbol aggregateSymbol) Generate the _fieldSetStatus method IR for the given aggregate.HashCodeGenerator.generate(MethodSymbol operatorSymbol, AggregateSymbol aggregateSymbol) Generate the _hashcode operator IR for the given aggregate.InheritedDispatcherGenerator.generate(MethodSymbol entryPoint, AggregateSymbol aggregateSymbol) IsSetGenerator.generate(MethodSymbol methodSymbol, AggregateSymbol aggregateSymbol) Generate the _isSet operator IR for the given aggregate.NotEqualsGenerator.generate(MethodSymbol operatorSymbol, AggregateSymbol aggregateSymbol) Generate the _neq operator IR for the given aggregate.ToJsonGenerator.generate(MethodSymbol operatorSymbol, AggregateSymbol aggregateSymbol) Generate the _json operator IR for the given aggregate.ToStringGenerator.generate(MethodSymbol operatorSymbol, AggregateSymbol aggregateSymbol) Generate the _string operator IR for the given aggregate.CopyGenerator.generateCopyAccepts(MethodSymbol methodSymbol, AggregateSymbol aggregateSymbol) Generate the owner's_copyAccepts(target as Any) <- Boolean: istargetan instance of this owner (a SUBTYPE test - the owner or any class below it)? Asked of the SOURCE of a copy with the copy's target, so a copy runs in full only between objects whose nearest copy owner is the same class.AbstractSyntheticGenerator.generateCycleGuardEnter(String enterMethod, AggregateSymbol aggregateSymbol, String otherVar, String onBackEdgeLabel, SynthesisScope ctx) Enter the runtime cycle guard for this object (and, for a comparison, the other operand):SyntheticOperatorGenerator.generateEnumConstructor(MethodSymbol constructorSymbol, AggregateSymbol aggregateSymbol) Generate IR for a parameterized enum constructor (copy or String).AbstractSyntheticGenerator.generateFieldSetStatusCheck(String otherParamName, AggregateSymbol aggregateSymbol, DebugInfo debugInfo, String scopeId, String returnUnsetLabel) Generate field set status comparison check.SyntheticOperatorGenerator.generateMethod(MethodSymbol methodSymbol, AggregateSymbol aggregateSymbol) Generate IR for a synthetic regular method (non-operator).SyntheticOperatorGenerator.generateOperator(MethodSymbol operatorSymbol, AggregateSymbol aggregateSymbol) Generate IR for a synthetic operator.protected StringAbstractSyntheticGenerator.getSuperTypeName(AggregateSymbol aggregateSymbol) Get the fully qualified name of the super aggregate.AbstractSyntheticGenerator.getSyntheticFields(AggregateSymbol aggregateSymbol) Get all fields from an aggregate that should be included in synthetic operations.protected booleanAbstractSyntheticGenerator.needsCycleGuard(AggregateSymbol aggregateSymbol) Does this aggregate's generated operator need the runtime cycle guard? Only a type phase 5 found can reach itself through its properties (PropertyCycles); for every other type the generated IR is unchanged.protected booleanAbstractSyntheticGenerator.rendersNothing(AggregateSymbol aggregateSymbol, String operatorName) THE decision shared by the REPRESENTATION operators '$' (_string) and '$$' (_json): does an object of this type have NOTHING to render? When it does not, the generated operator is just "return unset".protected booleanAbstractSyntheticGenerator.superHasOperator(AggregateSymbol aggregateSymbol, String operatorName) Check if the nearest super operator of that name (AbstractSyntheticGenerator.nearestSuperOperator(IAggregateSymbol, String)) exists with a body: an abstract declaration is not one the generated operator can call. -
Uses of AggregateSymbol in org.ek9lang.compiler.support
Classes in org.ek9lang.compiler.support that implement interfaces with type arguments of type AggregateSymbolModifier and TypeClassDescriptionclassError when the definition of a service is invalid.Methods in org.ek9lang.compiler.support that return AggregateSymbolModifier and TypeMethodDescriptionAggregateManipulator.createGenericT(String name, String genericParent, IScope scope) Create a generic parameter of specific name.BasicSymbolFactory.newApplication(EK9Parser.ApplicationDeclarationContext ctx) Create a new aggregate that represents an EK9 application.SymbolFactory.newApplication(EK9Parser.ApplicationDeclarationContext ctx) Create a new aggregate that represents an EK9 application.BasicSymbolFactory.newPackage(EK9Parser.PackageBlockContext ctx) Create a new EK9 package aggregate.SymbolFactory.newPackage(EK9Parser.PackageBlockContext ctx) Create a new EK9 package aggregate.BasicSymbolFactory.newProgram(EK9Parser.MethodDeclarationContext ctx) Create a new aggregate that represents an EK9 program.SymbolFactory.newProgram(EK9Parser.MethodDeclarationContext ctx) Create a new aggregate that represents an EK9 program.AggregateFactory.newRecord(EK9Parser.RecordDeclarationContext ctx) Create a new aggregate that represents an EK9 record.SymbolFactory.newRecord(EK9Parser.RecordDeclarationContext ctx) Create a new aggregate that represents an EK9 record.ServiceFactory.newService(EK9Parser.ServiceDeclarationContext ctx) Create a new aggregate that represents an EK9 service.SymbolFactory.newService(EK9Parser.ServiceDeclarationContext ctx) Create a new aggregate that represents an EK9 service.SymbolFactory.newText(EK9Parser.TextDeclarationContext ctx, String forLanguage) Create a new aggregate that represents EK9 text construct.TextFactory.newText(EK9Parser.TextDeclarationContext ctx, String forLanguage) Create a new aggregate that represents EK9 text construct.OperationFactory.newType(EK9Parser.TypeDeclarationContext ctx) Create a new aggregate that represents an EK9 type, constrained or enumeration.SymbolFactory.newType(EK9Parser.TypeDeclarationContext ctx) Create a new aggregate that represents an EK9 type, constrained or enumeration.Methods in org.ek9lang.compiler.support that return types with arguments of type AggregateSymbolModifier and TypeMethodDescriptionprotected List<AggregateSymbol> CommonFactory.createAndRegisterParameterisedSymbols(EK9Parser.ParameterisedParamsContext ctx, ISymbol functionOrClass, IScope scope) Methods in org.ek9lang.compiler.support with parameters of type AggregateSymbolModifier and TypeMethodDescriptionvoidCheckForInvalidServiceDefinition.accept(AggregateSymbol serviceSymbol) AggregateManipulator.addConstructor(AggregateSymbol t, Optional<ISymbol> s) Add another constructor to type t, but passing in an s as the value in the construction.AggregateManipulator.addConstructor(AggregateSymbol t, ISymbol s) Add a constructor to the type aggregate with a particular parameter.voidAggregateManipulator.addEnumerationMethods(AggregateSymbol enumerationSymbol) Adds all the appropriate methods for a type that is an 'Enumeration'.(package private) voidOperatorFactory.addEnumerationMethods(AggregateSymbol enumerationSymbol) voidOperationFactory.addMethodsToAny(AggregateSymbol anyTypeSymbol) voidSymbolFactory.addMethodsToAny(AggregateSymbol anyTypeSymbol) AggregateManipulator.addPublicMethod(AggregateSymbol aggregate, String methodName, List<ISymbol> methodParameters, Optional<ISymbol> returnType) Just add a method to an aggregate with the name and parameters and return type.static voidInheritedDispatcher.completeFor(AggregateSymbol aggregate) Give the aggregate a synthesised override of each inherited entry point it adds a new handler for.protected voidCommonFactory.configureAggregate(AggregateSymbol aggregate, IToken start) GeneratedOperatorFields.of(AggregateSymbol aggregateSymbol) The aggregate's own properties followed by its captured variables, in declaration order.voidBasicSymbolFactory.populateEnumeration(AggregateSymbol enumerationSymbol, List<EK9Parser.IdentifierContext> identifiers) Populates the enumeration with each of the values supplied in the identifiers.voidSymbolFactory.populateEnumeration(AggregateSymbol enumerationSymbol, List<EK9Parser.IdentifierContext> identifiers) Populates the enumeration with each of the values supplied in the identifiers. -
Uses of AggregateSymbol in org.ek9lang.compiler.symbols
Subclasses of AggregateSymbol in org.ek9lang.compiler.symbolsModifier and TypeClassDescriptionclassAn aggregate, but one that can have zero or more traits (like interfaces).classSpecial type that is super of Aggregate and super of Function (if they don't have supers).Methods in org.ek9lang.compiler.symbols that return AggregateSymbolModifier and TypeMethodDescriptionprotected AggregateSymbolAggregateSymbol.cloneIntoAggregateSymbol(AggregateSymbol newCopy) Methods in org.ek9lang.compiler.symbols that return types with arguments of type AggregateSymbolMethods in org.ek9lang.compiler.symbols with parameters of type AggregateSymbolModifier and TypeMethodDescriptionprotected AggregateSymbolAggregateSymbol.cloneIntoAggregateSymbol(AggregateSymbol newCopy) voidAggregateSymbol.setApplication(AggregateSymbol application) Constructor parameters in org.ek9lang.compiler.symbols with type arguments of type AggregateSymbolModifierConstructorDescriptionFunctionSymbol(String name, IScope enclosingScope, List<AggregateSymbol> typeParameterOrArguments) A function that can be parameterised, i.e.