Called when the analyzed method throws an exception that is not caught within the method.
Called when the evaluation of a subroutine terminated abruptly due to an unhandled exception.
The subroutine that will be continued. The id is the pc of the first instruction of the subroutine. It is 0 if it is the method as such.
The number of subroutines that are terminated.
Called immediately before the abstract interpretation of the specified code is performed.
Called by the interpret when a local variable with the given index (
was set to a new value and, therefore, the reference stored in the local variable
previously was useless/dead.
Called by the domain if something noteworthy was determined.
The class (typically the (partial) domain) that generated the message.
String that identifies the message. This value must not be
but it can be the empty string.
The message; a non-null
String that is formatted for the console.
Called by the framework if a constraint is established.
Called by the interpreter after an instruction (
currentPC) was evaluated and
before the instruction with the program counter
targetPC may be evaluated.
OPAL performs a depth-first exploration. However, subroutines are always first finished analyzing before an exception handler - that handles abrupt executions of the subroutine - is evaluated.
The set of initial locals computed when the method is interpreted for the first time.
Called before an instruction is evaluated.
The operand stack before the execution of the instruction.
The registers before the execution of the instruction.
Called by the abstract interpreter whenever two paths converge and the values on the operand stack and the registers are joined.
The operand stack as it was used the last time when the instruction with the given program counter was evaluated.
The registers as they were used the last time when the instruction with the given program counter was evaluated.
The current operand stack when we re-reach the instruction
The current registers.
The result of joining the operand stacks and register assignment.
Called before a jump to a subroutine.
Called by the interpreter if a successor instruction is NOT scheduled, because the abstract state didn't change.
Called if the instruction with the
targetPC was already scheduled.
OPAL performs a depth-first exploration.
Called when the abstract interpretation of a method has completed/was interrupted.
Called when a
RET instruction is encountered.
Called when the evaluation of a subroutine (JSR/RET) as a whole is completed.