A standard phase template
List of phase names, this phase should run after
List of phase names, this phase should run after
Phase name this phase will attach itself to, not allowing any phase to come between it and the phase name declared
Phase name this phase will attach itself to, not allowing any phase to come between it and the phase name declared
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 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:
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
Internal flag to tell external from internal phases
Internal flag to tell external from internal phases
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
List of phase names, this phase should run before
List of phase names, this phase should run before
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.
The info transform for this phase does the following:
The info transform for this phase does the following: