001 package railo.transformer.bytecode.visitor; 002 003 import org.objectweb.asm.Label; 004 import org.objectweb.asm.Opcodes; 005 006 import railo.transformer.bytecode.BytecodeContext; 007 008 public final class IfVisitor { 009 010 private Label end; 011 012 public void visitBeforeExpression() { 013 014 015 end = new Label(); 016 017 018 019 } 020 021 public void visitAfterExpressionBeforeBody(BytecodeContext bc) { 022 bc.getAdapter().ifZCmp(Opcodes.IFEQ, end); 023 } 024 025 public void visitAfterBody(BytecodeContext bc) { 026 bc.getAdapter().visitLabel(end); 027 } 028 029 }