Package org.codehaus.groovy.ast.stmt
Class DoWhileStatement
java.lang.Object
org.codehaus.groovy.ast.ASTNode
org.codehaus.groovy.ast.stmt.Statement
org.codehaus.groovy.ast.stmt.DoWhileStatement
- All Implemented Interfaces:
NodeMetaDataHandler,LoopingStatement
Represents a do { ... } while (condition) loop in Groovy.
A do-while loop executes its body unconditionally on the first iteration, then evaluates
a
BooleanExpression after each iteration to decide whether to repeat.
The loop body always executes at least once, differentiating it from a WhileStatement.-
Constructor Summary
ConstructorsConstructorDescriptionDoWhileStatement(BooleanExpression booleanExpression, Statement loopBlock) Constructs a DoWhileStatement with a loop body and condition. -
Method Summary
Modifier and TypeMethodDescriptionReturns theBooleanExpression} evaluated after each iteration.Returns the loop bodyStatement}.voidsetBooleanExpression(BooleanExpression booleanExpression) Sets theBooleanExpression} to evaluate after each iteration.voidsetLoopBlock(Statement loopBlock) Sets the loop bodyStatement}.voidvisit(GroovyCodeVisitor visitor) Accepts a code visitor for AST traversal and transformation.Methods inherited from class org.codehaus.groovy.ast.stmt.Statement
addStatementAnnotation, addStatementLabel, copyStatementLabels, getStatementAnnotations, getStatementLabel, getStatementLabels, isEmpty, setStatementLabelMethods inherited from class org.codehaus.groovy.ast.ASTNode
copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getMetaDataMap, getText, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setMetaDataMap, setSourcePositionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.codehaus.groovy.ast.NodeMetaDataHandler
copyNodeMetaData, getNodeMetaData, getNodeMetaData, getNodeMetaData, newMetaDataMap, putNodeMetaData, removeNodeMetaData, setNodeMetaData
-
Constructor Details
-
DoWhileStatement
Constructs a DoWhileStatement with a loop body and condition.- Parameters:
booleanExpression- theBooleanExpression} evaluated after each iterationloopBlock- theStatement} to execute; always runs at least once
-
-
Method Details
-
visit
Description copied from class:ASTNodeAccepts 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:
visitin classASTNode- Parameters:
visitor- theGroovyCodeVisitorto process this node
-
getBooleanExpression
Returns theBooleanExpression} evaluated after each iteration.- Returns:
- the loop condition
BooleanExpression}
-
getLoopBlock
Returns the loop bodyStatement}.- Specified by:
getLoopBlockin interfaceLoopingStatement- Returns:
- the loop block
Statement}
-
setBooleanExpression
Sets theBooleanExpression} to evaluate after each iteration.- Parameters:
booleanExpression- the loop conditionBooleanExpression}
-
setLoopBlock
Sets the loop bodyStatement}.- Specified by:
setLoopBlockin interfaceLoopingStatement- Parameters:
loopBlock- the loop blockStatement}
-