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    }