rlm@10: /*** rlm@10: * ASM: a very small and fast Java bytecode manipulation framework rlm@10: * Copyright (c) 2000-2005 INRIA, France Telecom rlm@10: * All rights reserved. rlm@10: * rlm@10: * Redistribution and use in source and binary forms, with or without rlm@10: * modification, are permitted provided that the following conditions rlm@10: * are met: rlm@10: * 1. Redistributions of source code must retain the above copyright rlm@10: * notice, this list of conditions and the following disclaimer. rlm@10: * 2. Redistributions in binary form must reproduce the above copyright rlm@10: * notice, this list of conditions and the following disclaimer in the rlm@10: * documentation and/or other materials provided with the distribution. rlm@10: * 3. Neither the name of the copyright holders nor the names of its rlm@10: * contributors may be used to endorse or promote products derived from rlm@10: * this software without specific prior written permission. rlm@10: * rlm@10: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" rlm@10: * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE rlm@10: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE rlm@10: * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE rlm@10: * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR rlm@10: * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF rlm@10: * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS rlm@10: * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN rlm@10: * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) rlm@10: * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF rlm@10: * THE POSSIBILITY OF SUCH DAMAGE. rlm@10: */ rlm@10: package clojure.asm.commons; rlm@10: rlm@10: import clojure.asm.AnnotationVisitor; rlm@10: import clojure.asm.Attribute; rlm@10: import clojure.asm.ClassVisitor; rlm@10: import clojure.asm.FieldVisitor; rlm@10: import clojure.asm.Label; rlm@10: import clojure.asm.MethodVisitor; rlm@10: rlm@10: /** rlm@10: * An empty implementation of the ASM visitor interfaces. rlm@10: * rlm@10: * @author Eric Bruneton rlm@10: */ rlm@10: public class EmptyVisitor implements rlm@10: ClassVisitor, rlm@10: FieldVisitor, rlm@10: MethodVisitor, rlm@10: AnnotationVisitor{ rlm@10: rlm@10: public void visit( rlm@10: final int version, rlm@10: final int access, rlm@10: final String name, rlm@10: final String signature, rlm@10: final String superName, rlm@10: final String[] interfaces){ rlm@10: } rlm@10: rlm@10: public void visitSource(final String source, final String debug){ rlm@10: } rlm@10: rlm@10: public void visitOuterClass( rlm@10: final String owner, rlm@10: final String name, rlm@10: final String desc){ rlm@10: } rlm@10: rlm@10: public AnnotationVisitor visitAnnotation( rlm@10: final String desc, rlm@10: final boolean visible){ rlm@10: return this; rlm@10: } rlm@10: rlm@10: public void visitAttribute(final Attribute attr){ rlm@10: } rlm@10: rlm@10: public void visitInnerClass( rlm@10: final String name, rlm@10: final String outerName, rlm@10: final String innerName, rlm@10: final int access){ rlm@10: } rlm@10: rlm@10: public FieldVisitor visitField( rlm@10: final int access, rlm@10: final String name, rlm@10: final String desc, rlm@10: final String signature, rlm@10: final Object value){ rlm@10: return this; rlm@10: } rlm@10: rlm@10: public MethodVisitor visitMethod( rlm@10: final int access, rlm@10: final String name, rlm@10: final String desc, rlm@10: final String signature, rlm@10: final String[] exceptions){ rlm@10: return this; rlm@10: } rlm@10: rlm@10: public void visitEnd(){ rlm@10: } rlm@10: rlm@10: public AnnotationVisitor visitAnnotationDefault(){ rlm@10: return this; rlm@10: } rlm@10: rlm@10: public AnnotationVisitor visitParameterAnnotation( rlm@10: final int parameter, rlm@10: final String desc, rlm@10: final boolean visible){ rlm@10: return this; rlm@10: } rlm@10: rlm@10: public void visitCode(){ rlm@10: } rlm@10: rlm@10: public void visitFrame( rlm@10: final int type, rlm@10: final int nLocal, rlm@10: final Object[] local, rlm@10: final int nStack, rlm@10: final Object[] stack){ rlm@10: } rlm@10: rlm@10: public void visitInsn(final int opcode){ rlm@10: } rlm@10: rlm@10: public void visitIntInsn(final int opcode, final int operand){ rlm@10: } rlm@10: rlm@10: public void visitVarInsn(final int opcode, final int var){ rlm@10: } rlm@10: rlm@10: public void visitTypeInsn(final int opcode, final String desc){ rlm@10: } rlm@10: rlm@10: public void visitFieldInsn( rlm@10: final int opcode, rlm@10: final String owner, rlm@10: final String name, rlm@10: final String desc){ rlm@10: } rlm@10: rlm@10: public void visitMethodInsn( rlm@10: final int opcode, rlm@10: final String owner, rlm@10: final String name, rlm@10: final String desc){ rlm@10: } rlm@10: rlm@10: public void visitJumpInsn(final int opcode, final Label label){ rlm@10: } rlm@10: rlm@10: public void visitLabel(final Label label){ rlm@10: } rlm@10: rlm@10: public void visitLdcInsn(final Object cst){ rlm@10: } rlm@10: rlm@10: public void visitIincInsn(final int var, final int increment){ rlm@10: } rlm@10: rlm@10: public void visitTableSwitchInsn( rlm@10: final int min, rlm@10: final int max, rlm@10: final Label dflt, rlm@10: final Label labels[]){ rlm@10: } rlm@10: rlm@10: public void visitLookupSwitchInsn( rlm@10: final Label dflt, rlm@10: final int keys[], rlm@10: final Label labels[]){ rlm@10: } rlm@10: rlm@10: public void visitMultiANewArrayInsn(final String desc, final int dims){ rlm@10: } rlm@10: rlm@10: public void visitTryCatchBlock( rlm@10: final Label start, rlm@10: final Label end, rlm@10: final Label handler, rlm@10: final String type){ rlm@10: } rlm@10: rlm@10: public void visitLocalVariable( rlm@10: final String name, rlm@10: final String desc, rlm@10: final String signature, rlm@10: final Label start, rlm@10: final Label end, rlm@10: final int index){ rlm@10: } rlm@10: rlm@10: public void visitLineNumber(final int line, final Label start){ rlm@10: } rlm@10: rlm@10: public void visitMaxs(final int maxStack, final int maxLocals){ rlm@10: } rlm@10: rlm@10: public void visit(final String name, final Object value){ rlm@10: } rlm@10: rlm@10: public void visitEnum( rlm@10: final String name, rlm@10: final String desc, rlm@10: final String value){ rlm@10: } rlm@10: rlm@10: public AnnotationVisitor visitAnnotation( rlm@10: final String name, rlm@10: final String desc){ rlm@10: return this; rlm@10: } rlm@10: rlm@10: public AnnotationVisitor visitArray(final String name){ rlm@10: return this; rlm@10: } rlm@10: }