Module dev.civl.mc

Interface MemoryUnitExpression

All Superinterfaces:
Expression, Sourceable

public interface MemoryUnitExpression extends Expression
A memory unit expression is an expression that represents (part of) the memory related to some variable. There are four kinds of such expressions:
  • SELF: a single variable
  • ARRAY_ELE: an element of an array
  • ARRAY_SLICE: a slice (several elements) of an array
  • STRUCT_ELE: an element of a struct
  • Method Details

    • scopeId

      int scopeId()
      Returns the (static) scope id of the variable.
      Returns:
      The (static) scope id of the variable.
    • variableId

      int variableId()
      Returns the variable ID.
      Returns:
      The variable ID.
    • variable

      Variable variable()
    • reference

      MemoryUnitReference reference()
      Returns the reference of this memory unit expression.
      Returns:
      The reference of this memory unit expression.
    • objectType

      CIVLType objectType()
    • writable

      boolean writable()
    • deref

      boolean deref()
      shall this memory unit be dereferenced?
      Returns: