/* * Copyright 2013 Guidewire Software, Inc. */ package gw.internal.gosu.ir.transform.statement; import gw.internal.gosu.ir.transform.ExpressionTransformer; import gw.internal.gosu.ir.transform.TopLevelTransformationContext; import gw.internal.gosu.parser.statements.EvalStatement; import gw.lang.ir.IRExpression; import gw.lang.ir.IRStatement; import gw.lang.ir.statement.IREvalStatement; /** */ public class EvalStatementTransformer extends AbstractStatementTransformer<EvalStatement> { public static IRStatement compile( TopLevelTransformationContext cc, EvalStatement stmt ) { EvalStatementTransformer compiler = new EvalStatementTransformer( cc, stmt ); return compiler.compile(); } private EvalStatementTransformer( TopLevelTransformationContext cc, EvalStatement stmt ) { super( cc, stmt ); } @Override protected IRStatement compile_impl() { IRExpression evalExpr = ExpressionTransformer.compile( _stmt().getEvalExpression(), _cc() ); return new IREvalStatement( evalExpr ); } }