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

Source
Members.scala
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 any2stringadd
  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: Any): Boolean

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Definition Classes
    AnyRef → Any
  3. def +(other: String): String

    Implicit information
    This member is added by an implicit conversion from ICodes.IMethod to any2stringadd[ICodes.IMethod] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. 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()
  5. def <(that: ICodes.IMember): Boolean

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

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

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

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

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

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

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

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

  14. final def asInstanceOf[T0]: T0

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

  16. var bytecodeHasEHs: Boolean

  17. var bytecodeHasInvokeDynamic: Boolean

  18. def clone(): AnyRef

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

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

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

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

  23. 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
  24. 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
  25. 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
  26. 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
  27. final def eq(arg0: AnyRef): Boolean

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

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

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

  30. def finalize(): Unit

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

  32. 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()
  33. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  34. def hasCode: Boolean

  35. def hashCode(): Int

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

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

  37. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  38. def isStatic: Boolean

  39. def lastBlock: ICodes.BasicBlock

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

  41. var locals: List[ICodes.Local]

    local variables and method parameters

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

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

  44. var native: Boolean

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

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

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

  48. final def notify(): Unit

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

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

    method parameters

  51. var recursive: Boolean

  52. var returnType: ICodes.TypeKind

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

  54. var sourceFile: SourceFile

  55. def startBlock: ICodes.BasicBlock

  56. val symbol: Global.Symbol

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

    Definition Classes
    AnyRef
  58. def toString(): String

    Definition Classes
    IMethod → AnyRef → Any
  59. final def updateRecursive(called: Global.Symbol): Unit

  60. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  63. 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 any2stringadd from ICodes.IMethod to any2stringadd[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