/* * Copyright 2013 Guidewire Software, Inc. */ package gw.internal.gosu.parser.statements; import gw.internal.gosu.parser.Statement; import gw.internal.gosu.parser.expressions.EvalExpression; import gw.lang.parser.statements.IEvalStatement; import gw.lang.parser.statements.ITerminalStatement; /** */ public final class EvalStatement extends Statement implements IEvalStatement { private EvalExpression _evalExpr; public EvalStatement( EvalExpression evalExpr ) { _evalExpr = evalExpr; } public EvalExpression getEvalExpression() { return _evalExpr; } public Object execute() { if( !isCompileTimeConstant() ) { return super.execute(); } throw new IllegalStateException( "Can't execute this parsed element directly" ); } @Override protected ITerminalStatement getLeastSignificantTerminalStatement_internal( boolean[] bAbsolute ) { bAbsolute[0] = false; return null; } @Override public String toString() { return _evalExpr.toString(); } }