This type determines in which way the returned values are recorded.
This type determines in which way the returned values are recorded.
For example, if it is sufficient to just record the last value that was
returned by a specific return instruction, then the type could be DomainValue
and the implementation of joinReturnedValues(...)
would just return the last
given value. Furthermore, returnedValue
would be the identity function.
However, if you have a (more) precise domain you may want to collect all
returned values. In this case the type of ReturnedValue
could be Set[DomainValue].
Called by the abstract interpreter when an exception is thrown that is not (guaranteed to be) handled within the same method.
Called by the abstract interpreter when an exception is thrown that is not (guaranteed to be) handled within the same method.
If the original exception value is null
(/*E.g.*/throw null;
), then
the exception that is actually thrown is a new NullPointerException
. This
situation is, however, completely handled by OPAL and the exception value
is hence never null
.
Called when a return instruction with the given pc
is reached.
Called when a return instruction with the given pc
is reached.
In other words, when the method returns normally.
The given value
, which is a value with computational type reference, is returned
by the return instruction with the given pc
.
The given value
, which is a value with computational type reference, is returned
by the return instruction with the given pc
.
The given value
, which is a value with computational type double, is returned
by the return instruction with the given pc
.
The given value
, which is a value with computational type double, is returned
by the return instruction with the given pc
.
The given value
, which is a value with computational type float, is returned
by the return instruction with the given pc
.
The given value
, which is a value with computational type float, is returned
by the return instruction with the given pc
.
The given value
, which is a value with computational type integer, is returned
by the return instruction with the given pc
.
The given value
, which is a value with computational type integer, is returned
by the return instruction with the given pc
.
The given value
, which is a value with computational type long, is returned
by the return instruction with the given pc
.
The given value
, which is a value with computational type long, is returned
by the return instruction with the given pc
.
Infrastructure to record returned values.