Phase

dotty.tools.dotc.core.Phases$.Phase
abstract class Phase

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class GenBCode
class GenSJSIR
object SomePhase.type
class LazyVals
class LiftTry
class Memoize
class PostTyper
class Pre
class Pre
class Flatten
class Getters
class Mixin
class Recheck
class Erasure
object NoPhase.type
class ReadTasty
class Parser
class Inlining
class Splicing
class Staging
class MiniPhase
class EtaReduce
class PureStats
class TailRec
class RefChecks
class MegaPhase
class Pickler
class Checker
class Parser
class ReplPhase

Members list

Concise view

Value members

Abstract methods

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/scalac -Xprint:<phaseNameHere> sourceFile.scala

Attributes

def run(using Context): Unit

Attributes

Concrete methods

final def <=(that: Phase): Boolean

If set, implicit search is enabled

If set, implicit search is enabled

Attributes

Can this transform change the base types of a type?

Can this transform change the base types of a type?

Attributes

Can this transform create or delete non-private members?

Can this transform create or delete non-private members?

Attributes

Can this transform change the parents of a class?

Can this transform change the parents of a class?

Attributes

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.

Attributes

final def erasedTypes: 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.

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.

Attributes

Output should be checkable by TreeChecker

Output should be checkable by TreeChecker

Attributes

Is this phase the standard typerphase? True for TyperPhase, but not for other first phases (such as FromTasty or Parser). 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 TyperPhase, but not for other first phases (such as FromTasty or Parser). The predicate is tested in some places that perform checks and corrections. It's different from ctx.isAfterTyper (and cheaper to test).

Attributes

final def iterator: Iterator[Phase]
final def monitor(doing: String)(body: => Unit)(using Context): Unit
final def next: Phase
final def prev: Phase
final def prevMega(using Context): Phase
final def refChecked: 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.

Attributes

Attributes

List of names of phases that should precede this phase

List of names of phases that should precede this phase

Attributes

def show(tree: Tree)(using Context): String

Convert a compilation unit's tree to a string; can be overridden

Convert a compilation unit's tree to a string; can be overridden

Attributes

def start: Int
override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns:

a string representation of the object.

Definition Classes
Any