trait Phase
extends DotClass

Constructors

Members

private var myBase : ContextBase
private var myErasedTypes : Boolean
private var myFlatClasses : Boolean
private var myLabelsReordered : Boolean
private var myPeriod : Period
private var myRefChecked : Boolean
private var mySymbolicRefs : Boolean
final def <= ( that: Phase ) : Boolean
def checkPostCondition ( tree: Tree ) ( implicit ctx: 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.

def description : String
def end : PhaseId
final def erasedTypes : Boolean
def exists : Boolean
final def flatClasses : Boolean
final def hasNext : Boolean
[+] 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 n...

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.

protected def init ( base: ContextBase , start: Int , end: Int ) : Unit
protected def init ( base: ContextBase , id: Int ) : Unit
def isCheckable : Boolean

Output should be checkable by TreeChecker

Output should be checkable by TreeChecker

[+] def isTyper : Boolean

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 tha...

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).

final def iterator : Iterator [ Phase ]
final def labelsReordered : Boolean
private def myBase_= ( x$1: ContextBase ) : Unit
private def myErasedTypes_= ( x$1: Boolean ) : Unit
private def myFlatClasses_= ( x$1: Boolean ) : Unit
private def myLabelsReordered_= ( x$1: Boolean ) : Unit
private def myPeriod_= ( x$1: Period ) : Unit
private def myRefChecked_= ( x$1: Boolean ) : Unit
private def mySymbolicRefs_= ( x$1: Boolean ) : Unit
def period : Period
[+] def phaseName : String

A name given to the Phase that can be used to debug the compiler. For instance, it is possible to print trees after a given phase using:

A name given to the Phase that can be used to debug the compiler. For instance, it is possible to print trees after a given phase using:

$ ./bin/dotc -Xprint:<phaseNameHere> sourceFile.scala
final def refChecked : Boolean
def relaxedTyping : Boolean

If set, allow missing or superfluous arguments in applications and type applications.

If set, allow missing or superfluous arguments in applications and type applications.

def run ( implicit ctx: Context ) : Unit
def runOn ( units: List [ CompilationUnit ] ) ( implicit ctx: Context ) : List [ CompilationUnit ]
def runsAfter : Set [ Class [ Nothing <: Phase ] ]

List of names of phases that should precede this phase

List of names of phases that should precede this phase

def start : Int
final def symbolicRefs : Boolean
override def toString : String