trait SpecialMethodsHandling extends MethodCallsHandling
Hard-codes some part of the semantics of some very high-profile (native) methods of the JDK
(for example, System.arraycopy
).
Mixin Order
This method should be mixed in (lexically) after those domains that provide the basic handling of unresolved methods (e.g., using "just" type information) but before those that actually invoke a method!
- Self Type
- SpecialMethodsHandling with ValuesFactory with ReferenceValuesDomain with IntegerValuesDomain with Configuration with TheCode
- Source
- SpecialMethodsHandling.scala
- Alphabetic
- By Inheritance
- SpecialMethodsHandling
- MethodCallsHandling
- MethodCallsDomain
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- type MethodCallResult = Computation[(SpecialMethodsHandling.this)#DomainValue, (SpecialMethodsHandling.this)#ExceptionValues]
- Definition Classes
- MethodCallsDomain
Abstract Value Members
- abstract def invokedynamic(pc: Int, bootstrapMethod: BootstrapMethod, name: String, methodDescriptor: MethodDescriptor, operands: (SpecialMethodsHandling.this)#Operands): (SpecialMethodsHandling.this)#MethodCallResult
- Definition Classes
- MethodCallsDomain
- abstract def invokeinterface(pc: Int, declaringClass: ObjectType, name: String, methodDescriptor: MethodDescriptor, operands: (SpecialMethodsHandling.this)#Operands): (SpecialMethodsHandling.this)#MethodCallResult
- Definition Classes
- MethodCallsDomain
- abstract def invokespecial(pc: Int, declaringClass: ObjectType, isInterface: Boolean, name: String, methodDescriptor: MethodDescriptor, operands: (SpecialMethodsHandling.this)#Operands): (SpecialMethodsHandling.this)#MethodCallResult
- Definition Classes
- MethodCallsDomain
- abstract def invokevirtual(pc: Int, declaringClass: ReferenceType, name: String, methodDescriptor: MethodDescriptor, operands: (SpecialMethodsHandling.this)#Operands): (SpecialMethodsHandling.this)#MethodCallResult
- Definition Classes
- MethodCallsDomain
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def MethodCallResult(potentialExceptions: Iterable[(SpecialMethodsHandling.this)#ExceptionValue]): (SpecialMethodsHandling.this)#MethodCallResult
Factory method called to create a MethodCallResult.
Factory method called to create a MethodCallResult.
- Attributes
- protected[this]
- Definition Classes
- MethodCallsHandling
- def MethodCallResult(returnValue: (SpecialMethodsHandling.this)#DomainValue, exceptions: Iterable[(SpecialMethodsHandling.this)#ExceptionValue]): (SpecialMethodsHandling.this)#MethodCallResult
Factory method called to create a MethodCallResult.
Factory method called to create a MethodCallResult.
- Attributes
- protected[this]
- Definition Classes
- MethodCallsHandling
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def getPotentialExceptions(pc: Int): List[(SpecialMethodsHandling.this)#ExceptionValue]
- Attributes
- protected[this]
- Definition Classes
- MethodCallsHandling
- def handleInstanceBasedInvoke(pc: Int, methodDescriptor: MethodDescriptor, targetMethods: Set[Method], receiverIsNull: Answer, operands: (SpecialMethodsHandling.this)#Operands): (SpecialMethodsHandling.this)#MethodCallResult
- methodDescriptor
The method descriptor as specified by the invoke instruction. In case of the invocation of a signature polymorphic method using org.opalj.br.instructions.INVOKEVIRTUAL the descriptor of the invoked method may differ from the descriptor used by the method. Nevertheless, the MethodCallResult has to satisfy the requirements of the caller. In particular regarding the return type.
- Attributes
- protected[this]
- Definition Classes
- MethodCallsHandling
- def handleInstanceBasedInvoke(pc: Int, methodDescriptor: MethodDescriptor, operands: (SpecialMethodsHandling.this)#Operands): (SpecialMethodsHandling.this)#MethodCallResult
- Attributes
- protected[this]
- Definition Classes
- MethodCallsHandling
- def handleInstanceBasedInvoke(pc: Int, methodDescriptor: MethodDescriptor, receiverIsNull: Answer): (SpecialMethodsHandling.this)#MethodCallResult
- Attributes
- protected[this]
- Definition Classes
- MethodCallsHandling
- def handleInvoke(pc: Int, methodDescriptor: MethodDescriptor): (SpecialMethodsHandling.this)#MethodCallResult
- Attributes
- protected[this]
- Definition Classes
- MethodCallsHandling
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def invokestatic(pc: Int, declaringType: ObjectType, isInterface: Boolean, name: String, descriptor: MethodDescriptor, operands: (SpecialMethodsHandling.this)#Operands): (SpecialMethodsHandling.this)#MethodCallResult
- Definition Classes
- SpecialMethodsHandling → MethodCallsDomain
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated