blob: d7ae062ef4e171f6df9fa560745c90fbe5d0a50c [file] [log] [blame]
package org.eclipse.dltk.ast.statements;
import org.eclipse.dltk.ast.DLTKToken;
import org.eclipse.dltk.ast.expressions.Expression;
import org.eclipse.dltk.utils.CorePrinter;
/**
* For each statement.
*
*/
public class ForEachStatement extends ForStatement {
/**
* Construct foreach from ANTLR token, initialization, condition, increment
* expressions and action statement. foreach( A, C, I ) { Action. }
*
* @param forToken -
* ANTLR token.
* @param initialization -
* initalization expression.
* @param condition -
* condition expression.
* @param increment -
* increment expression.
* @param action -
* action statement.
*/
public ForEachStatement(DLTKToken forToken, Expression initialization,
Expression condition, Expression increment, Statement action) {
super(forToken, initialization, condition, increment, action);
}
/**
* Testing purposes only. Print foreach statement.
*/
public void printNode(CorePrinter output) {
output.formatPrintLn("foreach: ");
Expression condition = this.getCondition();
Expression increment = this.getIncrement();
Expression intialization = this.getInitialization();
Statement action = this.getAction();
if (condition != null) {
output.formatPrintLn("condition:");
condition.printNode(output);
}
if (increment != null) {
output.formatPrintLn("increment:");
increment.printNode(output);
}
if (intialization != null) {
output.formatPrintLn("initialization:");
intialization.printNode(output);
}
if (action != null) {
output.indent();
action.printNode(output);
output.dedent();
}
}
}