/* Generated By:JJTree: Do not edit this line. ASTAtWhile.java Version 4.3 */ /* JavaCCOptions:MULTI=true,NODE_USES_PARSER=true,VISITOR=false,TRACK_TOKENS=false,NODE_PREFIX=AST,NODE_EXTENDS=,NODE_FACTORY=,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */ package org.openntf.formula.ast; import java.util.Set; import org.openntf.formula.FormulaContext; import org.openntf.formula.FormulaReturnException; import org.openntf.formula.ValueHolder; import org.openntf.formula.parse.AtFormulaParserImpl; public class ASTAtWhile extends SimpleNode { public ASTAtWhile(final AtFormulaParserImpl p, final int id) { super(p, id); } /** * AtDoWhile returns always TRUE, or an Error-ValueHolder, if an error occurs in the last parameter. */ @Override public ValueHolder evaluate(final FormulaContext ctx) throws FormulaReturnException { if (children != null) { while (children[0].evaluate(ctx).isTrue(ctx)) { for (int i = 1; i < children.length; ++i) { children[i].evaluate(ctx); } } } return ValueHolder.valueOf(1); // returns always TRUE } @Override protected void analyzeThis(final Set<String> readFields, final Set<String> modifiedFields, final Set<String> variables, final Set<String> functions) { functions.add("@while"); } } /* JavaCC - OriginalChecksum=82a89b5b4119700eb90e21e98b430148 (do not edit this line) */