trait RecordVoidReturns extends ReturnInstructionsDomain
Records the program counters of all return (void) instructions that are reached.
Usage
Typical usage:
class MyDomain extends ...DefaultHandlingOfVoidReturns with RecordVoidReturns
This domain forwards all instruction evaluation calls to the super trait.
Core Properties
- Needs to be stacked upon a base implementation of the domain ReturnInstructionsDomain.
- Collects information directly associated with the analyzed code block.
- Not thread-safe.
- Not reusable.
- Self Type
- RecordVoidReturns with ValuesDomain with Configuration with ExceptionsFactory
- Source
- RecordVoidReturns.scala
- Alphabetic
- By Inheritance
- RecordVoidReturns
- ReturnInstructionsDomain
- ReturnInstructionsDomain
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def abruptMethodExecution(pc: Int, exceptionValue: (RecordVoidReturns.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
- 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
.
- abstract def areturn(pc: Int, value: (RecordVoidReturns.this)#DomainValue): Computation[Nothing, (RecordVoidReturns.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: (RecordVoidReturns.this)#DomainValue): Computation[Nothing, (RecordVoidReturns.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: (RecordVoidReturns.this)#DomainValue): Computation[Nothing, (RecordVoidReturns.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: (RecordVoidReturns.this)#DomainValue): Computation[Nothing, (RecordVoidReturns.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: (RecordVoidReturns.this)#DomainValue): Computation[Nothing, (RecordVoidReturns.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
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 allReturnVoidInstructions: PCs
- 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 handleReturn(pc: Int): Computation[Nothing, (RecordVoidReturns.this)#ExceptionValue]
- Attributes
- protected[this]
- Definition Classes
- ReturnInstructionsDomain
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- 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 returnVoid(pc: Int): Computation[Nothing, (RecordVoidReturns.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
- RecordVoidReturns → ReturnInstructionsDomain
- 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