scala.tools.nsc.backend.icode.GenICode

Label

class Label extends AnyRef

Represent a label in the current method code. In order to support forward jumps, labels can be created without having a deisgnated target block. They can later be attached by calling anchor.

Source
GenICode.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. Label
  2. AnyRef
  3. Any
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Label(symbol: Symbol)

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. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. def addCallingInstruction(i: Instruction): Unit

    Add an instruction that refers to this label.

  7. def anchor(b: BasicBlock): Label

    Fix this label to the given basic block.

  8. var anchored: Boolean

  9. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  10. var block: BasicBlock

  11. def clone(): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  12. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  14. def finalize(): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  15. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  16. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  17. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  18. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  19. final def notify(): Unit

    Definition Classes
    AnyRef
  20. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  21. var params: List[Symbol]

  22. def patch(instr: Instruction): Instruction

    Return the patched instruction.

    Return the patched instruction. If the given instruction jumps to this label, replace it with the basic block. Otherwise, return the same instruction. Conditional jumps have more than one label, so they are replaced only if all labels are anchored.

  23. def patch(code: Code): Unit

    Patch the code by replacing pseudo call instructions with jumps to the given basic block.

  24. def setParams(p: List[Symbol]): Label

  25. val symbol: Symbol

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

    Definition Classes
    AnyRef
  27. def toString(): String

    Definition Classes
    Label → AnyRef → Any
  28. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  29. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  30. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from AnyRef

Inherited from Any