package properties
- Alphabetic
- Public
- Protected
Type Members
- case class AnAIResult(theAIResult: AIResult) extends BaseAIResult with Product with Serializable
- sealed trait BaseAIResult extends Property with BaseAIResultPropertyMetaInformation
Encapsulates the (intermediate) result of the abstract interpretation of a method.
Encapsulates the (intermediate) result of the abstract interpretation of a method.
As in case of the other properties, the upper bound represents the most precise result and the lower bound the sound over approximation. Initially, the upper bound is the special value NoAIResult and identifies the case where the method is not reached at all. The lower bound generally models the sound over-approximation of all paths that are potentially taken.
The upper bound can only meaningfully be computed in combination with a call graph.
- sealed trait BaseAIResultPropertyMetaInformation extends PropertyMetaInformation
- sealed trait FieldValue extends Property with FieldValueMetaInformation
Encapsulates the (intermediate) result of the computation of the properties of the values stored in a field.
Encapsulates the (intermediate) result of the computation of the properties of the values stored in a field. The value generally abstracts over all values stored in a respective field.
- sealed trait FieldValueMetaInformation extends PropertyMetaInformation
- trait MethodReturnValue extends Property with MethodReturnValuePropertyMetaInformation
- sealed trait MethodReturnValuePropertyMetaInformation extends PropertyMetaInformation
- class ProjectSpecificAIExecutor extends (Method) => AIResult
Encapsulates the information which domain will be used to perform the abstract interpretations for the specified project.
Encapsulates the information which domain will be used to perform the abstract interpretations for the specified project. This typically initialized by the AIDomainFactoryKey$.
- case class TheMethodReturnValue(theReturnValue: ValueInformation) extends MethodReturnValue with Product with Serializable
Stores the information about the value (always) returned by a specific method.
Stores the information about the value (always) returned by a specific method. Overridden methods are generally not taken into account. For a method that always end with an exception
returnValue
will beNone
.In the worst case the information about the return value is just the declared type.
- theReturnValue
The value returned by the method when the method does not throw an exception. If the method always throws an exception, then the returnValue is
None
.
- case class TypeBasedFieldValueInformation(fieldType: FieldType) extends FieldValue with Product with Serializable
- case class ValueBasedFieldValueInformation(theValue: ValueInformation) extends FieldValue with Product with Serializable
Value Members
- object AIDomainFactoryKey extends ProjectInformationKey[ProjectSpecificAIExecutor, Set[Class[_ <: AnyRef]]]
Key to get the factory (actually this is a meta-factory) to create the domains that are used to perform abstract interpretations.
Key to get the factory (actually this is a meta-factory) to create the domains that are used to perform abstract interpretations. The domain that is going to be used is determined by getting the set of (partial)domains that are required and then computing the cheapest domain; see org.opalj.ai.common.DomainRegistry for further information. Hence, the
AIResult
's domain is guaranteed to implement all required (partial) domains.This key's project specific initialization data are
java.lang.Class
objects which have to be implemented by the finally chosen domain. - object BaseAIResult extends BaseAIResultPropertyMetaInformation
Common constants used by all BaseAIResult properties associated with methods.
- object FieldValue extends FieldValueMetaInformation
- object MethodReturnValue extends MethodReturnValuePropertyMetaInformation
- case object NoAIResult extends BaseAIResult with Product with Serializable
- case object NoMethodReturnValue extends MethodReturnValue with Product with Serializable