scala.tools.nsc.backend.icode.GenICode

# ICodePhase

#### class ICodePhase extends StdPhase

Linear Supertypes
GenICode.StdPhase, GlobalPhase, reflect.internal.Phase, AnyRef, Any
Type Hierarchy Learn more about scaladoc diagrams
Ordering

1. Alphabetic
2. By inheritance

Inherited

1. ICodePhase
2. StdPhase
3. GlobalPhase
4. Phase
5. AnyRef
6. Any

Implicitly

1. by any2stringadd
2. by any2stringfmt
3. by any2ArrowAssoc
4. by any2Ensuring

1. Hide All
2. Show all

Learn more about member selection
Visibility

1. Public
2. All

### Instance Constructors

1. #### new ICodePhase(prev: Phase)

### Type Members

1. #### abstract class Cleanup extends AnyRef

2. #### class Context extends AnyRef

   The Context class keeps information relative to the current state in code generation

3. #### class DuplicateLabels extends Global.Transformer

   Tree transformer that duplicates code and at the same time creates fresh symbols for existing labels.

4. #### case class Finalizer (f: Global.Tree, ctx: Context) extends Cleanup with Product with Serializable

5. #### type Id = Int

   Definition Classes
     Phase

6. #### case class MonitorRelease (m: Global.icodes.Local) extends Cleanup with Product with Serializable

### Value Members

1. #### final def !=(arg0: AnyRef): Boolean

   Definition Classes
     AnyRef

2. #### final def !=(arg0: Any): Boolean

   Definition Classes
     Any

3. #### final def ##(): Int

   Definition Classes
     AnyRef → Any

4. #### def +(other: String): String

   Implicit information
     This member is added by an implicit conversion from ICodePhase to StringAdd performed by method any2stringadd in scala.Predef.
   Definition Classes
     StringAdd

5. #### def ->[B](y: B): (ICodePhase, B)

   Implicit information
     This member is added by an implicit conversion from ICodePhase to ArrowAssoc[ICodePhase] performed by method any2ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @inline()

6. #### final def ==(arg0: AnyRef): Boolean

   Definition Classes
     AnyRef

7. #### final def ==(arg0: Any): Boolean

   Definition Classes
     Any

8. #### def apply(unit: Global.CompilationUnit): Unit

   Definition Classes
     ICodePhase → GlobalPhase

9. #### final def applyPhase(unit: Global.CompilationUnit): Unit

   Definition Classes
     GlobalPhase

10. #### final def asInstanceOf[T0]: T0

    Definition Classes
      Any

11. #### def cancelled(unit: Global.CompilationUnit): Boolean

    Is current phase cancelled on this unit?

    Is current phase cancelled on this unit?

    Definition Classes
      GlobalPhase

12. #### def checkable: Boolean

    Definition Classes
      Phase

13. #### def clone(): AnyRef

    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

14. #### def description: String

    Definition Classes
      ICodePhase → Phase

15. #### def duplicateFinalizer(boundLabels: Set[Global.Symbol], targetCtx: Context, finalizer: Global.Tree): Global.Tree

16. #### def ensuring(cond: (ICodePhase) ⇒ Boolean, msg: ⇒ Any): ICodePhase

    Implicit information
      This member is added by an implicit conversion from ICodePhase to Ensuring[ICodePhase] performed by method any2Ensuring in scala.Predef.
    Definition Classes
      Ensuring

17. #### def ensuring(cond: (ICodePhase) ⇒ Boolean): ICodePhase

    Implicit information
      This member is added by an implicit conversion from ICodePhase to Ensuring[ICodePhase] performed by method any2Ensuring in scala.Predef.
    Definition Classes
      Ensuring

18. #### def ensuring(cond: Boolean, msg: ⇒ Any): ICodePhase

    Implicit information
      This member is added by an implicit conversion from ICodePhase to Ensuring[ICodePhase] performed by method any2Ensuring in scala.Predef.
    Definition Classes
      Ensuring

19. #### def ensuring(cond: Boolean): ICodePhase

    Implicit information
      This member is added by an implicit conversion from ICodePhase to Ensuring[ICodePhase] performed by method any2Ensuring in scala.Predef.
    Definition Classes
      Ensuring

20. #### final def eq(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

21. #### def equals(other: Any): Boolean

    Definition Classes
      Phase → AnyRef → Any

22. #### def erasedTypes: Boolean

    Definition Classes
      GlobalPhase → Phase

23. #### def finalize(): Unit

    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( classOf[java.lang.Throwable] )

24. #### def findHostClass(selector: Global.Type, sym: Global.Symbol): Global.Symbol

    If the selector type has a member with the right name, it is the host class; otherwise the symbol's owner.

25. #### def flagMask: Long

    Definition Classes
      Phase

26. #### def flatClasses: Boolean

    Definition Classes
      GlobalPhase → Phase

27. #### val fmask: Long

    Definition Classes
      Phase

28. #### def formatted(fmtstr: String): String

    Implicit information
      This member is added by an implicit conversion from ICodePhase to StringFormat performed by method any2stringfmt in scala.Predef.
    Definition Classes
      StringFormat
    Annotations
      @inline()

29. #### def gen(tree: Global.Tree, ctx: Context): Context

30. #### def gen(trees: List[Global.Tree], ctx: Context): Context

31. #### def gen(tree: Global.Tree): Context

32. #### def genCast(from: Global.icodes.TypeKind, to: Global.icodes.TypeKind, ctx: Context, cast: Boolean): Unit

33. #### def genCoercion(tree: Global.Tree, ctx: Context, code: Int): Unit

    Generate coercion denoted by "code"

34. #### def genConversion(from: Global.icodes.TypeKind, to: Global.icodes.TypeKind, ctx: Context, cast: Boolean): Unit

35. #### def genEqEqPrimitive(l: Global.Tree, r: Global.Tree, ctx: Context)(thenCtx: Context, elseCtx: Context): Unit

    Generate the "==" code for object references.

    Generate the "==" code for object references. It is equivalent of if (l eq null) r eq null else l.equals(r);

    l

      left-hand side of the '=='

    r

      right-hand side of the '=='

    ctx

      current context

    thenCtx

      target context if the comparison yields true

    elseCtx

      target context if the comparison yields false

36. #### def genScalaHash(tree: Global.Tree, ctx: Context): Context

    Generate the scala ## method.

37. #### def genStringConcat(tree: Global.Tree, ctx: Context): Context

    Generate string concatenation.

    Generate string concatenation.

    tree

      ...

    ctx

      ...

    returns

      ...

38. #### final def getClass(): Class[_]

    Definition Classes
      AnyRef → Any

39. #### def getMaxType(ts: List[Global.Type]): Global.icodes.TypeKind

40. #### def getZeroOf(k: Global.icodes.TypeKind): Global.icodes.Instruction

41. #### def hasNext: Boolean

    Definition Classes
      Phase

42. #### def hashCode(): Int

    Definition Classes
      Phase → AnyRef → Any

43. #### val id: Id

    Definition Classes
      Phase

44. #### def ifOneIsNull(l: Global.Tree, r: Global.Tree): Global.Tree

45. #### final def isInstanceOf[T0]: Boolean

    Definition Classes
      Any

46. #### def isNull(t: Global.Tree): Boolean

    Some useful equality helpers.

47. #### def isPrimitive(fun: Global.Symbol): Boolean

    Is the given symbol a primitive operation?

48. #### def iterator: collection.Iterator[reflect.internal.Phase]

    Definition Classes
      Phase

49. #### def keepsTypeParams: Boolean

    Definition Classes
      Phase

50. #### def liftStringConcat(tree: Global.Tree): List[Global.Tree]

    Returns a list of trees that each should be concatenated, from left to right.

    Returns a list of trees that each should be concatenated, from left to right. It turns a chained call like "a".+("b").+("c") into a list of arguments.

51. #### def mayCleanStack(tree: Global.Tree): Boolean

    Does this tree have a try-catch block?

52. #### def name: String

    Definition Classes
      StdPhase → Phase

53. #### final def ne(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

54. #### def newFlags: Long

    Definition Classes
      StdPhase → Phase

55. #### def next: reflect.internal.Phase

    Definition Classes
      Phase

56. #### def nextFlags: Long

    Definition Classes
      StdPhase → Phase

57. #### final def notify(): Unit

    Definition Classes
      AnyRef

58. #### final def notifyAll(): Unit

    Definition Classes
      AnyRef

59. #### def prune(method: Global.icodes.IMethod): Unit

    If the block consists of a single unconditional jump, prune it by replacing the instructions in the predecessor to jump directly to the JUMP target of the block.

    If the block consists of a single unconditional jump, prune it by replacing the instructions in the predecessor to jump directly to the JUMP target of the block.

    method

      ...

60. #### def refChecked: Boolean

    Definition Classes
      GlobalPhase → Phase

61. #### def run(): Unit

    Definition Classes
      ICodePhase → GlobalPhase → Phase

62. #### def savingCleanups[T](ctx: Context)(body: ⇒ T): T

63. #### def specialized: Boolean

    Definition Classes
      GlobalPhase → Phase

64. #### final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
      AnyRef

65. #### def toString(): String

    Definition Classes
      Phase → AnyRef → Any

66. #### var unit: Global.CompilationUnit

67. #### final def wait(): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

68. #### final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

69. #### final def wait(arg0: Long): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

70. #### def →[B](y: B): (ICodePhase, B)

    Implicit information
      This member is added by an implicit conversion from ICodePhase to ArrowAssoc[ICodePhase] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
      ArrowAssoc

### Shadowed Implicit Value Members

1. #### val self: Any

   Implicit information
     This member is added by an implicit conversion from ICodePhase to StringAdd performed by method any2stringadd in scala.Predef.
   Shadowing
     This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
     To access this member you can use a type ascription:

         (iCodePhase: StringAdd).self

   Definition Classes
     StringAdd

2. #### val self: Any

   Implicit information
     This member is added by an implicit conversion from ICodePhase to StringFormat performed by method any2stringfmt in scala.Predef.
   Shadowing
     This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
     To access this member you can use a type ascription:

         (iCodePhase: StringFormat).self

   Definition Classes
     StringFormat

### Deprecated Value Members

1. #### def x: ICodePhase

   Implicit information
     This member is added by an implicit conversion from ICodePhase to ArrowAssoc[ICodePhase] performed by method any2ArrowAssoc in scala.Predef.
   Shadowing
     This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
     To access this member you can use a type ascription:

         (iCodePhase: ArrowAssoc[ICodePhase]).x

   Definition Classes
     ArrowAssoc
   Annotations
     @deprecated
   Deprecated

     (Since version 2.10.0) Use `leftOfArrow`instead``

2. #### def x: ICodePhase

   Implicit information
     This member is added by an implicit conversion from ICodePhase to Ensuring[ICodePhase] performed by method any2Ensuring in scala.Predef.
   Shadowing
     This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
     To access this member you can use a type ascription:

         (iCodePhase: Ensuring[ICodePhase]).x

   Definition Classes
     Ensuring
   Annotations
     @deprecated
   Deprecated

     (Since version 2.10.0) Use `resultOfEnsuring`instead``

### Inherited from GenICode.StdPhase

### Inherited from GlobalPhase

### Inherited from reflect.internal.Phase

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion any2stringadd from ICodePhase to StringAdd

### Inherited by implicit conversion any2stringfmt from ICodePhase to StringFormat

### Inherited by implicit conversion any2ArrowAssoc from ICodePhase to ArrowAssoc[ICodePhase]

### Inherited by implicit conversion any2Ensuring from ICodePhase to Ensuring[ICodePhase]

### Ungrouped