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
- 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 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
- 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 hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def joinThrownExceptions(pc: Int, previouslyThrownException: (RecordJoinedThrownExceptions.this)#ThrownException, thrownException: (RecordJoinedThrownExceptions.this)#ExceptionValue): (RecordJoinedThrownExceptions.this)#ThrownException
Joins the previously thrown exception(s) and the newly thrown exception.
Joins the previously thrown exception(s) and the newly thrown exception. Both exceptions are thrown by the same instruction (same
pc
).- Attributes
- protected[this]
- Definition Classes
- RecordJoinedThrownExceptions → RecordThrownExceptions
- Note
The instruction might be an
athrow
instruction or some other instruction that throws an exception.- See also
For details study the documentation of the abstract type
ThrownException
and study the subclass(es) ofRecordThrownExceptions
.
- 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()
- def recordThrownException(pc: Int, value: (RecordJoinedThrownExceptions.this)#ExceptionValue): (RecordJoinedThrownExceptions.this)#ThrownException
Wraps the given value into a
ThrownException
.Wraps the given value into a
ThrownException
.- pc
The program counter of the instruction that throws the exception. It is automatically stored in the map that associates instructions with the exceptions that are thrown.
- Attributes
- protected[this]
- Definition Classes
- RecordJoinedThrownExceptions → RecordThrownExceptions
- See also
For details study the documentation of the abstract type
ThrownException
and study the subclass(es) ofRecordThrownExceptions
.
- 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