Class ExpressionStatement

All Implemented Interfaces:
NodeMetaDataHandler

public class ExpressionStatement extends Statement
Represents an expression statement that executes an expression where the return value is ignored. An expression statement wraps an Expression for use as a statement in contexts where an expression must be treated as a statement (e.g., method calls, assignments, or other side-effect-producing expressions). The expression is evaluated and its result is discarded.
  • Constructor Details

    • ExpressionStatement

      public ExpressionStatement(Expression expression)
      Constructs an expression statement with the given expression.
      Parameters:
      expression - the Expression to execute; must not be null
      Throws:
      IllegalArgumentException - if the expression is null
  • Method Details

    • visit

      public void visit(GroovyCodeVisitor visitor)
      Description copied from class: ASTNode
      Accepts a code visitor for AST traversal and transformation. Subclasses must implement this method to support visitor pattern-based processing. The visitor pattern enables decoupling of AST structure from processing logic.
      Overrides:
      visit in class ASTNode
      Parameters:
      visitor - the GroovyCodeVisitor to process this node
    • getExpression

      public Expression getExpression()
      Returns the expression executed by this statement.
      Returns:
      the Expression
    • setExpression

      public void setExpression(Expression expression)
      Sets the expression executed by this statement.
      Parameters:
      expression - the Expression
    • getText

      public String getText()
      Description copied from class: ASTNode
      Returns a human-readable text representation of this AST node. Used for debugging and error messages. Default implementation returns a message indicating the representation is not yet implemented for this node type.
      Overrides:
      getText in class ASTNode
      Returns:
      text representation of this node, or placeholder for unimplemented types
    • toString

      public String toString()
      Overrides:
      toString in class Object