/* * Copyright 2013 Guidewire Software, Inc. */ package gw.lang.ir.statement; import gw.lang.ir.IRStatement; import gw.lang.ir.IRExpression; import gw.lang.UnstableAPI; @UnstableAPI public class IRReturnStatement extends IRStatement implements IRTerminalStatement { private IRExpression _returnValue; private IRStatement _tempVarAssignment; public IRReturnStatement() { } public IRReturnStatement(IRStatement tempVarAssignment, IRExpression returnValue) { _tempVarAssignment = tempVarAssignment; _returnValue = returnValue; if (returnValue != null) { returnValue.setParent( this ); } } public IRExpression getReturnValue() { return _returnValue; } @Override public IRTerminalStatement getLeastSignificantTerminalStatement() { return this; } public boolean hasTempVar() { return _tempVarAssignment != null; } public IRStatement getTempVarAssignment() { return _tempVarAssignment; } }