view src/clojure/asm/commons/EmptyVisitor.java @ 10:ef7dbbd6452c

added clojure source goodness
author Robert McIntyre <rlm@mit.edu>
date Sat, 21 Aug 2010 06:25:44 -0400
parents
children
line wrap: on
line source
1 /***
2 * ASM: a very small and fast Java bytecode manipulation framework
3 * Copyright (c) 2000-2005 INRIA, France Telecom
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
14 * 3. Neither the name of the copyright holders nor the names of its
15 * contributors may be used to endorse or promote products derived from
16 * this software without specific prior written permission.
17 *
18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
22 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
28 * THE POSSIBILITY OF SUCH DAMAGE.
29 */
30 package clojure.asm.commons;
32 import clojure.asm.AnnotationVisitor;
33 import clojure.asm.Attribute;
34 import clojure.asm.ClassVisitor;
35 import clojure.asm.FieldVisitor;
36 import clojure.asm.Label;
37 import clojure.asm.MethodVisitor;
39 /**
40 * An empty implementation of the ASM visitor interfaces.
41 *
42 * @author Eric Bruneton
43 */
44 public class EmptyVisitor implements
45 ClassVisitor,
46 FieldVisitor,
47 MethodVisitor,
48 AnnotationVisitor{
50 public void visit(
51 final int version,
52 final int access,
53 final String name,
54 final String signature,
55 final String superName,
56 final String[] interfaces){
57 }
59 public void visitSource(final String source, final String debug){
60 }
62 public void visitOuterClass(
63 final String owner,
64 final String name,
65 final String desc){
66 }
68 public AnnotationVisitor visitAnnotation(
69 final String desc,
70 final boolean visible){
71 return this;
72 }
74 public void visitAttribute(final Attribute attr){
75 }
77 public void visitInnerClass(
78 final String name,
79 final String outerName,
80 final String innerName,
81 final int access){
82 }
84 public FieldVisitor visitField(
85 final int access,
86 final String name,
87 final String desc,
88 final String signature,
89 final Object value){
90 return this;
91 }
93 public MethodVisitor visitMethod(
94 final int access,
95 final String name,
96 final String desc,
97 final String signature,
98 final String[] exceptions){
99 return this;
100 }
102 public void visitEnd(){
103 }
105 public AnnotationVisitor visitAnnotationDefault(){
106 return this;
107 }
109 public AnnotationVisitor visitParameterAnnotation(
110 final int parameter,
111 final String desc,
112 final boolean visible){
113 return this;
114 }
116 public void visitCode(){
117 }
119 public void visitFrame(
120 final int type,
121 final int nLocal,
122 final Object[] local,
123 final int nStack,
124 final Object[] stack){
125 }
127 public void visitInsn(final int opcode){
128 }
130 public void visitIntInsn(final int opcode, final int operand){
131 }
133 public void visitVarInsn(final int opcode, final int var){
134 }
136 public void visitTypeInsn(final int opcode, final String desc){
137 }
139 public void visitFieldInsn(
140 final int opcode,
141 final String owner,
142 final String name,
143 final String desc){
144 }
146 public void visitMethodInsn(
147 final int opcode,
148 final String owner,
149 final String name,
150 final String desc){
151 }
153 public void visitJumpInsn(final int opcode, final Label label){
154 }
156 public void visitLabel(final Label label){
157 }
159 public void visitLdcInsn(final Object cst){
160 }
162 public void visitIincInsn(final int var, final int increment){
163 }
165 public void visitTableSwitchInsn(
166 final int min,
167 final int max,
168 final Label dflt,
169 final Label labels[]){
170 }
172 public void visitLookupSwitchInsn(
173 final Label dflt,
174 final int keys[],
175 final Label labels[]){
176 }
178 public void visitMultiANewArrayInsn(final String desc, final int dims){
179 }
181 public void visitTryCatchBlock(
182 final Label start,
183 final Label end,
184 final Label handler,
185 final String type){
186 }
188 public void visitLocalVariable(
189 final String name,
190 final String desc,
191 final String signature,
192 final Label start,
193 final Label end,
194 final int index){
195 }
197 public void visitLineNumber(final int line, final Label start){
198 }
200 public void visitMaxs(final int maxStack, final int maxLocals){
201 }
203 public void visit(final String name, final Object value){
204 }
206 public void visitEnum(
207 final String name,
208 final String desc,
209 final String value){
210 }
212 public AnnotationVisitor visitAnnotation(
213 final String name,
214 final String desc){
215 return this;
216 }
218 public AnnotationVisitor visitArray(final String name){
219 return this;
220 }
221 }