scala.tools.nsc.backend.icode.Members

IMethod

class IMethod extends IMember

Represents a method in ICode. Local variables contain both locals and parameters, similar to the way the JVM 'sees' them.

Locals and parameters are added in reverse order, as they are kept in cons-lists. The 'builder' is responsible for reversing them and putting them back, when the generation is finished (GenICode does that).

Source
Members.scala
Linear Supertypes
IMember, Ordered[IMember], Comparable[IMember], AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. IMethod
  2. IMember
  3. Ordered
  4. Comparable
  5. AnyRef
  6. Any
Visibility
  1. Public
  2. All

Instance Constructors

  1. new IMethod(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. def <(that: IMember): Boolean

    Definition Classes
    Ordered
  5. def <=(that: IMember): Boolean

    Definition Classes
    Ordered
  6. final def ==(arg0: AnyRef): Boolean

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

    Definition Classes
    Any
  8. def >(that: IMember): Boolean

    Definition Classes
    Ordered
  9. def >=(that: IMember): Boolean

    Definition Classes
    Ordered
  10. def addHandler(e: ExceptionHandler): Unit

  11. def addLocal(l: Local): Local

  12. def addLocals(ls: List[Local]): Unit

  13. def addParam(p: Local): Unit

  14. def addParams(as: List[Local]): Unit

  15. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  16. def blocks: List[BasicBlock]

  17. def checkLocals(): Unit

  18. def clone(): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  19. var code: Code

  20. def compare(other: IMember): Int

    Definition Classes
    IMember → Ordered
  21. def compareTo(that: IMember): Int

    Definition Classes
    Ordered → Comparable
  22. def dump(): Unit

  23. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  25. var exh: List[ExceptionHandler]

    The list of exception handlers, ordered from innermost to outermost.

  26. def finalize(): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  27. def foreachBlock[U](f: (BasicBlock) ⇒ U): Unit

  28. def foreachInstr[U](f: (Instruction) ⇒ U): Unit

  29. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  30. def hasCode: Boolean

  31. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  32. def isAbstractMethod: Boolean

    Is this method deferred ('abstract' in Java sense)?

  33. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  34. def isStatic: Boolean

  35. def lastBlock: BasicBlock

  36. def linearizedBlocks(lin: Linearizer = self.linearizer): List[BasicBlock]

  37. var locals: List[Local]

    local variables and method parameters

  38. def lookupLocal(sym: Symbol): Option[Local]

  39. def lookupLocal(n: Name): Option[Local]

  40. var native: Boolean

  41. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  42. def newBlock(): BasicBlock

  43. def normalize(): Unit

    Merge together blocks that have a single successor which has a single predecessor.

    Merge together blocks that have a single successor which has a single predecessor. Exception handlers are taken into account (they might force to break a block of straight line code like that).

    This method should be most effective after heavy inlining.

  44. final def notify(): Unit

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

    Definition Classes
    AnyRef
  46. var params: List[Local]

    method parameters

  47. var recursive: Boolean

  48. var returnType: TypeKind

  49. def setCode(code: Code): IMethod

  50. var sourceFile: SourceFile

  51. def startBlock: BasicBlock

  52. val symbol: Symbol

    Definition Classes
    IMethodIMember
  53. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  54. def toString(): String

    Definition Classes
    IMethod → AnyRef → Any
  55. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from IMember

Inherited from Ordered[IMember]

Inherited from Comparable[IMember]

Inherited from AnyRef

Inherited from Any