Check what the phase achieves, to be called at any point after it is finished.
The sequence position of this phase in the given context where 0 is reserved for NoPhase and the first real phase is at position 1.
The sequence position of this phase in the given context where 0 is reserved for NoPhase and the first real phase is at position 1. -1 if the phase is not installed in the context.
id of this mini phase in group
id of this mini phase in group
Output should be checkable by TreeChecker
Output should be checkable by TreeChecker
Is this phase the standard typerphase? True for FrontEnd, but not for other first phases (such as FromTasty).
Is this phase the standard typerphase? True for FrontEnd, but not for other first phases (such as FromTasty). The predicate is tested in some places that perform checks and corrections. It's different from isAfterTyper (and cheaper to test).
The last phase during which the transformed denotations are valid
The last phase during which the transformed denotations are valid
If set, allow missing or superfluous arguments in applications and type applications.
If set, allow missing or superfluous arguments in applications and type applications.
Should run after mixin so that fields get generated in the class that contains the concrete getter rather than the trait that defines it.
List of names of phases that should have finished their processing of all compilation units before this phase starts
List of names of phases that should have finished their processing of all compilation units before this phase starts
The transformation method
The transformation method
Transform tree using all transforms of current group (including this one)
Transform tree using all transforms of current group (including this one)
Transform single node using all transforms following the current one in this group
Transform single node using all transforms following the current one in this group
Transform subtree using all transforms following the current one in this group
Transform subtree using all transforms following the current one in this group
Throws an UnsupportedOperationException
with the given method name.
Throws an UnsupportedOperationException
with the given method name.
The validity period of the transformer in the given context
The validity period of the transformer in the given context
Provides the implementations of all getters and setters, introducing fields to hold the value accessed by them. TODO: Make LazyVals a part of this phase?
<accessor> <stable> <mods> def x(): T = e --> private val x: T = e <accessor> <stable> <mods> def x(): T = x
<accessor> <mods> def x(): T = e --> private var x: T = e <accessor> <mods> def x(): T = x
<accessor> <mods> def x_=(y: T): Unit = () --> <accessor> <mods> def x_=(y: T): Unit = x = y