A standard phase template
Add getters and setters for all non-module fields of an implementation class to its interface unless they are already present.
Add getters and setters for all non-module fields of an implementation class to its interface unless they are already present. This is done only once per class. The mixedin flag is used to remember whether late members have been added to an interface.
Add given member to given class, and mark member as mixed-in.
Add given member to given class, and mark member as mixed-in.
Add all members to be mixed in into a (non-trait-) class These are: for every mixin trait T that is not also inherited by the superclass: add late interface members to T and then:
Add all members to be mixed in into a (non-trait-) class These are: for every mixin trait T that is not also inherited by the superclass: add late interface members to T and then:
Is this component enabled? Default is true.
Is this component enabled? Default is true.
The global environment; overridden by instantiation in Global.
The global environment; overridden by instantiation in Global.
SubComponent are added to a HashSet and two phases are the same if they have the same name
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 runs before all other phases. Usually, parser
.
True if this phase is not provided by a plug-in.
True if this phase is not provided by a plug-in.
Is member overridden (either directly or via a bridge) in base class sequence bcs
?
Is member overridden (either directly or via a bridge) in base class sequence bcs
?
Create a new phase which applies transformer
Create a new phase which applies transformer
The transformer factory
The phase corresponding to this subcomponent in the current compiler run
The phase corresponding to this subcomponent in the current compiler run
The name of the phase:
The name of the phase:
The phase might set the following new flags:
The phase might set the following new flags:
New flags defined by the phase which are not valid until immediately after it
New flags defined by the phase which are not valid until immediately after it
Names of phases required by this component.
Names of phases required by this component. Default is Nil
.
Names of phases that must run before this phase.
Names of phases that must run before this phase.
Names of phases that must run after this phase.
Names of phases that must run after this phase. Default is Nil
.
Name of the phase that this phase must follow immediately.
Name of the phase that this phase must follow immediately.
Return a map of single-use fields to the lazy value that uses them during initialization.
Return a map of single-use fields to the lazy value that uses them during initialization. Each field has to be private and defined in the enclosing class, and there must be exactly one lazy value using it.
Such fields will be nulled after the initializer has memoized the lazy value.
True if this phase runs after all other phases.
True if this phase runs after all other phases. Usually, terminal
.
The info transform for this phase does the following:
The info transform for this phase does the following: