Packages

  • package root

    The Scala compiler and reflection APIs.

    The Scala compiler and reflection APIs.

    Definition Classes
    root
  • package scala
    Definition Classes
    root
  • package tools
    Definition Classes
    scala
  • package nsc
    Definition Classes
    tools
  • package transform
    Definition Classes
    nsc
  • trait InfoTransform extends SubComponent with Transform

    An InfoTransform contains a compiler phase that transforms trees and symbol infos -- making sure they stay consistent.

    An InfoTransform contains a compiler phase that transforms trees and symbol infos -- making sure they stay consistent. The symbol info is transformed assuming it is consistent right before this phase. The info transformation is triggered by Symbol::rawInfo, which caches the results in the symbol's type history. This way sym.info (during an enteringPhase(p)) can look up what the symbol's info should look like at the beginning of phase p. (If the transformed info had not been stored yet, rawInfo will compute the info by composing the info-transformers of the most recent phase before p, up to the transformer of the phase right before p.)

    Concretely, enteringPhase(p) { sym.info } yields the info *before* phase p has transformed it. Imagine you're a phase and it all makes sense.

    Definition Classes
    transform
  • Phase
  • StdPhase

class Phase extends InfoTransform.Phase

Source
InfoTransform.scala
Linear Supertypes
InfoTransform.Phase, InfoTransform.StdPhase, GlobalPhase, reflect.internal.Phase, math.Ordered[reflect.internal.Phase], Comparable[reflect.internal.Phase], AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Phase
  2. Phase
  3. StdPhase
  4. GlobalPhase
  5. Phase
  6. Ordered
  7. Comparable
  8. AnyRef
  9. Any
Implicitly
  1. by orderingToOrdered
  2. by any2stringadd
  3. by StringFormat
  4. by Ensuring
  5. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Phase(prev: nsc.Phase)

Type Members

  1. type Id = Int
    Definition Classes
    Phase

Value Members

  1. def <(that: reflect.internal.Phase): Boolean
    Definition Classes
    Ordered
  2. def <=(that: reflect.internal.Phase): Boolean
    Definition Classes
    Ordered
  3. def >(that: reflect.internal.Phase): Boolean
    Definition Classes
    Ordered
  4. def >=(that: reflect.internal.Phase): Boolean
    Definition Classes
    Ordered
  5. def apply(unit: Global.CompilationUnit): Unit
    Definition Classes
    PhaseGlobalPhase
  6. final def applyPhase(unit: Global.CompilationUnit): Unit
    Definition Classes
    GlobalPhase
  7. final val assignsFields: Boolean
    Definition Classes
    Phase
  8. def cancelled(unit: Global.CompilationUnit): Boolean

    Is current phase cancelled on this unit?

    Is current phase cancelled on this unit?

    Definition Classes
    GlobalPhase
  9. def checkable: Boolean
    Definition Classes
    Phase
  10. def compare(that: reflect.internal.Phase): Id
    Definition Classes
    Phase → Ordered
  11. def compareTo(that: reflect.internal.Phase): Int
    Definition Classes
    Ordered → Comparable
  12. def description: String
    Definition Classes
    Phase
  13. def equals(other: Any): Boolean
    Definition Classes
    Phase → AnyRef → Any
  14. final def erasedTypes: Boolean
    Definition Classes
    Phase
  15. def flagMask: Long
    Definition Classes
    Phase
  16. final val flatClasses: Boolean
    Definition Classes
    Phase
  17. val fmask: Long
    Definition Classes
    Phase
  18. def hasNext: Boolean
    Definition Classes
    Phase
  19. def hashCode(): Int
    Definition Classes
    Phase → AnyRef → Any
  20. val id: Id
    Definition Classes
    Phase
  21. def iterator: collection.Iterator[reflect.internal.Phase]
    Definition Classes
    Phase
  22. val keepsTypeParams: Boolean
    Definition Classes
    Phase → Phase
  23. def name: String
    Definition Classes
    StdPhase → Phase
  24. def newFlags: Long
    Definition Classes
    StdPhase → Phase
  25. def next: reflect.internal.Phase
    Definition Classes
    Phase
  26. def nextFlags: Long
    Definition Classes
    StdPhase → Phase
  27. val prev: reflect.internal.Phase
    Definition Classes
    Phase
  28. final val refChecked: Boolean
    Definition Classes
    Phase
  29. def run(): Unit
    Definition Classes
    GlobalPhase → Phase
  30. final val specialized: Boolean
    Definition Classes
    Phase
  31. def toString(): String
    Definition Classes
    Phase → AnyRef → Any
  32. final def withCurrentUnitNoLog(unit: Global.CompilationUnit)(task: ⇒ Unit): Unit
    Definition Classes
    GlobalPhase
    Annotations
    @inline()

Shadowed Implicit Value Members

  1. def <(that: Phase): Boolean
    Implicit
    This member is added by an implicit conversion from Phase to math.Ordered[Phase] performed by method orderingToOrdered in scala.math.Ordered. This conversion will take place only if an implicit value of type math.Ordering[Phase] is in scope.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (phase: math.Ordered[Phase]).<(that)
    Definition Classes
    Ordered
  2. def <=(that: Phase): Boolean
    Implicit
    This member is added by an implicit conversion from Phase to math.Ordered[Phase] performed by method orderingToOrdered in scala.math.Ordered. This conversion will take place only if an implicit value of type math.Ordering[Phase] is in scope.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (phase: math.Ordered[Phase]).<=(that)
    Definition Classes
    Ordered
  3. def >(that: Phase): Boolean
    Implicit
    This member is added by an implicit conversion from Phase to math.Ordered[Phase] performed by method orderingToOrdered in scala.math.Ordered. This conversion will take place only if an implicit value of type math.Ordering[Phase] is in scope.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (phase: math.Ordered[Phase]).>(that)
    Definition Classes
    Ordered
  4. def >=(that: Phase): Boolean
    Implicit
    This member is added by an implicit conversion from Phase to math.Ordered[Phase] performed by method orderingToOrdered in scala.math.Ordered. This conversion will take place only if an implicit value of type math.Ordering[Phase] is in scope.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (phase: math.Ordered[Phase]).>=(that)
    Definition Classes
    Ordered
  5. def compare(that: Phase): Int
    Implicit
    This member is added by an implicit conversion from Phase to math.Ordered[Phase] performed by method orderingToOrdered in scala.math.Ordered. This conversion will take place only if an implicit value of type math.Ordering[Phase] is in scope.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (phase: math.Ordered[Phase]).compare(that)
    Definition Classes
    Ordered
  6. def compareTo(that: Phase): Int
    Implicit
    This member is added by an implicit conversion from Phase to math.Ordered[Phase] performed by method orderingToOrdered in scala.math.Ordered. This conversion will take place only if an implicit value of type math.Ordering[Phase] is in scope.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (phase: math.Ordered[Phase]).compareTo(that)
    Definition Classes
    Ordered → Comparable

Deprecated Value Members

  1. final def withCurrentUnit(unit: Global.CompilationUnit)(task: ⇒ Unit): Unit
    Definition Classes
    GlobalPhase
    Annotations
    @deprecated
    Deprecated