001 package railo.transformer.bytecode.statement; 002 003 import org.objectweb.asm.Opcodes; 004 005 import railo.transformer.bytecode.BytecodeContext; 006 import railo.transformer.bytecode.BytecodeException; 007 import railo.transformer.bytecode.Statement; 008 import railo.transformer.bytecode.util.ASMUtil; 009 010 public final class Continue extends StatementBase { 011 012 /** 013 * Constructor of the class 014 * @param line 015 */ 016 public Continue(int line) { 017 super(line); 018 setHasFlowController(true); 019 } 020 021 /** 022 * @see railo.transformer.bytecode.statement.StatementBase#_writeOut(railo.transformer.bytecode.BytecodeContext) 023 */ 024 public void _writeOut(BytecodeContext bc) throws BytecodeException { 025 FlowControl ls = ASMUtil.getAncestorFlowControlStatement(this); 026 if(ls!=null) 027 bc.getAdapter().visitJumpInsn(Opcodes.GOTO, ls.getContinueLabel()); 028 } 029 /** 030 * 031 * @see railo.transformer.bytecode.statement.StatementBase#setParent(railo.transformer.bytecode.Statement) 032 */ 033 public void setParent(Statement parent) { 034 super.setParent(parent); 035 parent.setHasFlowController(true); 036 } 037 }