AbstractLocation

enum AbstractLocation : Hashable
extension AbstractLocation: CustomStringConvertible

A memory location in an abstract interpreter.

  • A root location.

    Declaration

    Swift

    case root(Operand)
  • A sub-location rooted at an argument or instruction.

    path[i] denotes the index of a property in the abstract layout of the object stored at .sublocation(root: r, path: path.prefix(upTo: i)). For example, if r is the location identifying storage of type {{A, B}, C}, then sublocation(root: r, path: [0, 1]) is a location identifying storage of type B.

    Note

    Use appending(_:) to create instances of this case.

    Declaration

    Swift

    indirect case sublocation(root: Operand, subfield: RecordPath)
  • Returns a new locating created by appending suffix to this one.

    Requires

    self is not .null.

    Declaration

    Swift

    func appending(_ suffix: RecordPath) -> AbstractLocation
  • Declaration

    Swift

    var description: String { get }