The abstract interpreter that will be used for the abstract interpretation.
The abstract interpreter that will be used for the abstract interpretation.
The domain that will be used to perform the abstract interpretation of the called method.
The domain that will be used to perform the abstract interpretation of the called method.
In general, explicit support is required to identify recursive calls if the domain also follows method invocations,
Returns true
if the given method should be invoked.
Returns true
if the given method should be invoked.
Performs the invocation of the given method using the given operands.
Performs the invocation of the given method using the given operands.
The default implementation only supports the case where we can precisely resolve the target.
The default implementation only supports the case where we can precisely resolve the target.
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.
For those invokestatic
calls for which we have no concrete method (e.g.,
the respective class file was never loaded or the method is native) or
if we have a recursive invocation, the super implementation is called.
For those invokestatic
calls for which we have no concrete method (e.g.,
the respective class file was never loaded or the method is native) or
if we have a recursive invocation, the super implementation is called.
Converts the results (DomainValue
s) of the evaluation of the called
method into the calling domain.
Converts the results (DomainValue
s) of the evaluation of the called
method into the calling domain.
If the returned value is one of the parameters (determined using reference identity), then the parameter is mapped back to the original operand.
If true
the exceptions thrown by the called method are will be used
during the evaluation of the calling method.
If true
the exceptions thrown by the called method are will be used
during the evaluation of the calling method.
Mix in this trait if methods that are called by
invokeXYZ
instructions should actually be interpreted using a custom domain.