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