trait RecordJoinedThrownExceptions extends RecordThrownExceptions
Records the exception that is thrown by an instruction. If an instruction throws
multiple exceptions. The exceptions are join
ed using the Domain#DomainValue's
join
method.
This trait can be used to record the thrown exceptions independently of the precision of the domain.
- Self Type
- RecordJoinedThrownExceptions with ValuesDomain with Configuration with ExceptionsFactory
- Source
- RecordJoinedThrownExceptions.scala
- Alphabetic
- By Inheritance
- RecordJoinedThrownExceptions
- RecordThrownExceptions
- ReturnInstructionsDomain
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- type ThrownException = (RecordJoinedThrownExceptions.this)#DomainReferenceValue
This type determines in which way thrown exceptions are recorded.
This type determines in which way thrown exceptions are recorded.
For example, if you want to collect all thrown exceptions, then the type of
ThrownException
could beSet[ThrownException]
.- Definition Classes
- RecordJoinedThrownExceptions → RecordThrownExceptions
- See also
The implementation of org.opalj.ai.domain.RecordAllThrownExceptions.
The implementation of org.opalj.ai.domain.RecordLastReturnedValues. It follows the same pattern.
Abstract Value Members
- abstract def areturn(pc: Int, value: (RecordJoinedThrownExceptions.this)#DomainValue): Computation[Nothing, (RecordJoinedThrownExceptions.this)#ExceptionValue]
The given
value
, which is a value with computational type reference, is returned by the return instruction with the givenpc
.The given
value
, which is a value with computational type reference, is returned by the return instruction with the givenpc
.- Definition Classes
- ReturnInstructionsDomain
- abstract def dreturn(pc: Int, value: (RecordJoinedThrownExceptions.this)#DomainValue): Computation[Nothing, (RecordJoinedThrownExceptions.this)#ExceptionValue]
The given
value
, which is a value with computational type double, is returned by the return instruction with the givenpc
.The given
value
, which is a value with computational type double, is returned by the return instruction with the givenpc
.- Definition Classes
- ReturnInstructionsDomain
- abstract def freturn(pc: Int, value: (RecordJoinedThrownExceptions.this)#DomainValue): Computation[Nothing, (RecordJoinedThrownExceptions.this)#ExceptionValue]
The given
value
, which is a value with computational type float, is returned by the return instruction with the givenpc
.The given
value
, which is a value with computational type float, is returned by the return instruction with the givenpc
.- Definition Classes
- ReturnInstructionsDomain
- abstract def ireturn(pc: Int, value: (RecordJoinedThrownExceptions.this)#DomainValue): Computation[Nothing, (RecordJoinedThrownExceptions.this)#ExceptionValue]
The given
value
, which is a value with computational type integer, is returned by the return instruction with the givenpc
.The given
value
, which is a value with computational type integer, is returned by the return instruction with the givenpc
.- Definition Classes
- ReturnInstructionsDomain
- abstract def lreturn(pc: Int, value: (RecordJoinedThrownExceptions.this)#DomainValue): Computation[Nothing, (RecordJoinedThrownExceptions.this)#ExceptionValue]
The given
value
, which is a value with computational type long, is returned by the return instruction with the givenpc
.The given
value
, which is a value with computational type long, is returned by the return instruction with the givenpc
.- Definition Classes
- ReturnInstructionsDomain
- abstract def returnVoid(pc: Int): Computation[Nothing, (RecordJoinedThrownExceptions.this)#ExceptionValue]
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.- Definition Classes
- ReturnInstructionsDomain
Concrete Value Members
- def abruptMethodExecution(pc: Int, exception: (RecordJoinedThrownExceptions.this)#ExceptionValue): Unit
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.
- Definition Classes
- RecordThrownExceptions → ReturnInstructionsDomain
- Note
If the original exception value is
null
(/*E.g.*/throw null;
), then the exception that is actually thrown is a newNullPointerException
. This situation is, however, completely handled by OPAL and the exception value is hence nevernull
.
- def allThrownExceptions: LongMap[(RecordJoinedThrownExceptions.this)#ThrownException]
Returns all thrown exceptions.
Returns all thrown exceptions. The key of the returned map is the pc of the instruction which threw the exception.
- Definition Classes
- RecordThrownExceptions