Interface WithNode

All Superinterfaces:
ASTNode, BlockItemNode, StatementNode

public interface WithNode extends StatementNode
Syntax

Represents a CIVL-C $with(p) node. It has the form: $with(expr) statement or $with(expr, &write_set) statement .

  • Method Details

    • getStateReference

      ExpressionNode getStateReference()
      Returns the state reference expression attached with this WithNode. A state reference expression represents reference (or pointer) to some object that can evaluate to a program state.
      Returns:
    • getBodyNode

      StatementNode getBodyNode()
      If #isCallWith() returns true, the returned statement node must wraps a function call expression node. Else, it can be any kind of statement.
      Returns:
      A StatementNode attached with the whole with expression.
    • isParallelStatement

      boolean isParallelStatement()
      Returns true if and only if this node represents a "parallel" $with statement, i.e. the execution of this statement will not affect any thing outside of the $with scope. A parallel $with statement takes an extra output argument : write_set
      Returns:
    • copy

      WithNode copy()
      Description copied from interface: ASTNode
      Returns a deep copy of this AST node. The node and all of its descendants will be cloned. The cloning does not copy analysis or attribute information.
      Specified by:
      copy in interface ASTNode
      Specified by:
      copy in interface BlockItemNode
      Specified by:
      copy in interface StatementNode
      Returns:
      deep copy of this node