Dotty Documentation

0.14.0-bin-SNAPSHOT

abstract class Phase
extends Object

[-] Constructors

Phase ( )

[-] Members

[+] private var myBase : ContextBase
[+] private var myErasedTypes : Boolean
[+] private var myFlatClasses : Boolean
[+] private var myPeriod : Period
[+] private var myRefChecked : Boolean
[+] private var mySameBaseTypesStartId : Int
[+] private var mySameMembersStartId : Int
[+] private var mySameParentsStartId : Int
[+] final def <= ( that: Phase ) : Boolean
[+] def allowsImplicitSearch : Boolean

If set, implicit search is enabled

[+] def changesBaseTypes : Boolean

Can this transform change the base types of a type?

[+] def changesMembers : Boolean

Can this transform create or delete non-private members?

[+] def changesParents : Boolean

Can this transform change the parents of a class?

[+] def checkPostCondition ( tree: Tree ) ( implicit ctx: Context ) : Unit

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 not installed in the context.

[+] protected def init ( base: ContextBase , start: Int , end: Int ) : Unit
[+] protected def init ( base: ContextBase , id: Int ) : Unit
[+] def initContext ( ctx: FreshContext ) : Unit
[+] def isCheckable : Boolean

Output should be checkable by TreeChecker

[+] def isEnabled ( implicit ctx: Context ) : Boolean
[+] def isRunnable ( implicit ctx: Context ) : Boolean
[+] 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 that perform checks and corrections. It's different from isAfterTyper (and cheaper to test).

[+] final def iterator : Iterator [ Phase ]
[+] 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:

$ ./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.

[+] def run ( implicit ctx: Context ) : Unit
[+] def runOn ( units: List [ CompilationUnit ] ) ( implicit ctx: Context ) : List [ CompilationUnit ]
[+] def runsAfter : Set [ String ]

List of names of phases that should precede this phase

[+] final def sameBaseTypesStartId : Int
[+] final def sameMembersStartId : Int
[+] final def sameParentsStartId : Int
[+] def start : Int
[+] override def toString : String