/* * Copyright 2013 Guidewire Software, Inc. */ package gw.lang.ir.builder.statement; import gw.lang.UnstableAPI; import gw.lang.ir.IRStatement; import gw.lang.ir.builder.IRBuilderContext; import gw.lang.ir.builder.IRExpressionBuilder; import gw.lang.ir.builder.IRStatementBuilder; import gw.lang.ir.statement.IRIfStatement; @UnstableAPI public class IRIfStatementBuilder extends IRStatementBuilder { private IRExpressionBuilder _test; private IRStatementBuilder _ifStatement; private IRStatementBuilder _elseStatement; public IRIfStatementBuilder(IRExpressionBuilder test) { _test = test; } public IRIfStatementBuilder then(IRStatementBuilder ifStatement) { _ifStatement = ifStatement; return this; } public IRStatementBuilder _else(IRStatementBuilder elseStatement) { _elseStatement = elseStatement; return this; } @Override protected IRStatement buildImpl(IRBuilderContext context) { return new IRIfStatement(_test.build(context), (_ifStatement == null ? null : _ifStatement.build(context)), (_elseStatement == null ? null : _elseStatement.build(context))); } }