Scala Compiler2.13.3 < Back


# 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

c

scala.tools.nsc.transform.InfoTransform

# Phase

###

#### 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
Phase, SpecializationPhase
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
      Phase → GlobalPhase
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 math.Ordered[reflect.internal.Phase]

### Inherited from Comparable[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