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
Known Subclasses
Type Hierarchy
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. Protected

Instance Constructors

  1. new Phase(prev: nsc.Phase)

Type Members

  1. type Id = Int
    Definition Classes
    Phase

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from Phase toany2stringadd[Phase] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (Phase, B)
    Implicit
    This member is added by an implicit conversion from Phase toArrowAssoc[Phase] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. def <(that: reflect.internal.Phase): Boolean
    Definition Classes
    Ordered
  6. def <=(that: reflect.internal.Phase): Boolean
    Definition Classes
    Ordered
  7. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def >(that: reflect.internal.Phase): Boolean
    Definition Classes
    Ordered
  9. def >=(that: reflect.internal.Phase): Boolean
    Definition Classes
    Ordered
  10. def apply(unit: Global.CompilationUnit): Unit
    Definition Classes
    PhaseGlobalPhase
  11. final def applyPhase(unit: Global.CompilationUnit): Unit
    Definition Classes
    GlobalPhase
  12. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  13. final val assignsFields: Boolean
    Definition Classes
    Phase
  14. def cancelled(unit: Global.CompilationUnit): Boolean

    Is current phase cancelled on this unit?

    Is current phase cancelled on this unit?

    Definition Classes
    GlobalPhase
  15. def checkable: Boolean
    Definition Classes
    Phase
  16. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  17. def compare(that: reflect.internal.Phase): Id
    Definition Classes
    Phase → Ordered
  18. def compareTo(that: reflect.internal.Phase): Int
    Definition Classes
    Ordered → Comparable
  19. def description: String
    Definition Classes
    Phase
  20. def ensuring(cond: (Phase) => Boolean, msg: => Any): Phase
    Implicit
    This member is added by an implicit conversion from Phase toEnsuring[Phase] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  21. def ensuring(cond: (Phase) => Boolean): Phase
    Implicit
    This member is added by an implicit conversion from Phase toEnsuring[Phase] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  22. def ensuring(cond: Boolean, msg: => Any): Phase
    Implicit
    This member is added by an implicit conversion from Phase toEnsuring[Phase] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  23. def ensuring(cond: Boolean): Phase
    Implicit
    This member is added by an implicit conversion from Phase toEnsuring[Phase] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  24. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  25. def equals(other: Any): Boolean
    Definition Classes
    Phase → AnyRef → Any
  26. final val erasedTypes: Boolean
    Definition Classes
    Phase
  27. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  28. def flagMask: Long
    Definition Classes
    Phase
  29. final val flatClasses: Boolean
    Definition Classes
    Phase
  30. val fmask: Long
    Definition Classes
    Phase
  31. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from Phase toStringFormat[Phase] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  32. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  33. def hasNext: Boolean
    Definition Classes
    Phase
  34. def hashCode(): Int
    Definition Classes
    Phase → AnyRef → Any
  35. val id: Id
    Definition Classes
    Phase
  36. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  37. def iterator: collection.Iterator[reflect.internal.Phase]
    Definition Classes
    Phase
  38. val keepsTypeParams: Boolean
    Definition Classes
    Phase → Phase
  39. def name: String
    Definition Classes
    StdPhase → Phase
  40. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  41. def newFlags: Long
    Definition Classes
    StdPhase → Phase
  42. def next: reflect.internal.Phase
    Definition Classes
    Phase
  43. def nextFlags: Long
    Definition Classes
    StdPhase → Phase
  44. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  45. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  46. val prev: reflect.internal.Phase
    Definition Classes
    Phase
  47. final val refChecked: Boolean
    Definition Classes
    Phase
  48. def run(): Unit
    Definition Classes
    GlobalPhase → Phase
  49. def shouldSkipThisPhaseForJava: Boolean
    Attributes
    protected
    Definition Classes
    GlobalPhase
  50. final val specialized: Boolean
    Definition Classes
    Phase
  51. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  52. def toString(): String
    Definition Classes
    Phase → AnyRef → Any
  53. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  54. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  55. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Shadowed Implicit Value Members

  1. def <(that: Phase): Boolean
    Implicit
    This member is added by an implicit conversion from Phase tomath.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 tomath.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 tomath.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 tomath.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 tomath.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 tomath.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

    (Since version 2.13) Unused, inlined in applyPhase

  2. final def withCurrentUnitNoLog(unit: Global.CompilationUnit)(task: => Unit): Unit
    Definition Classes
    GlobalPhase
    Annotations
    @inline() @deprecated
    Deprecated

    (Since version 2.13) Unused, see withCurrentUnit

  3. def [B](y: B): (Phase, B)
    Implicit
    This member is added by an implicit conversion from Phase toArrowAssoc[Phase] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use -> instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

Inherited from InfoTransform.Phase

Inherited from InfoTransform.StdPhase

Inherited from GlobalPhase

Inherited from reflect.internal.Phase

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion orderingToOrdered fromPhase to math.Ordered[Phase]

Inherited by implicit conversion any2stringadd fromPhase to any2stringadd[Phase]

Inherited by implicit conversion StringFormat fromPhase to StringFormat[Phase]

Inherited by implicit conversion Ensuring fromPhase to Ensuring[Phase]

Inherited by implicit conversion ArrowAssoc fromPhase to ArrowAssoc[Phase]

Ungrouped