scala.tools.nsc.backend.icode.Members

IMethod

class IMethod extends ICodes.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).

Linear Supertypes
ICodes.IMember, math.Ordered[ICodes.IMember], Comparable[ICodes.IMember], AnyRef, Any
Known Subclasses
Type Hierarchy Learn more about scaladoc diagrams
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. IMethod
  2. IMember
  3. Ordered
  4. Comparable
  5. AnyRef
  6. Any
Implicitly
  1. by orderingToOrdered
  2. by StringAdd
  3. by StringFormat
  4. by Ensuring
  5. by ArrowAssoc
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new IMethod(symbol: Global.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 +(other: String): String

    Implicit information
    This member is added by an implicit conversion from ICodes.IMethod to StringAdd[ICodes.IMethod] performed by method StringAdd in scala.Predef.
    Definition Classes
    StringAdd
  5. def ->[B](y: B): (ICodes.IMethod, B)

    Implicit information
    This member is added by an implicit conversion from ICodes.IMethod to ArrowAssoc[ICodes.IMethod] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  6. def <(that: ICodes.IMember): Boolean

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

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

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

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

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

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

  13. def addLocal(l: ICodes.Local): ICodes.Local

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

  15. def addParam(p: ICodes.Local): Unit

  16. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  17. def blocks: List[ICodes.BasicBlock]

  18. var bytecodeHasEHs: Boolean

  19. var bytecodeHasInvokeDynamic: Boolean

  20. def clone(): AnyRef

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

  22. def compare(other: ICodes.IMember): Int

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

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

  25. def ensuring(cond: (ICodes.IMethod) ⇒ Boolean, msg: ⇒ Any): ICodes.IMethod

    Implicit information
    This member is added by an implicit conversion from ICodes.IMethod to Ensuring[ICodes.IMethod] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  26. def ensuring(cond: (ICodes.IMethod) ⇒ Boolean): ICodes.IMethod

    Implicit information
    This member is added by an implicit conversion from ICodes.IMethod to Ensuring[ICodes.IMethod] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  27. def ensuring(cond: Boolean, msg: ⇒ Any): ICodes.IMethod

    Implicit information
    This member is added by an implicit conversion from ICodes.IMethod to Ensuring[ICodes.IMethod] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  28. def ensuring(cond: Boolean): ICodes.IMethod

    Implicit information
    This member is added by an implicit conversion from ICodes.IMethod to Ensuring[ICodes.IMethod] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  29. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  30. def equals(other: Any): Boolean

    Definition Classes
    IMember → AnyRef → Any
  31. var exh: List[ICodes.ExceptionHandler]

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

  32. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  33. def foreachBlock[U](f: (ICodes.BasicBlock) ⇒ U): Unit

  34. def formatted(fmtstr: String): String

    Implicit information
    This member is added by an implicit conversion from ICodes.IMethod to StringFormat[ICodes.IMethod] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  35. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  36. def hasCode: Boolean

  37. def hashCode(): Int

    Definition Classes
    IMember → AnyRef → Any
  38. def isAbstractMethod: Boolean

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

  39. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  40. def isStatic: Boolean

  41. def lastBlock: ICodes.BasicBlock

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

  43. var locals: List[ICodes.Local]

    local variables and method parameters

  44. def lookupLocal(sym: Global.Symbol): Option[ICodes.Local]

  45. def lookupLocal(n: Global.Name): Option[ICodes.Local]

  46. var native: Boolean

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

    Definition Classes
    AnyRef
  48. def newBlock(): ICodes.BasicBlock

  49. 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.

  50. final def notify(): Unit

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

    Definition Classes
    AnyRef
  52. var params: List[ICodes.Local]

    method parameters

  53. var recursive: Boolean

  54. var returnType: ICodes.TypeKind

  55. def setCode(code: ICodes.Code): ICodes.IMethod

  56. var sourceFile: SourceFile

  57. def startBlock: ICodes.BasicBlock

  58. val symbol: Global.Symbol

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

    Definition Classes
    AnyRef
  60. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  64. def [B](y: B): (ICodes.IMethod, B)

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

Shadowed Implicit Value Members

  1. def <(that: ICodes.IMethod): Boolean

    Implicit information
    This member is added by an implicit conversion from ICodes.IMethod to math.Ordered[ICodes.IMethod] performed by method orderingToOrdered in scala.math.Ordered. This conversion will take place only if an implicit value of type math.Ordering[ICodes.IMethod] 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:
    (iMethod: math.Ordered[ICodes.IMethod]).<(that)
    Definition Classes
    Ordered
  2. def <=(that: ICodes.IMethod): Boolean

    Implicit information
    This member is added by an implicit conversion from ICodes.IMethod to math.Ordered[ICodes.IMethod] performed by method orderingToOrdered in scala.math.Ordered. This conversion will take place only if an implicit value of type math.Ordering[ICodes.IMethod] 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:
    (iMethod: math.Ordered[ICodes.IMethod]).<=(that)
    Definition Classes
    Ordered
  3. def >(that: ICodes.IMethod): Boolean

    Implicit information
    This member is added by an implicit conversion from ICodes.IMethod to math.Ordered[ICodes.IMethod] performed by method orderingToOrdered in scala.math.Ordered. This conversion will take place only if an implicit value of type math.Ordering[ICodes.IMethod] 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:
    (iMethod: math.Ordered[ICodes.IMethod]).>(that)
    Definition Classes
    Ordered
  4. def >=(that: ICodes.IMethod): Boolean

    Implicit information
    This member is added by an implicit conversion from ICodes.IMethod to math.Ordered[ICodes.IMethod] performed by method orderingToOrdered in scala.math.Ordered. This conversion will take place only if an implicit value of type math.Ordering[ICodes.IMethod] 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:
    (iMethod: math.Ordered[ICodes.IMethod]).>=(that)
    Definition Classes
    Ordered
  5. def compare(that: ICodes.IMethod): Int

    Implicit information
    This member is added by an implicit conversion from ICodes.IMethod to math.Ordered[ICodes.IMethod] performed by method orderingToOrdered in scala.math.Ordered. This conversion will take place only if an implicit value of type math.Ordering[ICodes.IMethod] 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:
    (iMethod: math.Ordered[ICodes.IMethod]).compare(that)
    Definition Classes
    Ordered
  6. def compareTo(that: ICodes.IMethod): Int

    Implicit information
    This member is added by an implicit conversion from ICodes.IMethod to math.Ordered[ICodes.IMethod] performed by method orderingToOrdered in scala.math.Ordered. This conversion will take place only if an implicit value of type math.Ordering[ICodes.IMethod] 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:
    (iMethod: math.Ordered[ICodes.IMethod]).compareTo(that)
    Definition Classes
    Ordered → Comparable

Inherited from ICodes.IMember

Inherited from math.Ordered[ICodes.IMember]

Inherited from Comparable[ICodes.IMember]

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion orderingToOrdered from ICodes.IMethod to math.Ordered[ICodes.IMethod]

Inherited by implicit conversion StringAdd from ICodes.IMethod to StringAdd[ICodes.IMethod]

Inherited by implicit conversion StringFormat from ICodes.IMethod to StringFormat[ICodes.IMethod]

Inherited by implicit conversion Ensuring from ICodes.IMethod to Ensuring[ICodes.IMethod]

Inherited by implicit conversion ArrowAssoc from ICodes.IMethod to ArrowAssoc[ICodes.IMethod]

Ungrouped