Packages

case class NonVirtualMethodCall[+V <: Var[V]](pc: Int, declaringClass: ObjectType, isInterface: Boolean, name: String, descriptor: MethodDescriptor, receiver: Expr[V], params: Seq[Expr[V]]) extends InstanceMethodCall[V] with Product with Serializable

Call of an instance method for which no virtual method call resolution has to happen. I.e., it is either a super-call, a private instance method call or a constructor call.

Source
Stmt.scala
Linear Supertypes
Serializable, Product, Equals, InstanceMethodCall[V], MethodCall[V], Call[V], Stmt[V], ASTNode[V], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. NonVirtualMethodCall
  2. Serializable
  3. Product
  4. Equals
  5. InstanceMethodCall
  6. MethodCall
  7. Call
  8. Stmt
  9. ASTNode
  10. AnyRef
  11. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new NonVirtualMethodCall(pc: Int, declaringClass: ObjectType, isInterface: Boolean, name: String, descriptor: MethodDescriptor, receiver: Expr[V], params: Seq[Expr[V]])

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def allParams: Seq[Expr[V]]

    The parameters of the call (including the implicit this reference if necessary.)

    The parameters of the call (including the implicit this reference if necessary.)

    Definition Classes
    InstanceMethodCallCall
  5. def asArrayStore: ArrayStore[V]
    Definition Classes
    Stmt
  6. def asAssignment: Assignment[V]
    Definition Classes
    Stmt
  7. def asAssignmentLike: AssignmentLikeStmt[V]
    Definition Classes
    Stmt
  8. def asCaughtException: CaughtException[V]
    Definition Classes
    Stmt
  9. def asCheckcast: Checkcast[V]
    Definition Classes
    Stmt
  10. def asExprStmt: ExprStmt[V]
    Definition Classes
    Stmt
  11. def asFieldWriteAccessStmt: FieldWriteAccessStmt[V]
    Definition Classes
    Stmt
  12. def asGoto: Goto
    Definition Classes
    Stmt
  13. def asIf: If[V]
    Definition Classes
    Stmt
  14. final def asInstanceMethodCall: NonVirtualMethodCall.this.type
    Definition Classes
    InstanceMethodCallStmt
  15. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  16. def asInvokedynamicMethodCall: InvokedynamicMethodCall[V]
    Definition Classes
    Stmt
  17. def asJSR: JSR
    Definition Classes
    Stmt
  18. final def asMethodCall: NonVirtualMethodCall.this.type
    Definition Classes
    MethodCallStmt
  19. def asMonitorEnter: MonitorEnter[V]
    Definition Classes
    Stmt
  20. def asMonitorExit: MonitorExit[V]
    Definition Classes
    Stmt
  21. final def asNonVirtualMethodCall: NonVirtualMethodCall.this.type
    Definition Classes
    NonVirtualMethodCallStmt
  22. def asNop: Nop
    Definition Classes
    Stmt
  23. def asPutField: PutField[V]
    Definition Classes
    Stmt
  24. def asPutStatic: PutStatic[V]
    Definition Classes
    Stmt
  25. def asRet: Ret
    Definition Classes
    Stmt
  26. def asReturn: Return
    Definition Classes
    Stmt
  27. def asReturnValue: ReturnValue[V]
    Definition Classes
    Stmt
  28. def asStaticMethodCall: StaticMethodCall[V]
    Definition Classes
    Stmt
  29. def asSwitch: Switch[V]
    Definition Classes
    Stmt
  30. def asSynchronizationStmt: SynchronizationStmt[V]
    Definition Classes
    Stmt
  31. def asThrow: Throw[V]
    Definition Classes
    Stmt
  32. def asVirtualMethodCall: VirtualMethodCall[V]
    Definition Classes
    Stmt
  33. final def astID: Int

    Each type of node is assigned a different id to make it easily possible to do a switch over all nodes.

    Each type of node is assigned a different id to make it easily possible to do a switch over all nodes.

    Definition Classes
    NonVirtualMethodCallASTNode
  34. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  35. val declaringClass: ObjectType

    The declaring class; can be an array type for all methods defined by java.lang.Object.

    The declaring class; can be an array type for all methods defined by java.lang.Object.

    Definition Classes
    NonVirtualMethodCallCall
  36. val descriptor: MethodDescriptor
    Definition Classes
    NonVirtualMethodCallCall
  37. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  38. final def forallSubExpressions[W >: V <: Var[W]](p: (Expr[W]) => Boolean): Boolean
    Definition Classes
    InstanceMethodCallStmt
  39. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  40. def isArrayStore: Boolean
    Definition Classes
    Stmt
  41. def isAssignment: Boolean
    Definition Classes
    Stmt
  42. def isCaughtException: Boolean
    Definition Classes
    Stmt
  43. def isCheckcast: Boolean
    Definition Classes
    Stmt
  44. def isExprStmt: Boolean
    Definition Classes
    Stmt
  45. def isIf: Boolean
    Definition Classes
    Stmt
  46. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  47. val isInterface: Boolean

    true iff the declaring class is an interface.

    true iff the declaring class is an interface.

    Definition Classes
    NonVirtualMethodCallCall
  48. final def isMethodCall: Boolean
    Definition Classes
    MethodCallStmt
  49. def isMonitorEnter: Boolean
    Definition Classes
    Stmt
  50. def isMonitorExit: Boolean
    Definition Classes
    Stmt
  51. final def isNonVirtualMethodCall: Boolean
    Definition Classes
    NonVirtualMethodCallStmt
  52. def isNop: Boolean
    Definition Classes
    Stmt
  53. def isPutField: Boolean
    Definition Classes
    Stmt
  54. def isPutStatic: Boolean
    Definition Classes
    Stmt
  55. def isReturnValue: Boolean
    Definition Classes
    Stmt
  56. final def isSideEffectFree: Boolean

    true if the statement/expression is GUARANTEED to have no externally observable effect if it is not executed.

    true if the statement/expression is GUARANTEED to have no externally observable effect if it is not executed. Sideeffect free instructions can be removed if the result of the evaluation of the expression/statement is not used. For those instructions, which may result in an exception, it has to be guaranteed that the exception is NEVER thrown. For example, a div instruction is sideeffect free if it is (statically) known that the divisor is always not equal to zero; otherwise, even if the result value is not used, the expression is not (potentially) side effect free. An array load is only side effect free if the array reference is non-null and if the index is valid.

    returns

    true if the expression is GUARENTEED to have no side effect other than wasting some CPU cycles if it is not executed.

    Definition Classes
    MethodCallASTNode
    Note

    Deeply nested expressions are not supported; i.e. an expression's sub-expressions have to be Var or Const expressions. Generally, a statements expressions have to to simple expressions too - except of the Assignment statement; in the latter case the right-expression can have references to simple expressions. Hence, in case of Assignment statements the side-effect freenes is determined by the referenced expression; in all other cases the side-effect freeness is determined directly by the statement/expression.

  57. def isStaticMethodCall: Boolean
    Definition Classes
    Stmt
  58. def isThrow: Boolean
    Definition Classes
    Stmt
  59. def isVirtualMethodCall: Boolean
    Definition Classes
    Stmt
  60. val name: String
    Definition Classes
    NonVirtualMethodCallCall
  61. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  62. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  63. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  64. val params: Seq[Expr[V]]

    The parameters of the call (excluding the implicit this reference.)

    The parameters of the call (excluding the implicit this reference.)

    Definition Classes
    NonVirtualMethodCallCall
  65. val pc: Int

    The program counter of the original underyling bytecode instruction.

    The program counter of the original underyling bytecode instruction.

    This pc is independent of the (implicit) index of the statement in the generated statements array! This pc is, e.g., useful for getting line number information.

    Definition Classes
    NonVirtualMethodCallStmt
  66. def productElementNames: Iterator[String]
    Definition Classes
    Product
  67. val receiver: Expr[V]
  68. final def receiverOption: Some[Expr[V]]

    The receiver of the call if it is an instance call, None if it is a static call.

    The receiver of the call if it is an instance call, None if it is a static call.

    Definition Classes
    InstanceMethodCallCall
  69. def resolveCallTarget(callerClassType: ObjectType)(implicit p: ProjectLike): Result[Method]

    Identifies the potential call target if it can be found.

    Identifies the potential call target if it can be found.

    See also

    [ProjectLike#specialCall] for further details.

  70. def resolveCallTargets(callingContext: ObjectType)(implicit p: ProjectLike, ev: <:<[V, DUVar[ValueInformation]]): Set[Method]

    Convenience method which abstracts over all kinds of calls; not all information is always required.

    Convenience method which abstracts over all kinds of calls; not all information is always required.

    Definition Classes
    NonVirtualMethodCallCall
  71. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  72. final def toCanonicalForm(implicit ev: <:<[V, DUVar[ValueInformation]]): Stmt[DUVar[ValueInformation]]

    See org.opalj.value.ValueInformation.toCanonicalForm for detail.

  73. def toString(): String
    Definition Classes
    NonVirtualMethodCall → AnyRef → Any
  74. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  75. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  76. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from InstanceMethodCall[V]

Inherited from MethodCall[V]

Inherited from Call[V]

Inherited from Stmt[V]

Inherited from ASTNode[V]

Inherited from AnyRef

Inherited from Any

Ungrouped