MegaPhase

class MegaPhase(val miniPhases: Array[MiniPhase]) extends Phase
Companion
object
class Phase
class Object
trait Matchable
class Any

Value members

Concrete methods

def goAlternative(tree: Alternative, start: Int)(using Context): Tree
def goApply(tree: Apply, start: Int)(using Context): Tree
def goAssign(tree: Assign, start: Int)(using Context): Tree
def goBind(tree: Bind, start: Int)(using Context): Tree
def goBlock(tree: Block, start: Int)(using Context): Tree
def goCaseDef(tree: CaseDef, start: Int)(using Context): Tree
def goClosure(tree: Closure, start: Int)(using Context): Tree
def goDefDef(tree: DefDef, start: Int)(using Context): Tree
def goIdent(tree: Ident, start: Int)(using Context): Tree
def goIf(tree: If, start: Int)(using Context): Tree
def goInlined(tree: Inlined, start: Int)(using Context): Tree
def goLabeled(tree: Labeled, start: Int)(using Context): Tree
def goLiteral(tree: Literal, start: Int)(using Context): Tree
def goMatch(tree: Match, start: Int)(using Context): Tree
def goNew(tree: New, start: Int)(using Context): Tree
def goOther(tree: Tree, start: Int)(using Context): Tree
def goPackageDef(tree: PackageDef, start: Int)(using Context): Tree
def goReturn(tree: Return, start: Int)(using Context): Tree
def goSelect(tree: Select, start: Int)(using Context): Tree
def goSeqLiteral(tree: SeqLiteral, start: Int)(using Context): Tree
def goStats(trees: List[Tree], start: Int)(using Context): List[Tree]
def goSuper(tree: Super, start: Int)(using Context): Tree
def goTemplate(tree: Template, start: Int)(using Context): Tree
def goThis(tree: This, start: Int)(using Context): Tree
def goTry(tree: Try, start: Int)(using Context): Tree
def goTypeApply(tree: TypeApply, start: Int)(using Context): Tree
def goTypeDef(tree: TypeDef, start: Int)(using Context): Tree
def goTypeTree(tree: TypeTree, start: Int)(using Context): Tree
def goTyped(tree: Typed, start: Int)(using Context): Tree
def goUnApply(tree: UnApply, start: Int)(using Context): Tree
def goUnit(tree: Tree, start: Int)(using Context): Tree
def goValDef(tree: ValDef, start: Int)(using Context): Tree
def goWhileDo(tree: WhileDo, start: Int)(using Context): Tree
def prepAlternative(tree: Alternative, start: Int)(using Context): Context
def prepApply(tree: Apply, start: Int)(using Context): Context
def prepAssign(tree: Assign, start: Int)(using Context): Context
def prepBind(tree: Bind, start: Int)(using Context): Context
def prepBlock(tree: Block, start: Int)(using Context): Context
def prepCaseDef(tree: CaseDef, start: Int)(using Context): Context
def prepClosure(tree: Closure, start: Int)(using Context): Context
def prepDefDef(tree: DefDef, start: Int)(using Context): Context
def prepIdent(tree: Ident, start: Int)(using Context): Context
def prepIf(tree: If, start: Int)(using Context): Context
def prepInlined(tree: Inlined, start: Int)(using Context): Context
def prepLabeled(tree: Labeled, start: Int)(using Context): Context
def prepLiteral(tree: Literal, start: Int)(using Context): Context
def prepMatch(tree: Match, start: Int)(using Context): Context
def prepNew(tree: New, start: Int)(using Context): Context
def prepOther(tree: Tree, start: Int)(using Context): Context
def prepPackageDef(tree: PackageDef, start: Int)(using Context): Context
def prepReturn(tree: Return, start: Int)(using Context): Context
def prepSelect(tree: Select, start: Int)(using Context): Context
def prepSeqLiteral(tree: SeqLiteral, start: Int)(using Context): Context
def prepStats(trees: List[Tree], start: Int)(using Context): Context
def prepSuper(tree: Super, start: Int)(using Context): Context
def prepTemplate(tree: Template, start: Int)(using Context): Context
def prepThis(tree: This, start: Int)(using Context): Context
def prepTry(tree: Try, start: Int)(using Context): Context
def prepTypeApply(tree: TypeApply, start: Int)(using Context): Context
def prepTypeDef(tree: TypeDef, start: Int)(using Context): Context
def prepTypeTree(tree: TypeTree, start: Int)(using Context): Context
def prepTyped(tree: Typed, start: Int)(using Context): Context
def prepUnApply(tree: UnApply, start: Int)(using Context): Context
def prepUnit(tree: Tree, start: Int)(using Context): Context
def prepValDef(tree: ValDef, start: Int)(using Context): Context
def prepWhileDo(tree: WhileDo, start: Int)(using Context): Context
final override def relaxedTyping: Boolean
Definition Classes
override def run(using Context): Unit
Definition Classes
def transformNode(tree: Tree, start: Int)(using Context): Tree

Transform node using all phases in this group that have idxInGroup >= start

Transform node using all phases in this group that have idxInGroup >= start

def transformSpecificTree[T <: Tree](tree: T, start: Int)(using Context): T
def transformSpecificTrees[T <: Tree](trees: List[T], start: Int)(using Context): List[T]
def transformStats(trees: List[Tree], exprOwner: Symbol, start: Int)(using Context): List[Tree]
def transformTree(tree: Tree, start: Int)(using Context): Tree

Transform full tree using all phases in this group that have idxInGroup >= start

Transform full tree using all phases in this group that have idxInGroup >= start

def transformTrees(trees: List[Tree], start: Int)(using Context): List[Tree]
def transformUnit(tree: Tree)(using Context): Tree

Inherited methods

final def <=(that: Phase): Boolean
Inherited from
Phase

If set, implicit search is enabled

If set, implicit search is enabled

Inherited from
Phase

Can this transform change the base types of a type?

Can this transform change the base types of a type?

Inherited from
Phase

Can this transform create or delete non-private members?

Can this transform create or delete non-private members?

Inherited from
Phase

Can this transform change the parents of a class?

Can this transform change the parents of a class?

Inherited from
Phase
def checkPostCondition(tree: Tree)(using Context): Unit

Check what the phase achieves, to be called at any point after it is finished.

Check what the phase achieves, to be called at any point after it is finished.

Inherited from
Phase
Inherited from
Phase
def end: PhaseId
Inherited from
Phase
final def erasedTypes: Boolean
Inherited from
Phase
Inherited from
Phase
final def flatClasses: Boolean
Inherited from
Phase
final def hasNext: Boolean
Inherited from
Phase
def id: Int

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.

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.

Inherited from
Phase
Inherited from
Phase

Output should be checkable by TreeChecker

Output should be checkable by TreeChecker

Inherited from
Phase
Inherited from
Phase
Inherited from
Phase

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 ctx.isAfterTyper (and cheaper to test).

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 ctx.isAfterTyper (and cheaper to test).

Inherited from
Phase
final def iterator: Iterator[Phase]
Inherited from
Phase
Inherited from
Phase
final def next: Phase
Inherited from
Phase
Inherited from
Phase
Inherited from
Phase
final def prev: Phase
Inherited from
Phase
final def refChecked: Boolean
Inherited from
Phase
Inherited from
Phase

List of names of phases that should precede this phase

List of names of phases that should precede this phase

Inherited from
Phase
Inherited from
Phase
Inherited from
Phase
Inherited from
Phase
def start: Int
Inherited from
Phase
override def toString: String
Definition Classes
Phase -> Any
Inherited from
Phase

Concrete fields

override val phaseName: String