Uses of Class
org.ek9lang.compiler.symbols.AggregateWithTraitsSymbol
Packages that use AggregateWithTraitsSymbol
Package
Description
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.
K - Intermediate Representation Generation.
Contains critical general components used in the
Ek9Compiler listeners.
This is the main source of EK9 Symbols used within the compiler.
-
Uses of AggregateWithTraitsSymbol in org.ek9lang.compiler.phase2
Classes in org.ek9lang.compiler.phase2 that implement interfaces with type arguments of type AggregateWithTraitsSymbolModifier and TypeClassDescription(package private) final classResolves each class in an 'allowingOnly' list (checking it is a suitable CLASS genus) and registers it as an allowed extender of the supplied aggregate.(package private) final classResolves each trait in a 'traitsList' (checking it is a suitable CLASS_TRAIT to extend) and adds it to the supplied aggregate.(package private) final classChecks for duplicated trait names on an aggregate (E02050).(package private) final classA trait listed beside another listed trait that already has it -with trait of LoudSpeaker, SpeakerwhereLoudSpeaker with trait of Speaker- is E02090 (Steve, 2026-10-11): the second name adds nothing, and it used to surface in FULL_RESOLUTION as E06150 "method 'speak' on 'Speaker' and 'Speaker'", one trait named twice.Methods in org.ek9lang.compiler.phase2 with parameters of type AggregateWithTraitsSymbolModifier and TypeMethodDescriptionvoidApplyAllowingOnlyOrError.accept(EK9Parser.AllowingOnlyContext allowingOnly, AggregateWithTraitsSymbol target) voidApplyTraitsOrError.accept(EK9Parser.TraitsListContext traitsList, AggregateWithTraitsSymbol target) voidNoDuplicatedTraitsOrError.accept(AggregateWithTraitsSymbol aggregate) voidNoRedundantTraitsOrError.accept(AggregateWithTraitsSymbol aggregate) -
Uses of AggregateWithTraitsSymbol in org.ek9lang.compiler.phase3
Classes in org.ek9lang.compiler.phase3 that implement interfaces with type arguments of type AggregateWithTraitsSymbolModifier and TypeClassDescription(package private) final classDesigned to add in methods on the aggregate where the 'traits' use is 'traits by'.(package private) final classA trait may not supply a dispatcher handler (E07825, front-end rationalisation D21, Steve 2026-10-20): a dispatcher and every one of its handlers live in one class hierarchy.(package private) final classUsed where traits are implemented 'by' a variable.(package private) final classUsed where traits are implemented 'by' a variable.Methods in org.ek9lang.compiler.phase3 with parameters of type AggregateWithTraitsSymbolModifier and TypeMethodDescriptionvoidAugmentAggregateWithTraitMethods.accept(EK9Parser.TraitsListContext traitsListContext, AggregateWithTraitsSymbol aggregate) voidDispatcherHandlerInTraitOrError.accept(EK9Parser.TraitsListContext traitsListContext, AggregateWithTraitsSymbol aggregate) voidNoTraitByVariablesOrError.accept(EK9Parser.TraitsListContext traitsListContext, AggregateWithTraitsSymbol aggregate) voidResolveByTraitVariables.accept(EK9Parser.TraitsListContext traitsListContext, AggregateWithTraitsSymbol aggregate) -
Uses of AggregateWithTraitsSymbol in org.ek9lang.compiler.phase7
Classes in org.ek9lang.compiler.phase7 that implement interfaces with type arguments of type AggregateWithTraitsSymbolModifier and TypeClassDescriptionfinal classCreates the appropriate IR Construct for a dynamic class declaration (anonymous inline class).Methods in org.ek9lang.compiler.phase7 with parameters of type AggregateWithTraitsSymbolModifier and TypeMethodDescriptionDynamicClassDfnGenerator.apply(AggregateWithTraitsSymbol symbol, EK9Parser.DynamicClassDeclarationContext ctx) -
Uses of AggregateWithTraitsSymbol in org.ek9lang.compiler.phase7.support
Methods in org.ek9lang.compiler.phase7.support that return AggregateWithTraitsSymbolModifier and TypeMethodDescriptionDynamicConstructMonomorphisation.of(IRGenerationContext stackContext, AggregateWithTraitsSymbol dynamicClass) The dynamic class to generate and construct for the monomorphisation in progress.Methods in org.ek9lang.compiler.phase7.support with parameters of type AggregateWithTraitsSymbolModifier and TypeMethodDescriptionDynamicConstructMonomorphisation.of(IRGenerationContext stackContext, AggregateWithTraitsSymbol dynamicClass) The dynamic class to generate and construct for the monomorphisation in progress. -
Uses of AggregateWithTraitsSymbol in org.ek9lang.compiler.support
Methods in org.ek9lang.compiler.support that return AggregateWithTraitsSymbolModifier and TypeMethodDescriptionAggregateFactory.newClass(EK9Parser.ClassDeclarationContext ctx) Create a new aggregate that represents an EK9 class.SymbolFactory.newClass(EK9Parser.ClassDeclarationContext ctx) Create a new aggregate that represents an EK9 class.AggregateFactory.newComponent(EK9Parser.ComponentDeclarationContext ctx) Create a new aggregate that represents an EK9 component.SymbolFactory.newComponent(EK9Parser.ComponentDeclarationContext ctx) Create a new aggregate that represents an EK9 component.AggregateFactory.newDynamicClass(IScopedSymbol enclosingMainTypeOrFunction, EK9Parser.DynamicClassDeclarationContext ctx) Create a new aggregate that represents an EK9 dynamic class.SymbolFactory.newDynamicClass(IScopedSymbol enclosingMainTypeOrFunction, EK9Parser.DynamicClassDeclarationContext ctx) Create a new aggregate that represents an EK9 dynamic class.AggregateFactory.newTrait(EK9Parser.TraitDeclarationContext ctx) Create a new aggregate that represents an EK9 trait.SymbolFactory.newTrait(EK9Parser.TraitDeclarationContext ctx) Create a new aggregate that represents an EK9 trait. -
Uses of AggregateWithTraitsSymbol in org.ek9lang.compiler.symbols
Methods in org.ek9lang.compiler.symbols that return AggregateWithTraitsSymbolModifier and TypeMethodDescriptionprotected AggregateWithTraitsSymbolAggregateWithTraitsSymbol.cloneIntoAggregateWithTraitsSymbol(AggregateWithTraitsSymbol newCopy) AggregateWithTraitsSymbol.cloneWithoutMembers(IScope withParentAsAppropriate) A copy of this aggregate, everything but its members - for a caller that clones the members onto the copy, re-types them and then defines them (a constructor renamed after it was defined could no longer be found by its name).Methods in org.ek9lang.compiler.symbols that return types with arguments of type AggregateWithTraitsSymbolModifier and TypeMethodDescriptionAggregateWithTraitsSymbol.getAllExtensionConstrainedTraits()Gets all sealed ancestors (traits AND super classes) that have extension constraints.default List<AggregateWithTraitsSymbol> IAggregateSymbol.getAllExtensionConstrainedTraits()AggregateSymbol.getAllTraits()AggregateWithTraitsSymbol.getAllTraits()Get all the traits this aggregate implements - this means all the traits any of these traits extends.default List<AggregateWithTraitsSymbol> IAggregateSymbol.getAllTraits()Methods in org.ek9lang.compiler.symbols with parameters of type AggregateWithTraitsSymbolModifier and TypeMethodDescriptionvoidAggregateWithTraitsSymbol.addTrait(AggregateWithTraitsSymbol traitSymbol) mark this aggregate as having additional 'trait'.protected AggregateWithTraitsSymbolAggregateWithTraitsSymbol.cloneIntoAggregateWithTraitsSymbol(AggregateWithTraitsSymbol newCopy) voidAggregateWithTraitsSymbol.markTraitDelegated(AggregateWithTraitsSymbol traitSymbol) Mark a trait this aggregate lists as delegated (with trait of Walker by walker).Method parameters in org.ek9lang.compiler.symbols with type arguments of type AggregateWithTraitsSymbolModifier and TypeMethodDescriptionprotected voidAggregateSymbol.addTraitsIfNotPresent(List<AggregateWithTraitsSymbol> exiting, List<AggregateWithTraitsSymbol> additions) voidAggregateWithTraitsSymbol.replaceTraits(UnaryOperator<AggregateWithTraitsSymbol> replacement) Replace each immediate trait with the traitreplacementgives for it, keeping their order.