Uses of Interface
org.ek9lang.compiler.symbols.IAggregateSymbol
Packages that use IAggregateSymbol
Package
Description
Common parts of processing that can be reused across various phases.
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.
H - Generic/Parameterised types can have their methods checked when used in specific contexts.
I - PRE Intermediate Representation generation checks.
Synthetic operator and method generation for EK9.
Used primarily to hold structures that are related to searching for symbols.
Contains critical general components used in the
Ek9Compiler listeners.
This is the main source of EK9 Symbols used within the compiler.
-
Uses of IAggregateSymbol in org.ek9lang.compiler.common
Classes in org.ek9lang.compiler.common that implement interfaces with type arguments of type IAggregateSymbolModifier and TypeClassDescriptionclassPredicate to see if an aggregate mandated pure in its construction.final classPredicate to check if an aggregate type has a close() operator defined.final classTHE shared test for "is this type orderable?" - does it have a REAL<=>operator, one it declares itself or inherits from a real (user) super, as opposed to only the degenerateAny._cmpthat EVERY type inherits and which is not value ordering.final classTHE shared test for "does this type have a REAL<operator>?" - one it declares itself or inherits from a real (user) super OR from a trait (its own, a super's, or a trait's trait), as opposed to only the degenerateAny.<operator>that EVERY type inherits (e.g.Methods in org.ek9lang.compiler.common that return IAggregateSymbolModifier and TypeMethodDescriptionMethodAndAggregateData.aggregateSymbol()Returns the value of theaggregateSymbolrecord component.Methods in org.ek9lang.compiler.common with parameters of type IAggregateSymbolModifier and TypeMethodDescriptionbooleanAggregateHasPureConstruction.test(IAggregateSymbol aggregateSymbol) booleanHasCloseOperator.test(IAggregateSymbol aggregate) booleanHasRealComparator.test(IAggregateSymbol type) booleanHasRealOperator.test(IAggregateSymbol type) Constructors in org.ek9lang.compiler.common with parameters of type IAggregateSymbolModifierConstructorDescriptionMethodAndAggregateData(MethodSymbol methodSymbol, IAggregateSymbol aggregateSymbol) Creates an instance of aMethodAndAggregateDatarecord class. -
Uses of IAggregateSymbol in org.ek9lang.compiler.phase2
Classes in org.ek9lang.compiler.phase2 that implement interfaces with type arguments of type IAggregateSymbolModifier and TypeClassDescription(package private) final classSets theCONCURRENT_ENTRY_POINT = "TRUE"squirrelled marker on every non-constructor, non-operator, concrete method of the supplied aggregate.(package private) final classExamines all the service operations on a service and looks at the verbs used and the uri proto paths.(package private) final classSome aggregates like classes, components, etc.(package private) final classDoes a simple check (excluding any inheritance) for visibility rules on methods/operators on aggregates.Methods in org.ek9lang.compiler.phase2 that return IAggregateSymbolModifier and TypeMethodDescriptionPostPassSites.DefaultOperatorSite.aggregate()Returns the value of theaggregaterecord component.Methods in org.ek9lang.compiler.phase2 that return types with arguments of type IAggregateSymbolModifier and TypeMethodDescription(package private) Map<IAggregateSymbol, IToken> PostPassSites.bareDefaultTokens()The 'default' token of an aggregate's bare 'default operator' (the last one, if it has several).(package private) Map<IAggregateSymbol, ParsedModule> PostPassSites.samenessDeclaredIn()The aggregates whose sameness is completed (not built-in, not Java-backed), in walk order, with their module.Methods in org.ek9lang.compiler.phase2 with parameters of type IAggregateSymbolModifier and TypeMethodDescriptionvoidMarkMethodsAsConcurrentEntryPoint.accept(IAggregateSymbol aggregate) voidNoDuplicatedServicePathsOrError.accept(IAggregateSymbol service) voidSyntheticConstructorCreator.accept(IAggregateSymbol aggregate) voidVisibilityOfOperationsOrError.accept(IAggregateSymbol aggregate) Constructors in org.ek9lang.compiler.phase2 with parameters of type IAggregateSymbolModifierConstructorDescription(package private)DefaultOperatorSite(EK9Parser.DefaultOperatorContext ctx, IAggregateSymbol aggregate, ParsedModule parsedModule) Creates an instance of aDefaultOperatorSiterecord class. -
Uses of IAggregateSymbol in org.ek9lang.compiler.phase3
Classes in org.ek9lang.compiler.phase3 that implement interfaces with type arguments of type IAggregateSymbolModifier and TypeClassDescription(package private) final classGiven a 'type' (the IAggregateSymbol passed in), see it would be possible to iterator over it with some other type.(package private) final classGiven an aggregate and a symbol, this predicate checks if the symbol is a property/field of that aggregate.(package private) final classUsed for resolving operation calls on aggregates, which can include properties that are delegates to functions.(package private) final classAccesses the aggregate and gets just the 'default' operators defined on that aggregate (not any hierarchy).(package private) final classEvery EK9 constructor chains to a super constructor: an explicitsuper(...), an explicitthis(...)delegation, or - when neither is written - a hidden IMPLICITsuper()to the super's no-arg constructor.(package private) final classGets the abstract methods and then resolves each to see what the resulting method would be.Methods in org.ek9lang.compiler.phase3 that return IAggregateSymbolModifier and TypeMethodDescriptionAggregateMethodData.aggregate()Returns the value of theaggregaterecord component.StreamAggregateCheckData.aggregateSymbol()Returns the value of theaggregateSymbolrecord component.Methods in org.ek9lang.compiler.phase3 with parameters of type IAggregateSymbolModifier and TypeMethodDescriptionvoidSuperConstructorAccessOrError.accept(IAggregateSymbol aggregate) voidTraverseAbstractMethods.accept(IAggregateSymbol aggregateSymbol, Consumer<MethodSymbol> actionToTake) GetIteratorType.apply(IAggregateSymbol aggregate) OperationCallOrError.apply(EK9Parser.OperationCallContext ctx, IAggregateSymbol aggregate) RetrieveDefaultedOperators.apply(IAggregateSymbol aggregate) (package private) CommonValuesGetIteratorType.determineIterationPattern(IAggregateSymbol aggregate) Determine which iteration pattern an (already-confirmed iterable) aggregate uses.booleanIsPropertyOfAggregate.test(IAggregateSymbol aggregate, ISymbol possibleProperty) Constructors in org.ek9lang.compiler.phase3 with parameters of type IAggregateSymbolModifierConstructorDescription(package private)AggregateMethodData(IToken location, IAggregateSymbol aggregate, MethodSymbol methodSymbol) Creates an instance of aAggregateMethodDatarecord class.(package private)StreamAggregateCheckData(org.antlr.v4.runtime.Token errorLocation, IAggregateSymbol aggregateSymbol, ISymbol symbolType) Creates an instance of aStreamAggregateCheckDatarecord class. -
Uses of IAggregateSymbol in org.ek9lang.compiler.phase4
Constructor parameters in org.ek9lang.compiler.phase4 with type arguments of type IAggregateSymbolModifierConstructorDescription(package private)ParameterisedTypeOrError(ISymbol ek9Any, ErrorListener errorListener, Map<IAggregateSymbol, List<MethodSymbol>> accessedMethodsByT) Create the check. -
Uses of IAggregateSymbol in org.ek9lang.compiler.phase5
Methods in org.ek9lang.compiler.phase5 with parameters of type IAggregateSymbolModifier and TypeMethodDescription(package private) voidCohesionTracker.accountForDefaultOperators(IAggregateSymbol aggregate) Account for default operators which implicitly access all fields.(package private) List<TraitImplementationAnalyzer.TraitAnalysis> TraitImplementationAnalyzer.analyzeTraitsWithoutDelegation(IAggregateSymbol aggregate, EK9Parser.TraitsListContext traitsListContext) Analyze traits implemented WITHOUT 'by' delegation to detect potential E11023 patterns.(package private) FieldClassifier.FieldCountsFieldClassifier.classify(IAggregateSymbol aggregate, EK9Parser.TraitsListContext traitsListContext) Classify all fields of an aggregate.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.TraitMethodConflictDetector.findConflictingMethodSignatures(IAggregateSymbol aggregate) Find method signatures that appear in multiple traits implemented by this aggregate.(package private) booleanTraitMethodConflictDetector.hasConflict(IAggregateSymbol aggregate, String methodName) Check if a specific method (by name) has a conflict across traits. -
Uses of IAggregateSymbol in org.ek9lang.compiler.phase5.construction
Methods in org.ek9lang.compiler.phase5.construction that return IAggregateSymbolModifier and TypeMethodDescriptionConstructionEdges.InstanceInitTarget.aggregate()Returns the value of theaggregaterecord component.Constructors in org.ek9lang.compiler.phase5.construction with parameters of type IAggregateSymbolModifierConstructorDescriptionInstanceInitTarget(IAggregateSymbol aggregate) Creates an instance of aInstanceInitTargetrecord class. -
Uses of IAggregateSymbol in org.ek9lang.compiler.phase7.generator
Methods in org.ek9lang.compiler.phase7.generator that return IAggregateSymbolModifier and TypeMethodDescriptionIteratorSetup.collectionType()Returns the value of thecollectionTyperecord component.BucketTracker.producesType()Returns the value of theproducesTyperecord component.IteratorSetup.type()Returns the value of thetyperecord component.TerminalSetup.type()Returns the value of thetyperecord component.Methods in org.ek9lang.compiler.phase7.generator with parameters of type IAggregateSymbolModifier and TypeMethodDescription(package private) SortSetupStreamEmissionEngine.applySortToCollection(List<EK9Parser.StreamPartContext> stages, IteratorSetup iteratorSetup, ISymbol elementType, IAggregateSymbol collectionType, DebugInfo debugInfo, List<IRInstr> instructions, boolean sourceUnbounded) StreamPipelineMachinery.generatePipelineItemBinding(String iteratorVar, IAggregateSymbol iteratorType, String pipelineItemVar, ISymbol elementType, DebugInfo debugInfo, boolean rawIterator) Generate: pipelineItem = iterator.next() Follows ForInGenerator.generateLoopVariableBinding() pattern.Constructors in org.ek9lang.compiler.phase7.generator with parameters of type IAggregateSymbolModifierConstructorDescription(package private)BucketTracker(String variable, String helperType, IAggregateSymbol producesType) Creates an instance of aBucketTrackerrecord class.(package private)IteratorSetup(String variable, IAggregateSymbol type, String collectionVar, IAggregateSymbol collectionType) Creates an instance of aIteratorSetuprecord class.(package private)TerminalSetup(String variable, IAggregateSymbol type, MethodSymbol resolvedPipeMethod, ISymbol consumesType, boolean promotionRequired) Creates an instance of aTerminalSetuprecord class. -
Uses of IAggregateSymbol in org.ek9lang.compiler.phase7.support
Methods in org.ek9lang.compiler.phase7.support that return types with arguments of type IAggregateSymbolModifier and TypeMethodDescriptionstatic Optional<IAggregateSymbol> EnumTypeHelper.baseEnumOf(IAggregateSymbol type) The base enum aggregate whentypeis a CONSTRAINED enum (i.e.static Optional<IAggregateSymbol> EnumTypeHelper.baseEnumOf(ISymbol type) Convenience for callers holding anISymbol: the base enum when it is a constrained enum type.Methods in org.ek9lang.compiler.phase7.support with parameters of type IAggregateSymbolModifier and TypeMethodDescriptionstatic Optional<IAggregateSymbol> EnumTypeHelper.baseEnumOf(IAggregateSymbol type) The base enum aggregate whentypeis a CONSTRAINED enum (i.e.static booleanEnumTypeHelper.isConstrainedEnum(IAggregateSymbol type) True iftypeis a constrained enum (a base enum returns false).static booleanEnumTypeHelper.isEnumeration(IAggregateSymbol type) True iftypeis an enumeration TYPE — a base enum or a constrained enum.static ConstrainedEnumSubsetConstrainedEnumSubset.of(AggregateSymbol constrainedType, IAggregateSymbol baseEnum) The subset ofbaseEnumadmitted byconstrainedType's constraint. -
Uses of IAggregateSymbol in org.ek9lang.compiler.phase7.synthesis
Methods in org.ek9lang.compiler.phase7.synthesis with parameters of type IAggregateSymbolModifier and TypeMethodDescriptionprotected booleanAbstractSyntheticGenerator.isAnyType(IAggregateSymbol type) Check if the given type is the Any type.protected StringAbstractSyntheticGenerator.servingOperatorParameterTypeName(IAggregateSymbol aggregate, String jvmMethodName) The parameter type of the operator that actually servesthis <op> otherwhenotheris this aggregate too - THE descriptor a synthesised delegation (<>to==,<and the rest to<=>) must call. -
Uses of IAggregateSymbol in org.ek9lang.compiler.search
Methods in org.ek9lang.compiler.search with parameters of type IAggregateSymbolModifier and TypeMethodDescriptionFuzzySymbolSearch.findSimilarMethods(IAggregateSymbol aggregate, String methodName) Search for methods with names similar to the target method name in the given aggregate and its super aggregates.FuzzySymbolSearch.findSimilarProperties(IAggregateSymbol aggregate, String propertyName) Search for properties with names similar to the target property name in the given aggregate. -
Uses of IAggregateSymbol in org.ek9lang.compiler.support
Classes in org.ek9lang.compiler.support that implement interfaces with type arguments of type IAggregateSymbolModifier and TypeClassDescription(package private) classDeals with normal operators (i.e.final classIf the aggregate is a generic parameterised type this function triggers a check for duplicated methods.final classDoes a simple check (excluding any inheritance) for duplicated operations (methods, operators) on any sort of Aggregate, i.e.Fields in org.ek9lang.compiler.support with type parameters of type IAggregateSymbolModifier and TypeFieldDescription(package private) final Function<IAggregateSymbol, String> CheckAndPopulateOperator.messageForMethods in org.ek9lang.compiler.support that return types with arguments of type IAggregateSymbolModifier and TypeMethodDescriptionConstructionSteps.implicitSuper()Returns the value of theimplicitSuperrecord component.static List<IAggregateSymbol> OverriddenDeclarations.parentsOf(IAggregateSymbol aggregate) The parents a method can override: the super class, then each trait.Methods in org.ek9lang.compiler.support with parameters of type IAggregateSymbolModifier and TypeMethodDescriptionvoidCheckForDuplicateOperationsOnGeneric.accept(IToken errorLocationToken, IAggregateSymbol aggregate) voidNoDuplicateOperationsOrError.accept(IToken errorLocationToken, IAggregateSymbol aggregate) voidNoDuplicateOperationsOrError.acceptImplementedOnly(IToken errorLocationToken, IAggregateSymbol aggregate) The duplicate check over the construct's IMPLEMENTED (non-abstract) methods only - for a text locale variant.voidAggregateManipulator.addAllSyntheticOperators(IAggregateSymbol t) Add all possible synthetic operators to the aggregate.AggregateManipulator.addComparatorOperator(IAggregateSymbol aggregateSymbol, String comparatorType, Optional<ISymbol> returnType) Adds a form of a comparison operator.voidAggregateManipulator.addComparatorOperator(IAggregateSymbol aggregateSymbol, IAggregateSymbol arg0, String comparatorType, Optional<ISymbol> returnType) Adds a form of a comparison operator.voidAggregateManipulator.addConstrainingTypeConstructors(IAggregateSymbol t, IAggregateSymbol constrainingType) Clone the constraining type's constructors onto a constrained 'T', so T can be constructed with the same arguments (implemented as a call to the super).AggregateManipulator.addConstructor(IAggregateSymbol t) Create a new constructor for the aggregate with no params.voidAggregateManipulator.addConstructor(IAggregateSymbol aggregateSymbol, List<ISymbol> constructorArguments, boolean synthetic, boolean markedPure) voidAggregateManipulator.addConstructorIfRequired(IAggregateSymbol aggregateSymbol, List<ISymbol> constructorArguments, boolean synthetic) Add a new constructor if not present, marked as synthetic.booleanOperationFactory.addMissingDefaultOperators(EK9Parser.DefaultOperatorContext ctx, IAggregateSymbol aggregate) A bit of a beast this method.booleanSymbolFactory.addMissingDefaultOperators(EK9Parser.DefaultOperatorContext ctx, IAggregateSymbol aggregate) A bit of a beast this method.voidAggregateManipulator.addMutatingVoidOperator(IAggregateSymbol aggregate, String operatorName) Creates a public mutating operator that takes no arguments and returns void.voidAggregateManipulator.addPurePublicReturnSameTypeMethod(IAggregateSymbol aggregate, String methodName) AggregateManipulator.addPurePublicSimpleOperator(IAggregateSymbol aggregateSymbol, String methodName, Optional<ISymbol> returnType) Adds a simple operator, that is 'pure' (no side effects) and accepts no parameters, but just returns a value.voidAggregateManipulator.addSyntheticConstructorIfRequired(IAggregateSymbol aggregateSymbol) Add a synthetic constructor, if a constructor is not present.voidAggregateManipulator.addSyntheticConstructorIfRequired(IAggregateSymbol aggregateSymbol, List<ISymbol> constructorArguments) Add a synthetic constructor, if a constructor is not present.CheckAndPopulateOperator.apply(EK9Parser.OperatorDeclarationContext ctx, IAggregateSymbol aggregate) static List<MethodSymbol> DispatcherHandlers.collectFor(IAggregateSymbol aggregate, MethodSymbol dispatcher) The handlers fordispatcheronaggregate: every non-abstract, non-constructor, non-operator, non-dispatcher method across the inheritance chain with the same name and arity.voidOperationFactory.completeBareDefaultOperators(EK9Parser.DefaultOperatorContext ctx, IAggregateSymbol aggregate) Completes a bare 'default operator' once types are known - THE second half ofOperationFactory.addMissingDefaultOperators(EK9Parser.DefaultOperatorContext, IAggregateSymbol).voidSymbolFactory.completeBareDefaultOperators(EK9Parser.DefaultOperatorContext ctx, IAggregateSymbol aggregate) Completes a bare 'default operator' once types are known: the self-typed defaults a same-NAME operator taking a different argument hid from phase 1 (FE74, F2).voidOperationFactory.completeSameness(IAggregateSymbol aggregate, IToken bareToken) THE completion of a type's sameness once types are known (B18 - a type defines sameness once; Steve, 2026-09-30).voidSymbolFactory.completeSameness(IAggregateSymbol aggregate, IToken bareToken) Completes a type's sameness once types are known (B18).AggregateManipulator.createMutatingVoidOperator(IAggregateSymbol aggregateSymbol, String operatorName) Creates a mutating void operator with no parameters.AggregateManipulator.createMutatorOperator(IAggregateSymbol aggregateSymbol, String operatorType) Create an operator of the name supplied.AggregateManipulator.createMutatorOperatorReturnVoid(IAggregateSymbol aggregateSymbol, String operatorType) Create an operator of the name supplied.AggregateManipulator.createOperator(IAggregateSymbol aggregateSymbol, String operatorType, boolean isPure) Create an operator of the name supplied.AggregateManipulator.createPureAcceptSameTypeOperatorAndReturnType(IAggregateSymbol aggregateSymbol, String comparatorType, Optional<ISymbol> returnType) Creates a pure method with an argument the same as the main type.AggregateManipulator.createPureArgumentOperatorAndReturnType(IAggregateSymbol aggregateSymbol, IAggregateSymbol arg0, String comparatorType, Optional<ISymbol> returnType) Creates a pure method with an argument of a different type as the main type.AggregateManipulator.createPurePublicReturnSameTypeMethod(IAggregateSymbol aggregateSymbol, String methodName) AggregateManipulator.createPurePublicSimpleOperator(IAggregateSymbol aggregateSymbol, String methodName, Optional<ISymbol> returnType) Just creates a public operator with the name specified.AggregateManipulator.createToJsonSimpleOperator(IAggregateSymbol aggregateSymbol) Create operator for json.static List<MethodSymbol> DispatcherHandlers.entryPointsOf(IAggregateSymbol aggregate) THE dispatcher entry points of an aggregate: every non-operator method markedas dispatcher, drawn from the FULL inheritance chain.booleanNoNameCollisionOrError.errorsIfLocalNamedLikeAMethod(IAggregateSymbol aggregate, ISymbol symbol) A LOCAL variable may not take the name of a method of the type it is declared in (its own - private included - or one it inherits or takes from a trait, unless that one is private and so unreachable here):total <- total()means a value on the left and a call on the right, and with the local in scope a bare 'total()' no longer reaches the method (it surfaced as E50010 'type not resolved', 2026-10-01).DefaultedComparisonDelegate.forAggregate(IAggregateSymbol aggregate, ISymbol ek9Any) DefaultedComparisonDelegate.of(IAggregateSymbol, MethodSymbol, ISymbol)for the operators of ONE aggregate, for a caller that asks about each of them in turn: the type's facts - whether it has its own comparator or a hand-written==, and which<=>and==serve it - are worked out at most once, not once per operator.static StringCallableIdentity.forInstanceInit(IAggregateSymbol aggregate) The call-graph identity of an aggregate's property initialisers -module::Aggregate._i_init(), the method the generated code runs them in, and the name a stack trace shows.AggregateManipulator.getAllPossibleDefaultOperators(IAggregateSymbol aggregate) Provides all the possible default operators.(package private) List<MethodSymbol> OperatorFactory.getAllPossibleDefaultOperators(IAggregateSymbol aggregate) (package private) List<MethodSymbol> OperatorFactory.getAllPossibleSyntheticOperators(IAggregateSymbol aggregate) AggregateManipulator.getDefaultOperator(IAggregateSymbol aggregate, String operator) If the operator provided can be defaulted then a Method symbol with the correct signature will be returned.(package private) MethodSymbolOperatorFactory.getDefaultOperator(IAggregateSymbol aggregate, String operator) static booleanDefaultedComparisonDelegate.hasHandWrittenEquality(IAggregateSymbol aggregate) True when the developer wrote an==that takes the type itself (not a defaulted one).static booleanDefaultedComparisonDelegate.hasOwnComparator(IAggregateSymbol aggregate, ISymbol ek9Any) True when the aggregate has its own REAL<=>that takes itself - hand-written, or defaulted (and not retracted) over fields that can all really be ordered.static Optional<MethodSymbol> Sameness.inheritedSameness(IAggregateSymbol aggregate, ISymbol ek9Any) The concrete sameness this type INHERITS - from its super chain (stopping beforeAny) or any of its traits (its own, a super's, a trait's trait) - if any.static booleanSameness.isDerivedComparison(IAggregateSymbol owner, MethodSymbol operator) True for a<><<=>>=comparing the owner with itself - always generated from the sameness, never written.static booleanSameness.isSamenessOperator(IAggregateSymbol owner, MethodSymbol operator) True for a<=>or==comparing the owner with itself - a declaration of its sameness.static booleanSameness.isSelfComparison(IAggregateSymbol owner, MethodSymbol operator) True for an operator taking exactly one argument of a type the owner is assignable to.OverriddenDeclarations.narrowedReturnTypes(IAggregateSymbol aggregate, MethodSymbol method) The return types of the (non-private) parent declarations this method overrides with a NARROWER - covariant - return, one per distinct type.OperationFactory.newOperator(EK9Parser.OperatorDeclarationContext ctx, IAggregateSymbol aggregate) Create a new aggregate that represents an EK9 operator, uses a method for this.SymbolFactory.newOperator(EK9Parser.OperatorDeclarationContext ctx, IAggregateSymbol aggregate) Create a new aggregate that represents an EK9 operator, uses a method for this.static ISymbolConstrainedBase.of(IAggregateSymbol aggregate) The base typeaggregateconstrains, or null when it has no such constructor (so it is not a constrained type, or the compiler did not synthesise one).static Optional<MethodSymbol> DefaultedComparisonDelegate.of(IAggregateSymbol aggregate, MethodSymbol operator, ISymbol ek9Any) The operator a generated comparison delegates to, resolved on the type (its own, a super's or a trait's).static List<MethodSymbol> OverriddenDeclarations.of(IAggregateSymbol aggregate, MethodSymbol method) Every parent declaration with exactly this method's signature - at most one per parent - private ones included: a private parent member is not inherited, so not overridden, and the caller decides what that means.static Optional<MethodSymbol> InheritedDispatcher.overriddenEntryPoint(IAggregateSymbol aggregate, MethodSymbol entryPoint) The super's entry point that a sub-type's entry point overrides: the super's effective dispatcher method with exactly the same signature.static List<IAggregateSymbol> OverriddenDeclarations.parentsOf(IAggregateSymbol aggregate) The parents a method can override: the super class, then each trait.static Optional<MethodSymbol> DefaultOperatorCoverage.servingOwnOperator(IAggregateSymbol aggregate, String operator) The type's own operator that already servesdefault operator <operator>, if any.booleanAggregateManipulator.superHasAccessibleNoArgConstructor(IAggregateSymbol aggregateSymbol) THE test of whether an implicitsuper()from this aggregate can reach its super: true when there is no real super (none, or the implicitAny), or the super has a no-argument constructor that is not private.voidAggregateManipulator.updateToConstrainBy(IAggregateSymbol t, IAggregateSymbol constrainingType) This is the idea where a 'T' is constrained to only be a type or a subtype of that type.Constructor parameters in org.ek9lang.compiler.support with type arguments of type IAggregateSymbolModifierConstructorDescriptionConstructionSteps(Optional<IAggregateSymbol> implicitSuper, boolean runsInstanceInit) Creates an instance of aConstructionStepsrecord class. -
Uses of IAggregateSymbol in org.ek9lang.compiler.symbols
Classes in org.ek9lang.compiler.symbols that implement IAggregateSymbolModifier and TypeClassDescriptionclassThis is typically a 'class' or an interface type where it can include the definitions of new properties.classAn 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 types with arguments of type IAggregateSymbolModifier and TypeMethodDescriptionAggregateWithTraitsSymbol.getAllowedExtenders()AggregateSymbol.getSuperAggregate()default Optional<IAggregateSymbol> IAggregateSymbol.getSuperAggregate()AggregateWithTraitsSymbol.getTraits()Get the traits that this aggregates implements.default List<IAggregateSymbol> IAggregateSymbol.getTraits()Methods in org.ek9lang.compiler.symbols with parameters of type IAggregateSymbolModifier and TypeMethodDescriptionvoidAggregateWithTraitsSymbol.addAllowedExtender(IAggregateSymbol extenderSymbol) For use with constraining types to be limited to a declared set.booleanAggregateSymbol.hasImmediateSuper(IAggregateSymbol theSuper) booleanAggregateWithTraitsSymbol.hasImmediateTrait(IAggregateSymbol trait) Does this aggregate have the trait passed in as an immediate trait.booleanAggregateWithTraitsSymbol.isAllowingExtensionBy(IAggregateSymbol extenderSymbol) Is the extender allowed to implement this aggregate (normally a trait).booleanAggregateSymbol.isImplementingInSomeWay(IAggregateSymbol aggregate) booleanAggregateWithTraitsSymbol.isImplementingInSomeWay(IAggregateSymbol traitSymbol) default booleanIAggregateSymbol.isImplementingInSomeWay(IAggregateSymbol aggregate) Only really used by aggregates that can have one or more traits.booleanAggregateSymbol.isInAggregateHierarchy(IAggregateSymbol theAggregateToCheck) Does the aggregate passed in exist in this type hierarchy.booleanIAggregateSymbol.isInAggregateHierarchy(IAggregateSymbol theAggregateToCheck) voidAggregateSymbol.setSuperAggregate(IAggregateSymbol baseSymbol) default voidIAggregateSymbol.setSuperAggregate(IAggregateSymbol superAggregateSymbol) Method parameters in org.ek9lang.compiler.symbols with type arguments of type IAggregateSymbolModifier and TypeMethodDescriptionvoidAggregateSymbol.setSuperAggregate(Optional<IAggregateSymbol> superAggregate) Set the 'super' of this type.default voidIAggregateSymbol.setSuperAggregate(Optional<IAggregateSymbol> superAggregate)