Module dev.civl.mc

Interface LHSExpression

All Superinterfaces:
Expression, Sourceable
All Known Subinterfaces:
DereferenceExpression, DotExpression, SubscriptExpression, VariableExpression

public interface LHSExpression extends Expression
A left-hand-side expression. This can be used on the left hand side of an assignment, or as the argument to address-of (invalid input: '&'). Variable expressions, subscript expressions, dereference expressions, and dot expressions are all LHS expressions.
  • Method Details

    • lhsExpressionKind

      LHSExpression.LHSExpressionKind lhsExpressionKind()
    • setPurelyLocal

      void setPurelyLocal(boolean pl)
      Updates the flag of the expression denoting if it is purely local.
      Parameters:
      pl - True iff attempting to set the expression as purely local.
    • variableWritten

      Variable variableWritten(Scope scope)
      Return the variable that is visible from the given scope, which is possible the left hand side of an assignment statement.
      Parameters:
      scope - The given scope.
      Returns:
    • variableWritten

      Variable variableWritten()
      Return the variable that is possible the left hand side of an assignment statement.
      Parameters:
      scope - The given scope.
      Returns: