package railo.transformer.bytecode.statement.tag; import railo.transformer.bytecode.BytecodeContext; import railo.transformer.bytecode.BytecodeException; import railo.transformer.bytecode.Position; import railo.transformer.bytecode.Statement; import railo.transformer.bytecode.expression.Expression; import railo.transformer.bytecode.statement.Return; public final class TagReturn extends TagBaseNoFinal { public TagReturn(Position start,Position end) { super(start,end); setHasFlowController(true); } /** * * @see railo.transformer.bytecode.statement.tag.TagBase#_writeOut(org.objectweb.asm.commons.GeneratorAdapter) */ public void _writeOut(BytecodeContext bc) throws BytecodeException { Attribute attr = getAttribute("expr"); Expression expr=null; if(attr!=null)expr=attr.getValue(); new Return(expr,expr.getStart(),expr.getEnd()).writeOut(bc); } /** * * @see railo.transformer.bytecode.statement.StatementBase#setParent(railo.transformer.bytecode.Statement) */ public void setParent(Statement parent) { super.setParent(parent); parent.setHasFlowController(true); } }