Class GenericBodyReference
java.lang.Object
org.ek9lang.compiler.support.GenericBodyReference
- All Implemented Interfaces:
BiPredicate<PossibleGenericSymbol, ISymbol>
public final class GenericBodyReference
extends Object
implements BiPredicate<PossibleGenericSymbol, ISymbol>
THE test of whether a parameterised type made inside a generic's body is a dependent (generic-in-generic)
reference of that generic: it is parameterised, still generic in nature, and every bare type parameter it names
(at any depth:
List of List of T) is one of the generic's OWN type parameters. A type naming another
generic's 'T' is not this generic's to substitute.
Used by SymbolsAndScopes.resolveOrDefine, the one funnel every inferred parameterisation passes through,
so a reference found by inference in FULL_RESOLUTION is recorded exactly as phase 2 records a declared one
(and brought through for parameterisations already made: TypeSubstitution.substituteLateReference).
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleantest(PossibleGenericSymbol generic, ISymbol symbol) True when the symbol is a dependent reference of the generic - see the class description.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface BiPredicate
and, negate, or
-
Constructor Details
-
GenericBodyReference
public GenericBodyReference()
-
-
Method Details
-
test
True when the symbol is a dependent reference of the generic - see the class description.- Specified by:
testin interfaceBiPredicate<PossibleGenericSymbol, ISymbol>
-