package value
Provides a general query interface for querying a value's properties.
- Source
- package.scala
- Alphabetic
- By Inheritance
- value
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- case class AMultipleReferenceValue(baseValues: Iterable[IsReferenceValue], isNull: Answer, isPrecise: Boolean, upperTypeBound: UIDSet[_ <: ReferenceType], leastUpperType: Option[ReferenceType]) extends IsMultipleReferenceValue with Product with Serializable
- case class AProperMObjectValue(isNull: Answer, isPrecise: Boolean, upperTypeBound: UIDSet[ObjectType], leastUpperType: Option[ReferenceType]) extends IsMObjectValue with Product with Serializable
Represents an object value which is either null or properly initialized.
- case class AProperSObjectValue(isNull: Answer, isPrecise: Boolean, theUpperTypeBound: ObjectType) extends IsSObjectValue with Product with Serializable
Represents an object value which is either null or properly initialized.
- case class ASArrayValue(isNull: Answer, isPrecise: Boolean, theUpperTypeBound: ArrayType) extends IsSArrayValue with Product with Serializable
- case class ASArrayWithLengthValue(length: Int, theUpperTypeBound: ArrayType) extends IsSArrayValue with Product with Serializable
- case class ASObjectValue(isNull: Answer, isPrecise: Boolean, theUpperTypeBound: ObjectType) extends IsSObjectValue with Product with Serializable
Represents some object value which may be null and may even not be properly initialized yet.
- trait ConstantValueInformationProvider[T] extends AnyRef
A value for which the information is available if it is a constant – and if so which – value.
- trait IsBaseReferenceValue extends IsReferenceValue
- trait IsBooleanValue extends IsIntegerLikeValue[BooleanType]
- trait IsByteValue extends IsIntegerLikeValue[ByteType]
- trait IsCharValue extends IsIntegerLikeValue[CharType]
- trait IsClassValue extends IsPreciseNonNullReferenceValue with ConstantValueInformationProvider[Type]
- trait IsDoubleValue extends IsPrimitiveValue[DoubleType]
- trait IsFloatValue extends IsPrimitiveValue[FloatType]
- trait IsIllegalValue extends ValueInformation
- sealed trait IsIntegerLikeValue[T <: BaseType] extends IsPrimitiveValue[T]
- trait IsIntegerValue extends IsIntegerLikeValue[IntegerType]
- trait IsLongValue extends IsPrimitiveValue[LongType]
- trait IsMObjectValue extends IsBaseReferenceValue
- trait IsMultipleReferenceValue extends IsReferenceValue
- trait IsNullValue extends IsBaseReferenceValue
- sealed trait IsPrimitiveValue[T <: BaseType] extends KnownTypedValue with ConstantValueInformationProvider[value.IsPrimitiveValue.T.JType]
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 IsSArrayValue extends IsSReferenceValue[ArrayType]
- trait IsSObjectValue extends IsSReferenceValue[ObjectType]
- trait IsSReferenceValue[T <: ReferenceType] extends IsBaseReferenceValue
- trait IsShortValue extends IsIntegerLikeValue[ShortType]
- trait IsStringValue extends IsPreciseNonNullReferenceValue with ConstantValueInformationProvider[String]
- trait KnownTypedValue extends KnownValue
A value with a well-defined computational type.
- sealed trait KnownValue extends ValueInformation
- case class TheByteValue(value: Byte) extends IsByteValue with Product with Serializable
- case class TheCharValue(value: Char) extends IsCharValue with Product with Serializable
- case class TheClassValue(value: Type) extends IsClassValue with Product with Serializable
Represents a constant class value.
Represents a constant class value. If the class is not yet completely initialized
value
isnull
. This can never be the case for the parameters and return values of methods and also for the values stored in fields. - case class TheDoubleValue(value: Double) extends IsDoubleValue with Product with Serializable
- case class TheFloatValue(value: Float) extends IsFloatValue with Product with Serializable
- case class TheIntegerValue(value: Int) extends IsIntegerValue with Product with Serializable
- case class TheLongValue(value: Long) extends IsLongValue with Product with Serializable
- case class TheShortValue(value: Short) extends IsShortValue with Product with Serializable
- case class TheStringValue(value: String) extends IsStringValue with Product with Serializable
Represents a constant string value.
Represents a constant string value. If the string is not yet completely initialized
value
isnull
. This can never be the case for the parameters and return values of methods and also for the values stored in fields. - trait ValueInformation extends AnyRef
Encapsulates the available type information about a
DomainValue
.
Value Members
- case object ABooleanValue extends IsBooleanValue with Product with Serializable
- case object AByteValue extends IsByteValue with Product with Serializable
- case object ACharValue extends IsCharValue with Product with Serializable
- case object ADoubleValue extends IsDoubleValue with Product with Serializable
- case object AFloatValue extends IsFloatValue with Product with Serializable
- case object ALongValue extends IsLongValue with Product with Serializable
- case object AReturnAddressValue extends IsReturnAddressValue with Product with Serializable
- case object AShortValue extends IsShortValue with Product with Serializable
- case object AnIntegerValue extends IsIntegerValue with Product with Serializable
- object BaseReferenceValues
Defines an extractor method for instances of
IsReferenceValue
objects.Defines an extractor method for instances of
IsReferenceValue
objects.- Note
To ensure that the generic type can be matched, it may be necessary to first cast a generic
org.opalj.ai.ValuesDomain.DomainValue
to aorg.opalj.ai.ValuesDomain.DomainReferenceValue
.val d : Domain = ... val d.DomainReferenceValue(v) = /*some domain value; e.g., operands.head*/ val BaseReferenceValues(values) = v values...
- case object BooleanValueFalse extends IsBooleanValue with Product with Serializable
- case object BooleanValueTrue extends IsBooleanValue with Product with Serializable
- case object IsIllegalValue extends IsIllegalValue with Product with Serializable
- case object IsNullValue extends IsNullValue with Product with Serializable
- object IsPrimitiveValue
- object TheVoidValue extends KnownValue
- object TypeOfReferenceValue
Extractor for instances of
IsReferenceValue
objects. - object ValueInformation