Class YieldStatement

All Implemented Interfaces:
NodeMetaDataHandler

public class YieldStatement extends Statement
Represents a yield statement that produces the value of an enclosing SwitchExpression. Unlike ReturnStatement, yield does not return from the enclosing method; it completes the switch expression and transfers the yielded value to the expression's join point (JEP 361).
Since:
6.0.0
See Also:
  • Constructor Details

    • YieldStatement

      public YieldStatement(Expression expression)
      Constructs a yield statement with the given result expression.
      Parameters:
      expression - the value produced for the enclosing switch expression
  • Method Details

    • getExpression

      public Expression getExpression()
      Returns the expression whose value becomes the switch-expression result.
      Returns:
      the yielded Expression
    • setExpression

      public void setExpression(Expression expression)
      Sets the expression whose value becomes the switch-expression result.
      Parameters:
      expression - the yielded 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
    • 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