001    package railo.transformer.bytecode.statement.tag;
002    
003    import railo.transformer.bytecode.BytecodeContext;
004    import railo.transformer.bytecode.BytecodeException;
005    import railo.transformer.bytecode.Position;
006    import railo.transformer.bytecode.Statement;
007    import railo.transformer.bytecode.statement.FlowControl;
008    import railo.transformer.bytecode.statement.FlowControlFinal;
009    import railo.transformer.bytecode.util.ASMUtil;
010    
011    public final class TagRetry extends TagBase {
012            
013            public TagRetry(Position start,Position end) {
014                    super(start,end);
015                    setHasFlowController(true);
016            }
017    
018            /**
019             * @see railo.transformer.bytecode.statement.StatementBase#_writeOut(org.objectweb.asm.commons.GeneratorAdapter)
020             */
021            public void _writeOut(BytecodeContext bc) throws BytecodeException {
022                    ASMUtil.leadFlow(bc,this,FlowControl.RETRY,null);
023            }
024            
025            /**
026             *
027             * @see railo.transformer.bytecode.statement.StatementBase#setParent(railo.transformer.bytecode.Statement)
028             */
029            public void setParent(Statement parent) {
030                    super.setParent(parent);
031                    parent.setHasFlowController(true);
032            }
033            
034            @Override
035            public FlowControlFinal getFlowControlFinal() {
036                    return null;
037            }
038    }