/*
* 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.NewStatement;
import gw.lang.ir.IRStatement;
import gw.lang.ir.expression.IRNewExpression;
/**
*/
public class NewStatementTransformer extends AbstractStatementTransformer<NewStatement>
{
public static IRStatement compile( TopLevelTransformationContext cc, NewStatement stmt )
{
NewStatementTransformer compiler = new NewStatementTransformer( cc, stmt );
return compiler.compile();
}
private NewStatementTransformer( TopLevelTransformationContext cc, NewStatement stmt )
{
super( cc, stmt );
}
@Override
protected IRStatement compile_impl()
{
IRNewExpression newExpr = (IRNewExpression)ExpressionTransformer.compile( _stmt().getNewExpression(), _cc() );
return buildNewExpression( newExpr );
}
}