Symbol is a specialized abstract method, either specialized or original.
This duplicator additionally performs casts of expressions if that is allowed by the
Symbol is a method that should be forwarded to 't'
Symbol is a specialized method whose body should be the target's method body.
A tree symbol substituter that substitutes on type skolems.
Symbol is a normalized member obtained by specializing 'target'.
Symbol is a special overloaded method of 'original', in the environment env.
Symbol is a specialized override paired with
Symbol is a special overload of the super accessor.
Introduced to fix SI-7343: Phase ordering problem between Duplicators and Specialization.
Symbol is a specialized accessor for the
A specialized inner class that specializes original inner class
target on a type parameter of the enclosing class, in the typeenv
A standard phase template
Add method m to the set of symbols for which we need an implementation tree in the tree transformer.
This field is part of the specializeTypes subcomponent, so any symbols that here are not garbage collected at the end of a compiler run!
This phase changes base classes.
Return the types
sym should be specialized at.
Is this component enabled? Default is true.
clazz any type parameters that need be specialized?
SubComponent are added to a HashSet and two phases are the same if they have the same name
True if this phase runs before all other phases.
True if this phase is not provided by a plug-in.
Just to mark uncheckable
The transformer factory
Is any type variable in
env conflicting with any if its type bounds, when
type bindings in
env are taken into account?
Return the generic class corresponding to this specialized class.
The phase corresponding to this subcomponent in the current compiler run
the name of the phase:
The following flags may be set by this phase:
New flags defined by the phase which are not valid until immediately after it
Produces the symbols from type parameters
syms of the original owner,
in the given type environment
Names of phases required by this component.
Names of phases that must run after this phase.
The type environment is sound w.
Specialize 'clazz', in the environment
For a given class and concrete type arguments, give its specialized class
Return specialized type parameters.
Return the set of @specialized type variables mentioned by the given type.
If the symbol is the companion of a value class, the value class.
Given an original class symbol and a list of types its type parameters are instantiated at returns a list of type parameters that should remain in the TypeRef when instantiating a specialized type.
Type parameters that survive when specializing in the specified environment.
True if this phase runs after all other phases.