Uses of Class
org.ek9lang.compiler.symbols.PossibleGenericSymbol
Packages that use PossibleGenericSymbol
Package
Description
B - For the EK9 compiler itself.
Common parts of processing that can be reused across various phases.
G - Full Symbol Resolution can now take place.
H - Generic/Parameterised types can have their methods checked when used in specific contexts.
Contains critical general components used in the
Ek9Compiler
listeners.
This is the main source of EK9 Symbols used within the compiler.
-
Uses of PossibleGenericSymbol in org.ek9lang.compiler
Methods in org.ek9lang.compiler that return types with arguments of type PossibleGenericSymbolModifier and TypeMethodDescriptionResolvedOrDefineResult.symbol()
Returns the value of thesymbol
record component.Methods in org.ek9lang.compiler with parameters of type PossibleGenericSymbolModifier and TypeMethodDescriptionCompilableProgram.resolveOrDefine
(PossibleGenericSymbol possibleGenericSymbol) When using generic types, the parameterised type goes into the same module namespace as the Generic Type.Constructor parameters in org.ek9lang.compiler with type arguments of type PossibleGenericSymbolModifierConstructorDescriptionResolvedOrDefineResult
(Optional<PossibleGenericSymbol> symbol, boolean newlyDefined) Creates an instance of aResolvedOrDefineResult
record class. -
Uses of PossibleGenericSymbol in org.ek9lang.compiler.common
Methods in org.ek9lang.compiler.common with parameters of type PossibleGenericSymbolModifier and TypeMethodDescriptionSymbolsAndScopes.resolveOrDefine
(PossibleGenericSymbol parameterisedSymbol, ErrorListener errorListener) -
Uses of PossibleGenericSymbol in org.ek9lang.compiler.phase3
Classes in org.ek9lang.compiler.phase3 that implement interfaces with type arguments of type PossibleGenericSymbolModifier and TypeClassDescription(package private) final class
Provides the PossibleGenericSymbol type of the symbol if it has been typed, or empty.Methods in org.ek9lang.compiler.phase3 that return types with arguments of type PossibleGenericSymbolModifier and TypeMethodDescription -
Uses of PossibleGenericSymbol in org.ek9lang.compiler.phase4
Classes in org.ek9lang.compiler.phase4 that implement interfaces with type arguments of type PossibleGenericSymbolModifier and TypeClassDescription(package private) final class
Does the detailed for of checking a specific possible generic symbol.Methods in org.ek9lang.compiler.phase4 with parameters of type PossibleGenericSymbolModifier and TypeMethodDescriptionvoid
ParameterisedTypeOrError.accept
(PossibleGenericSymbol possibleGenericSymbol) -
Uses of PossibleGenericSymbol in org.ek9lang.compiler.support
Classes in org.ek9lang.compiler.support that implement interfaces with type arguments of type PossibleGenericSymbolModifier and TypeClassDescriptionclass
Given some sort of generic type a function or a type with a set of 'type parameters', create a unique internal name for that combination.class
This will just create an Aggregate/Function 'parameterized type' of the 'generic type' with the 'type arguments' But note it will have not - repeat NOT have - traversed the 'generic type' and cloned over the methods and altered all the 'T', 'K', 'V' - 'type parameters' for each of the 'type arguments' There is a separate function (TypeSubstitution) that does that.class
This will just create an Aggregate/Function 'parameterized type' of the 'generic type' with the 'type arguments' But note it will have not - repeat NOT have - traversed the 'generic type' and cloned over the methods and altered all the 'T', 'K', 'V' - 'type parameters' for each of the 'type arguments' There is a separate function (TypeSubstitution) that does that.class
Accepts an aggregate or a function that has been parameterized with 'type arguments'.Methods in org.ek9lang.compiler.support that return PossibleGenericSymbolModifier and TypeMethodDescriptionParameterizedSymbolCreator.apply
(PossibleGenericSymbol possibleGenericSymbol, List<ISymbol> typeArguments) TypeSubstitution.apply
(PossibleGenericSymbol parameterisedSymbol) GenericInGenericData.dependent()
Returns the value of thedependent
record component.SymbolFactory.newParameterisedSymbol
(PossibleGenericSymbol genericType, List<ISymbol> typeArguments) GenericInGenericData.parent()
Returns the value of theparent
record component.Methods in org.ek9lang.compiler.support with parameters of type PossibleGenericSymbolModifier and TypeMethodDescriptionInternalNameFor.apply
(PossibleGenericSymbol possibleGenericSymbol, List<ISymbol> typeArguments) ParameterizedSymbolCreator.apply
(PossibleGenericSymbol possibleGenericSymbol, List<ISymbol> typeArguments) TypeSubstitution.apply
(PossibleGenericSymbol parameterisedSymbol) SymbolFactory.newParameterisedSymbol
(PossibleGenericSymbol genericType, List<ISymbol> typeArguments) Constructors in org.ek9lang.compiler.support with parameters of type PossibleGenericSymbolModifierConstructorDescriptionGenericInGenericData
(PossibleGenericSymbol parent, PossibleGenericSymbol dependent) Creates an instance of aGenericInGenericData
record class.Constructor parameters in org.ek9lang.compiler.support with type arguments of type PossibleGenericSymbolModifierConstructorDescriptionParameterizedSymbolCreator
(BiFunction<PossibleGenericSymbol, List<ISymbol>, String> internalNameFor) TypeSubstitution
(Function<PossibleGenericSymbol, ResolvedOrDefineResult> resolveOrDefine, ErrorListener errorListener) Construct a type substitutor. -
Uses of PossibleGenericSymbol in org.ek9lang.compiler.symbols
Subclasses of PossibleGenericSymbol in org.ek9lang.compiler.symbolsModifier and TypeClassDescriptionclass
This is typically a 'class' or an interface type where it can include the definitions of new properties.class
An aggregate, but one that can have zero or more traits (like interfaces).class
Special type that is super of Aggregate and super of Function (if they don't have supers).class
Scope for functions that are part of a module.Methods in org.ek9lang.compiler.symbols that return PossibleGenericSymbolModifier and TypeMethodDescriptionprotected PossibleGenericSymbol
PossibleGenericSymbol.cloneIntoPossibleGenericSymbol
(PossibleGenericSymbol newCopy) Methods in org.ek9lang.compiler.symbols that return types with arguments of type PossibleGenericSymbolModifier and TypeMethodDescriptionICanBeGeneric.getGenericSymbolReferences()
Used to keep track of any generic types/functions used in a generic type that use some or all of the generic type parameters or arguments.PossibleGenericSymbol.getGenericSymbolReferences()
ICanBeGeneric.getGenericType()
Not only can a class/function that implements this interface be generic in nature, they can also be a 'parameterised type'.PossibleGenericSymbol.getGenericType()
Methods in org.ek9lang.compiler.symbols with parameters of type PossibleGenericSymbolModifier and TypeMethodDescriptionvoid
ICanBeGeneric.addGenericSymbolReference
(PossibleGenericSymbol genericSymbolReference) Provides a mechanism to record 'dependent generic types'.void
PossibleGenericSymbol.addGenericSymbolReference
(PossibleGenericSymbol genericSymbolReference) Add a reference to a parameterised function.protected PossibleGenericSymbol
PossibleGenericSymbol.cloneIntoPossibleGenericSymbol
(PossibleGenericSymbol newCopy) ModuleScope.resolveOrDefine
(PossibleGenericSymbol parameterisedSymbol, ErrorListener errorListener) Used when resolving or needing to define a parameterised type, like 'List of String' for example.void
PossibleGenericSymbol.setGenericType
(PossibleGenericSymbol genericType) Method parameters in org.ek9lang.compiler.symbols with type arguments of type PossibleGenericSymbolModifier and TypeMethodDescriptionvoid
PossibleGenericSymbol.setGenericType
(Optional<PossibleGenericSymbol> genericType) Used parameterizing a generic type with type arguments.