Packages

c

org.opalj.ai

MetaInformationUpdate

final case class MetaInformationUpdate[V](value: V) extends SomeUpdate[V] with Product with Serializable

Characterizes an update that did not affect the abstract state but instead just updated some meta information.

In general, the abstract interpretation framework handles NoUpdates and MetaInformationUpdates in the same way.

Example

If two values are merged that are seen on two different paths, but which represent the same abstract value, we may want to update the meta-information about the origin of the current value, but this information may not be part of the abstract state and hence, is not relevant for the abstract interpreter. In this case the interpreter will not reschedule subsequent instructions. However, whether or not the information about the origin of a value is considered to be part of the abstract state is a decision of the domain.

Source
Update.scala
Linear Supertypes
Serializable, Product, Equals, SomeUpdate[V], Update[V], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MetaInformationUpdate
  2. Serializable
  3. Product
  4. Equals
  5. SomeUpdate
  6. Update
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new MetaInformationUpdate(value: V)

Value Members

  1. def &:(updateType: UpdateType): UpdateType

    Merges a given updateType value with the type of this update and returns a new UpdateType value.

    Merges a given updateType value with the type of this update and returns a new UpdateType value.

    Definition Classes
    MetaInformationUpdateUpdate
    See also

    org.opalj.ai.UpdateType for further details.

  2. def isMetaInformationUpdate: Boolean
    Definition Classes
    MetaInformationUpdateUpdate
  3. def isNoUpdate: Boolean
    Definition Classes
    SomeUpdateUpdate
  4. def isSomeUpdate: Boolean
    Definition Classes
    SomeUpdateUpdate
  5. def isStructuralUpdate: Boolean
    Definition Classes
    Update
  6. def productElementNames: Iterator[String]
    Definition Classes
    Product
  7. def updateType: UpdateType

    The type of this update.

    The type of this update.

    Definition Classes
    MetaInformationUpdateUpdate
  8. def updateValue[NewV](newValue: NewV): MetaInformationUpdate[NewV]

    Creates a new Update object of the same type with the given value.

    Creates a new Update object of the same type with the given value.

    Definition Classes
    MetaInformationUpdateUpdate
  9. val value: V

    The updated value; if available.

    The updated value; if available.

    Definition Classes
    MetaInformationUpdateUpdate