package value
Provides a general query interface for querying a value's properties.
- Alphabetic
- By Inheritance
- value
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- case class AReferenceValue(referenceType: ReferenceType) extends IsReferenceValue with Product with Serializable
- trait IsBooleanValue extends IsPrimitiveValue[BooleanType]
- trait IsByteValue extends IsPrimitiveValue[ByteType]
- trait IsCharValue extends IsPrimitiveValue[CharType]
- trait IsDoubleValue extends IsPrimitiveValue[DoubleType]
- trait IsFloatValue extends IsPrimitiveValue[FloatType]
- trait IsIntegerValue extends IsPrimitiveValue[IntegerType]
- trait IsLongValue extends IsPrimitiveValue[LongType]
-
sealed
trait
IsPrimitiveValue[T <: BaseType] extends KnownTypedValue
The value has the primitive type.
-
trait
IsReferenceValue extends KnownTypedValue
Describes the essential properties of a reference value in a program.
Describes the essential properties of a reference value in a program.
For example, in the following:
val o = If(...) new Object() else "STRING"
o is a reference value (
IsReferenceValue) that (may) refers to two "simple" base values:new Object()and"STRING"; however, it is a decision of the underlying domain whether the information about the base values is made available or not. Furthermore, if the base values are actually used, the constraints in effect for the overall abstraction should be considered to get the most precise result. - trait IsReturnAddressValue extends KnownTypedValue
- trait IsShortValue extends IsPrimitiveValue[ShortType]
- trait KnownTypedValue extends KnownValue
- sealed trait KnownValue extends ValueInformation
-
sealed
trait
ValueInformation extends AnyRef
Encapsulates the available type information about a
DomainValue.
Value Members
- object ABooleanValue extends IsBooleanValue with Product with Serializable
- object AByteValue extends IsByteValue with Product with Serializable
- object ACharValue extends IsCharValue with Product with Serializable
- object ADoubleValue extends IsDoubleValue with Product with Serializable
- object AFloaValue extends IsFloatValue with Product with Serializable
- object ALongValue extends IsLongValue with Product with Serializable
- object AShortValue extends IsShortValue with Product with Serializable
- object AnIntegerValue extends IsIntegerValue with Product with Serializable
-
object
BaseReferenceValues
Defines an extractor method for instances of
IsReferenceValueobjects.Defines an extractor method for instances of
IsReferenceValueobjects.- Note
To ensure that the generic type can be matched, it may be necessary to first cast a generic
org.opalj.ai.ValuesDomain.DomainValueto aorg.opalj.ai.ValuesDomain.DomainReferenceValue.val d : Domain = ... val d.DomainReferenceValue(v) = /*some domain value; e.g., operands.head*/ val BaseReferenceValues(values) = v values...
-
object
IsNullValue
Defines and extractor for the null-property of reference values.
- object IsPrimitiveValue
-
object
TypeOfReferenceValue
Extractor for instances of
IsReferenceValueobjects. -
object
UnknownValue extends ValueInformation with Product with Serializable
Specifies that no type information is available.
Specifies that no type information is available.
- Note
Recall that the computational type of a value always has to be available, but that a
ValuesDomain.typeOfValue(...)query does not need to take the computational type into account. (Whenever the core framework requires the computational type of a value it uses the respective method.) However, in case that the underlying value may be an array or exception value the reported type must not beTypeUnknown.
- object ValueInformation
- object VoidValue extends KnownValue