• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * ProGuard -- shrinking, optimization, obfuscation, and preverification
3  *             of Java bytecode.
4  *
5  * Copyright (c) 2002-2009 Eric Lafortune (eric@graphics.cornell.edu)
6  *
7  * This program is free software; you can redistribute it and/or modify it
8  * under the terms of the GNU General Public License as published by the Free
9  * Software Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * This program is distributed in the hope that it will be useful, but WITHOUT
13  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
15  * more details.
16  *
17  * You should have received a copy of the GNU General Public License along
18  * with this program; if not, write to the Free Software Foundation, Inc.,
19  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20  */
21 package proguard.classfile.util;
22 
23 import proguard.classfile.*;
24 import proguard.classfile.attribute.*;
25 import proguard.classfile.attribute.annotation.*;
26 import proguard.classfile.attribute.preverification.*;
27 import proguard.classfile.constant.*;
28 import proguard.classfile.instruction.*;
29 
30 /**
31  * This abstract utility class allows to implement various visitor interfaces
32  * with simplified methods. The provided methods delegate to other versions
33  * with fewer arguments or more general arguments.
34  *
35  * @author Eric Lafortune
36  * @noinspection AbstractClassWithoutAbstractMethods
37  */
38 public abstract class SimplifiedVisitor
39 {
40     // Simplifications for ClassVisitor.
41 
42     /**
43      * Visits any type of class member of the given class.
44      */
visitAnyClass(Clazz Clazz)45     public void visitAnyClass(Clazz Clazz)
46     {
47         throw new UnsupportedOperationException("Method must be overridden in ["+this.getClass().getName()+"] if ever called");
48     }
49 
50 
visitProgramClass(ProgramClass programClass)51     public void visitProgramClass(ProgramClass programClass)
52     {
53         visitAnyClass(programClass);
54     }
55 
56 
visitLibraryClass(LibraryClass libraryClass)57     public void visitLibraryClass(LibraryClass libraryClass)
58     {
59         visitAnyClass(libraryClass);
60     }
61 
62 
63     // Simplifications for MemberVisitor.
64 
65     /**
66      * Visits any type of class member of the given class.
67      */
visitAnyMember(Clazz clazz, Member member)68     public void visitAnyMember(Clazz clazz, Member member)
69     {
70         throw new UnsupportedOperationException("Method must be overridden in ["+this.getClass().getName()+"] if ever called");
71     }
72 
73 
74     /**
75      * Visits any type of class member of the given program class.
76      */
visitProgramMember(ProgramClass programClass, ProgramMember programMember)77     public void visitProgramMember(ProgramClass programClass, ProgramMember programMember)
78     {
79         visitAnyMember(programClass, programMember);
80     }
81 
82 
visitProgramField(ProgramClass programClass, ProgramField programField)83     public void visitProgramField(ProgramClass programClass, ProgramField programField)
84     {
85         visitProgramMember(programClass, programField);
86     }
87 
88 
visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod)89     public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod)
90     {
91         visitProgramMember(programClass, programMethod);
92     }
93 
94 
95     /**
96      * Visits any type of class member of the given library class.
97      */
visitLibraryMember(LibraryClass libraryClass, LibraryMember libraryMember)98     public void visitLibraryMember(LibraryClass libraryClass, LibraryMember libraryMember)
99     {
100         visitAnyMember(libraryClass, libraryMember);
101     }
102 
103 
visitLibraryField(LibraryClass libraryClass, LibraryField libraryField)104     public void visitLibraryField(LibraryClass libraryClass, LibraryField libraryField)
105     {
106         visitLibraryMember(libraryClass, libraryField);
107     }
108 
109 
visitLibraryMethod(LibraryClass libraryClass, LibraryMethod libraryMethod)110     public void visitLibraryMethod(LibraryClass libraryClass, LibraryMethod libraryMethod)
111     {
112         visitLibraryMember(libraryClass, libraryMethod);
113     }
114 
115 
116     // Simplifications for ConstantVisitor.
117 
visitAnyConstant(Clazz clazz, Constant constant)118     public void visitAnyConstant(Clazz clazz, Constant constant)
119     {
120         throw new UnsupportedOperationException("Method must be overridden in ["+this.getClass().getName()+"] if ever called");
121     }
122 
123 
visitIntegerConstant(Clazz clazz, IntegerConstant integerConstant)124     public void visitIntegerConstant(Clazz clazz, IntegerConstant integerConstant)
125     {
126         visitAnyConstant(clazz, integerConstant);
127     }
128 
129 
visitLongConstant(Clazz clazz, LongConstant longConstant)130     public void visitLongConstant(Clazz clazz, LongConstant longConstant)
131     {
132         visitAnyConstant(clazz, longConstant);
133     }
134 
135 
visitFloatConstant(Clazz clazz, FloatConstant floatConstant)136     public void visitFloatConstant(Clazz clazz, FloatConstant floatConstant)
137     {
138         visitAnyConstant(clazz, floatConstant);
139     }
140 
141 
visitDoubleConstant(Clazz clazz, DoubleConstant doubleConstant)142     public void visitDoubleConstant(Clazz clazz, DoubleConstant doubleConstant)
143     {
144         visitAnyConstant(clazz, doubleConstant);
145     }
146 
147 
visitStringConstant(Clazz clazz, StringConstant stringConstant)148     public void visitStringConstant(Clazz clazz, StringConstant stringConstant)
149     {
150         visitAnyConstant(clazz, stringConstant);
151     }
152 
153 
visitUtf8Constant(Clazz clazz, Utf8Constant utf8Constant)154     public void visitUtf8Constant(Clazz clazz, Utf8Constant utf8Constant)
155     {
156         visitAnyConstant(clazz, utf8Constant);
157     }
158 
159 
160     /**
161      * Visits any type of RefConstant of the given class.
162      */
visitAnyRefConstant(Clazz clazz, RefConstant refConstant)163     public void visitAnyRefConstant(Clazz clazz, RefConstant refConstant)
164     {
165         visitAnyConstant(clazz, refConstant);
166     }
167 
168 
visitFieldrefConstant(Clazz clazz, FieldrefConstant fieldrefConstant)169     public void visitFieldrefConstant(Clazz clazz, FieldrefConstant fieldrefConstant)
170     {
171         visitAnyRefConstant(clazz, fieldrefConstant);
172     }
173 
174 
175     /**
176      * Visits any type of method RefConstant of the given class.
177      */
visitAnyMethodrefConstant(Clazz clazz, RefConstant refConstant)178     public void visitAnyMethodrefConstant(Clazz clazz, RefConstant refConstant)
179     {
180         visitAnyRefConstant(clazz, refConstant);
181     }
182 
183 
visitInterfaceMethodrefConstant(Clazz clazz, InterfaceMethodrefConstant interfaceMethodrefConstant)184     public void visitInterfaceMethodrefConstant(Clazz clazz, InterfaceMethodrefConstant interfaceMethodrefConstant)
185     {
186         visitAnyMethodrefConstant(clazz, interfaceMethodrefConstant);
187     }
188 
189 
visitMethodrefConstant(Clazz clazz, MethodrefConstant methodrefConstant)190     public void visitMethodrefConstant(Clazz clazz, MethodrefConstant methodrefConstant)
191     {
192         visitAnyMethodrefConstant(clazz, methodrefConstant);
193     }
194 
195 
visitClassConstant(Clazz clazz, ClassConstant classConstant)196     public void visitClassConstant(Clazz clazz, ClassConstant classConstant)
197     {
198         visitAnyConstant(clazz, classConstant);
199     }
200 
201 
visitNameAndTypeConstant(Clazz clazz, NameAndTypeConstant nameAndTypeConstant)202     public void visitNameAndTypeConstant(Clazz clazz, NameAndTypeConstant nameAndTypeConstant)
203     {
204         visitAnyConstant(clazz, nameAndTypeConstant);
205     }
206 
207 
208     // Simplifications for AttributeVisitor.
209 
210     /**
211      * Visit any type of attribute.
212      */
visitAnyAttribute(Clazz clazz, Attribute attribute)213     public void visitAnyAttribute(Clazz clazz, Attribute attribute)
214     {
215         throw new UnsupportedOperationException("Method must be overridden in ["+this.getClass().getName()+"] if ever called");
216     }
217 
218 
visitUnknownAttribute(Clazz clazz, UnknownAttribute unknownAttribute)219     public void visitUnknownAttribute(Clazz clazz, UnknownAttribute unknownAttribute)
220     {
221         visitAnyAttribute(clazz, unknownAttribute);
222     }
223 
224 
visitSourceFileAttribute(Clazz clazz, SourceFileAttribute sourceFileAttribute)225     public void visitSourceFileAttribute(Clazz clazz, SourceFileAttribute sourceFileAttribute)
226     {
227         visitAnyAttribute(clazz, sourceFileAttribute);
228     }
229 
230 
visitSourceDirAttribute(Clazz clazz, SourceDirAttribute sourceDirAttribute)231     public void visitSourceDirAttribute(Clazz clazz, SourceDirAttribute sourceDirAttribute)
232     {
233         visitAnyAttribute(clazz, sourceDirAttribute);
234     }
235 
236 
visitInnerClassesAttribute(Clazz clazz, InnerClassesAttribute innerClassesAttribute)237     public void visitInnerClassesAttribute(Clazz clazz, InnerClassesAttribute innerClassesAttribute)
238     {
239         visitAnyAttribute(clazz, innerClassesAttribute);
240     }
241 
242 
visitEnclosingMethodAttribute(Clazz clazz, EnclosingMethodAttribute enclosingMethodAttribute)243     public void visitEnclosingMethodAttribute(Clazz clazz, EnclosingMethodAttribute enclosingMethodAttribute)
244     {
245         visitAnyAttribute(clazz, enclosingMethodAttribute);
246     }
247 
248 
visitDeprecatedAttribute(Clazz clazz, DeprecatedAttribute deprecatedAttribute)249     public void visitDeprecatedAttribute(Clazz clazz, DeprecatedAttribute deprecatedAttribute)
250     {
251         visitAnyAttribute(clazz, deprecatedAttribute);
252     }
253 
254 
255     /**
256      * Visits the given DeprecatedAttribute of any type of class member.
257      */
visitDeprecatedAttribute(Clazz clazz, Member member, DeprecatedAttribute deprecatedAttribute)258     public void visitDeprecatedAttribute(Clazz clazz, Member member, DeprecatedAttribute deprecatedAttribute)
259     {
260         visitDeprecatedAttribute(clazz, deprecatedAttribute);
261     }
262 
263 
visitDeprecatedAttribute(Clazz clazz, Field field, DeprecatedAttribute deprecatedAttribute)264     public void visitDeprecatedAttribute(Clazz clazz, Field field, DeprecatedAttribute deprecatedAttribute)
265     {
266         visitDeprecatedAttribute(clazz, (Member)field, deprecatedAttribute);
267     }
268 
269 
visitDeprecatedAttribute(Clazz clazz, Method method, DeprecatedAttribute deprecatedAttribute)270     public void visitDeprecatedAttribute(Clazz clazz, Method method, DeprecatedAttribute deprecatedAttribute)
271     {
272         visitDeprecatedAttribute(clazz, (Member)method, deprecatedAttribute);
273     }
274 
275 
visitSyntheticAttribute(Clazz clazz, SyntheticAttribute syntheticAttribute)276     public void visitSyntheticAttribute(Clazz clazz, SyntheticAttribute syntheticAttribute)
277     {
278         visitAnyAttribute(clazz, syntheticAttribute);
279     }
280 
281 
282     /**
283      * Visits the given SyntheticAttribute of any type of class member.
284      */
visitSyntheticAttribute(Clazz clazz, Member member, SyntheticAttribute syntheticAttribute)285     public void visitSyntheticAttribute(Clazz clazz, Member member, SyntheticAttribute syntheticAttribute)
286     {
287         visitSyntheticAttribute(clazz, syntheticAttribute);
288     }
289 
290 
visitSyntheticAttribute(Clazz clazz, Field field, SyntheticAttribute syntheticAttribute)291     public void visitSyntheticAttribute(Clazz clazz, Field field, SyntheticAttribute syntheticAttribute)
292     {
293         visitSyntheticAttribute(clazz, (Member)field, syntheticAttribute);
294     }
295 
296 
visitSyntheticAttribute(Clazz clazz, Method method, SyntheticAttribute syntheticAttribute)297     public void visitSyntheticAttribute(Clazz clazz, Method method, SyntheticAttribute syntheticAttribute)
298     {
299         visitSyntheticAttribute(clazz, (Member)method, syntheticAttribute);
300     }
301 
302 
visitSignatureAttribute(Clazz clazz, SignatureAttribute signatureAttribute)303     public void visitSignatureAttribute(Clazz clazz, SignatureAttribute signatureAttribute)
304     {
305         visitAnyAttribute(clazz, signatureAttribute);
306     }
307 
308 
309     /**
310      * Visits the given SignatureAttribute of any type of class member.
311      */
visitSignatureAttribute(Clazz clazz, Member member, SignatureAttribute signatureAttribute)312     public void visitSignatureAttribute(Clazz clazz, Member member, SignatureAttribute signatureAttribute)
313     {
314         visitSignatureAttribute(clazz, signatureAttribute);
315     }
316 
317 
visitSignatureAttribute(Clazz clazz, Field field, SignatureAttribute signatureAttribute)318     public void visitSignatureAttribute(Clazz clazz, Field field, SignatureAttribute signatureAttribute)
319     {
320         visitSignatureAttribute(clazz, (Member)field, signatureAttribute);
321     }
322 
323 
visitSignatureAttribute(Clazz clazz, Method method, SignatureAttribute signatureAttribute)324     public void visitSignatureAttribute(Clazz clazz, Method method, SignatureAttribute signatureAttribute)
325     {
326         visitSignatureAttribute(clazz, (Member)method, signatureAttribute);
327     }
328 
329 
visitConstantValueAttribute(Clazz clazz, Field field, ConstantValueAttribute constantValueAttribute)330     public void visitConstantValueAttribute(Clazz clazz, Field field, ConstantValueAttribute constantValueAttribute)
331     {
332         visitAnyAttribute(clazz, constantValueAttribute);
333     }
334 
335 
visitExceptionsAttribute(Clazz clazz, Method method, ExceptionsAttribute exceptionsAttribute)336     public void visitExceptionsAttribute(Clazz clazz, Method method, ExceptionsAttribute exceptionsAttribute)
337     {
338         visitAnyAttribute(clazz, exceptionsAttribute);
339     }
340 
341 
visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute)342     public void visitCodeAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute)
343     {
344         visitAnyAttribute(clazz, codeAttribute);
345     }
346 
347 
visitStackMapAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, StackMapAttribute stackMapAttribute)348     public void visitStackMapAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, StackMapAttribute stackMapAttribute)
349     {
350         visitAnyAttribute(clazz, stackMapAttribute);
351     }
352 
353 
visitStackMapTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, StackMapTableAttribute stackMapTableAttribute)354     public void visitStackMapTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, StackMapTableAttribute stackMapTableAttribute)
355     {
356         visitAnyAttribute(clazz, stackMapTableAttribute);
357     }
358 
359 
visitLineNumberTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LineNumberTableAttribute lineNumberTableAttribute)360     public void visitLineNumberTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LineNumberTableAttribute lineNumberTableAttribute)
361     {
362         visitAnyAttribute(clazz, lineNumberTableAttribute);
363     }
364 
365 
visitLocalVariableTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableTableAttribute localVariableTableAttribute)366     public void visitLocalVariableTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableTableAttribute localVariableTableAttribute)
367     {
368         visitAnyAttribute(clazz, localVariableTableAttribute);
369     }
370 
371 
visitLocalVariableTypeTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableTypeTableAttribute localVariableTypeTableAttribute)372     public void visitLocalVariableTypeTableAttribute(Clazz clazz, Method method, CodeAttribute codeAttribute, LocalVariableTypeTableAttribute localVariableTypeTableAttribute)
373     {
374         visitAnyAttribute(clazz, localVariableTypeTableAttribute);
375     }
376 
377 
378     /**
379      * Visits any type of AnnotationsAttribute of a class.
380      */
visitAnyAnnotationsAttribute(Clazz clazz, AnnotationsAttribute annotationsAttribute)381     public void visitAnyAnnotationsAttribute(Clazz clazz, AnnotationsAttribute annotationsAttribute)
382     {
383         visitAnyAttribute(clazz, annotationsAttribute);
384     }
385 
386 
visitRuntimeVisibleAnnotationsAttribute(Clazz clazz, RuntimeVisibleAnnotationsAttribute runtimeVisibleAnnotationsAttribute)387     public void visitRuntimeVisibleAnnotationsAttribute(Clazz clazz, RuntimeVisibleAnnotationsAttribute runtimeVisibleAnnotationsAttribute)
388     {
389         visitAnyAnnotationsAttribute(clazz, runtimeVisibleAnnotationsAttribute);
390     }
391 
392 
393     /**
394      * Visits the given RuntimeVisibleAnnotationsAttribute of any type of class member.
395      */
visitRuntimeVisibleAnnotationsAttribute(Clazz clazz, Member member, RuntimeVisibleAnnotationsAttribute runtimeVisibleAnnotationsAttribute)396     public void visitRuntimeVisibleAnnotationsAttribute(Clazz clazz, Member member, RuntimeVisibleAnnotationsAttribute runtimeVisibleAnnotationsAttribute)
397     {
398         visitRuntimeVisibleAnnotationsAttribute(clazz, runtimeVisibleAnnotationsAttribute);
399     }
400 
401 
visitRuntimeVisibleAnnotationsAttribute(Clazz clazz, Field field, RuntimeVisibleAnnotationsAttribute runtimeVisibleAnnotationsAttribute)402     public void visitRuntimeVisibleAnnotationsAttribute(Clazz clazz, Field field, RuntimeVisibleAnnotationsAttribute runtimeVisibleAnnotationsAttribute)
403     {
404         visitRuntimeVisibleAnnotationsAttribute(clazz, (Member)field, runtimeVisibleAnnotationsAttribute);
405     }
406 
407 
visitRuntimeVisibleAnnotationsAttribute(Clazz clazz, Method method, RuntimeVisibleAnnotationsAttribute runtimeVisibleAnnotationsAttribute)408     public void visitRuntimeVisibleAnnotationsAttribute(Clazz clazz, Method method, RuntimeVisibleAnnotationsAttribute runtimeVisibleAnnotationsAttribute)
409     {
410         visitRuntimeVisibleAnnotationsAttribute(clazz, (Member)method, runtimeVisibleAnnotationsAttribute);
411     }
412 
413 
visitRuntimeInvisibleAnnotationsAttribute(Clazz clazz, RuntimeInvisibleAnnotationsAttribute runtimeInvisibleAnnotationsAttribute)414     public void visitRuntimeInvisibleAnnotationsAttribute(Clazz clazz, RuntimeInvisibleAnnotationsAttribute runtimeInvisibleAnnotationsAttribute)
415     {
416         visitAnyAnnotationsAttribute(clazz, runtimeInvisibleAnnotationsAttribute);
417     }
418 
419 
420     /**
421      * Visits the given RuntimeInvisibleAnnotationsAttribute of any type of class member.
422      */
visitRuntimeInvisibleAnnotationsAttribute(Clazz clazz, Member member, RuntimeInvisibleAnnotationsAttribute runtimeInvisibleAnnotationsAttribute)423     public void visitRuntimeInvisibleAnnotationsAttribute(Clazz clazz, Member member, RuntimeInvisibleAnnotationsAttribute runtimeInvisibleAnnotationsAttribute)
424     {
425         visitRuntimeInvisibleAnnotationsAttribute(clazz, runtimeInvisibleAnnotationsAttribute);
426     }
427 
428 
visitRuntimeInvisibleAnnotationsAttribute(Clazz clazz, Field field, RuntimeInvisibleAnnotationsAttribute runtimeInvisibleAnnotationsAttribute)429     public void visitRuntimeInvisibleAnnotationsAttribute(Clazz clazz, Field field, RuntimeInvisibleAnnotationsAttribute runtimeInvisibleAnnotationsAttribute)
430     {
431         visitRuntimeInvisibleAnnotationsAttribute(clazz, (Member)field, runtimeInvisibleAnnotationsAttribute);
432     }
433 
434 
visitRuntimeInvisibleAnnotationsAttribute(Clazz clazz, Method method, RuntimeInvisibleAnnotationsAttribute runtimeInvisibleAnnotationsAttribute)435     public void visitRuntimeInvisibleAnnotationsAttribute(Clazz clazz, Method method, RuntimeInvisibleAnnotationsAttribute runtimeInvisibleAnnotationsAttribute)
436     {
437         visitRuntimeInvisibleAnnotationsAttribute(clazz, (Member)method, runtimeInvisibleAnnotationsAttribute);
438     }
439 
440 
441     /**
442      * Visits any type of ParameterAnnotationsAttribute.
443      */
visitAnyParameterAnnotationsAttribute(Clazz clazz, Method method, ParameterAnnotationsAttribute parameterAnnotationsAttribute)444     public void visitAnyParameterAnnotationsAttribute(Clazz clazz, Method method, ParameterAnnotationsAttribute parameterAnnotationsAttribute)
445     {
446         visitAnyAttribute(clazz, parameterAnnotationsAttribute);
447     }
448 
449 
visitRuntimeVisibleParameterAnnotationsAttribute(Clazz clazz, Method method, RuntimeVisibleParameterAnnotationsAttribute runtimeVisibleParameterAnnotationsAttribute)450     public void visitRuntimeVisibleParameterAnnotationsAttribute(Clazz clazz, Method method, RuntimeVisibleParameterAnnotationsAttribute runtimeVisibleParameterAnnotationsAttribute)
451     {
452         visitAnyParameterAnnotationsAttribute(clazz, method, runtimeVisibleParameterAnnotationsAttribute);
453     }
454 
455 
visitRuntimeInvisibleParameterAnnotationsAttribute(Clazz clazz, Method method, RuntimeInvisibleParameterAnnotationsAttribute runtimeInvisibleParameterAnnotationsAttribute)456     public void visitRuntimeInvisibleParameterAnnotationsAttribute(Clazz clazz, Method method, RuntimeInvisibleParameterAnnotationsAttribute runtimeInvisibleParameterAnnotationsAttribute)
457     {
458         visitAnyParameterAnnotationsAttribute(clazz, method, runtimeInvisibleParameterAnnotationsAttribute);
459     }
460 
461 
visitAnnotationDefaultAttribute(Clazz clazz, Method method, AnnotationDefaultAttribute annotationDefaultAttribute)462     public void visitAnnotationDefaultAttribute(Clazz clazz, Method method, AnnotationDefaultAttribute annotationDefaultAttribute)
463     {
464         visitAnyAttribute(clazz, annotationDefaultAttribute);
465     }
466 
467 
468     // Simplifications for InstructionVisitor.
469 
470     /**
471      * Visits any type of Instruction.
472      */
visitAnyInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, Instruction instruction)473     public void visitAnyInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, Instruction instruction)
474     {
475         throw new UnsupportedOperationException("Method must be overridden in ["+this.getClass().getName()+"] if ever called");
476     }
477 
478 
visitSimpleInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, SimpleInstruction simpleInstruction)479     public void visitSimpleInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, SimpleInstruction simpleInstruction)
480     {
481         visitAnyInstruction(clazz, method, codeAttribute, offset, simpleInstruction);
482     }
483 
484 
visitVariableInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, VariableInstruction variableInstruction)485     public void visitVariableInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, VariableInstruction variableInstruction)
486     {
487         visitAnyInstruction(clazz, method, codeAttribute, offset, variableInstruction);
488     }
489 
490 
visitConstantInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, ConstantInstruction constantInstruction)491     public void visitConstantInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, ConstantInstruction constantInstruction)
492     {
493         visitAnyInstruction(clazz, method, codeAttribute, offset, constantInstruction);
494     }
495 
496 
visitBranchInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, BranchInstruction branchInstruction)497     public void visitBranchInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, BranchInstruction branchInstruction)
498     {
499         visitAnyInstruction(clazz, method, codeAttribute, offset, branchInstruction);
500     }
501 
502 
503     /**
504      * Visits either type of SwitchInstruction.
505      */
visitAnySwitchInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, SwitchInstruction switchInstruction)506     public void visitAnySwitchInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, SwitchInstruction switchInstruction)
507     {
508         visitAnyInstruction(clazz, method, codeAttribute, offset, switchInstruction);
509     }
510 
511 
visitTableSwitchInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, TableSwitchInstruction tableSwitchInstruction)512     public void visitTableSwitchInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, TableSwitchInstruction tableSwitchInstruction)
513     {
514         visitAnySwitchInstruction(clazz, method, codeAttribute, offset, tableSwitchInstruction);
515     }
516 
517 
visitLookUpSwitchInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, LookUpSwitchInstruction lookUpSwitchInstruction)518     public void visitLookUpSwitchInstruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, LookUpSwitchInstruction lookUpSwitchInstruction)
519     {
520         visitAnySwitchInstruction(clazz, method, codeAttribute, offset, lookUpSwitchInstruction);
521     }
522 
523 
524     // Simplifications for StackMapFrameVisitor.
525 
526     /**
527      * Visits any type of VerificationType.
528      */
visitAnyStackMapFrame(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, StackMapFrame stackMapFrame)529     public void visitAnyStackMapFrame(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, StackMapFrame stackMapFrame)
530     {
531         throw new UnsupportedOperationException("Method must be overridden in ["+this.getClass().getName()+"] if ever called");
532     }
533 
534 
visitSameZeroFrame(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, SameZeroFrame sameZeroFrame)535     public void visitSameZeroFrame(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, SameZeroFrame sameZeroFrame)
536     {
537         visitAnyStackMapFrame(clazz, method, codeAttribute, offset, sameZeroFrame);
538     }
539 
540 
visitSameOneFrame(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, SameOneFrame sameOneFrame)541     public void visitSameOneFrame(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, SameOneFrame sameOneFrame)
542     {
543         visitAnyStackMapFrame(clazz, method, codeAttribute, offset, sameOneFrame);
544     }
545 
546 
visitLessZeroFrame(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, LessZeroFrame lessZeroFrame)547     public void visitLessZeroFrame(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, LessZeroFrame lessZeroFrame)
548     {
549         visitAnyStackMapFrame(clazz, method, codeAttribute, offset, lessZeroFrame);
550     }
551 
552 
visitMoreZeroFrame(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, MoreZeroFrame moreZeroFrame)553     public void visitMoreZeroFrame(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, MoreZeroFrame moreZeroFrame)
554     {
555         visitAnyStackMapFrame(clazz, method, codeAttribute, offset, moreZeroFrame);
556     }
557 
558 
visitFullFrame(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, FullFrame fullFrame)559     public void visitFullFrame(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, FullFrame fullFrame)
560     {
561         visitAnyStackMapFrame(clazz, method, codeAttribute, offset, fullFrame);
562     }
563 
564 
565     // Simplifications for VerificationTypeVisitor.
566 
567     /**
568      * Visits any type of VerificationType.
569      */
visitAnyVerificationType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, VerificationType verificationType)570     public void visitAnyVerificationType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, VerificationType verificationType)
571     {
572         throw new UnsupportedOperationException("Method must be overridden in ["+this.getClass().getName()+"] if ever called");
573     }
574 
575 
visitIntegerType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, IntegerType integerType)576     public void visitIntegerType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, IntegerType integerType)
577     {
578         visitAnyVerificationType(clazz, method, codeAttribute, offset, integerType);
579     }
580 
581 
visitFloatType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, FloatType floatType)582     public void visitFloatType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, FloatType floatType)
583     {
584         visitAnyVerificationType(clazz, method, codeAttribute, offset, floatType);
585     }
586 
587 
visitLongType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, LongType longType)588     public void visitLongType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, LongType longType)
589     {
590         visitAnyVerificationType(clazz, method, codeAttribute, offset, longType);
591     }
592 
593 
visitDoubleType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, DoubleType doubleType)594     public void visitDoubleType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, DoubleType doubleType)
595     {
596         visitAnyVerificationType(clazz, method, codeAttribute, offset, doubleType);
597     }
598 
599 
visitTopType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, TopType topType)600     public void visitTopType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, TopType topType)
601     {
602         visitAnyVerificationType(clazz, method, codeAttribute, offset, topType);
603     }
604 
605 
visitObjectType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, ObjectType objectType)606     public void visitObjectType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, ObjectType objectType)
607     {
608         visitAnyVerificationType(clazz, method, codeAttribute, offset, objectType);
609     }
610 
611 
visitNullType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, NullType nullType)612     public void visitNullType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, NullType nullType)
613     {
614         visitAnyVerificationType(clazz, method, codeAttribute, offset, nullType);
615     }
616 
617 
visitUninitializedType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, UninitializedType uninitializedType)618     public void visitUninitializedType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, UninitializedType uninitializedType)
619     {
620         visitAnyVerificationType(clazz, method, codeAttribute, offset, uninitializedType);
621     }
622 
623 
visitUninitializedThisType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, UninitializedThisType uninitializedThisType)624     public void visitUninitializedThisType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, UninitializedThisType uninitializedThisType)
625     {
626         visitAnyVerificationType(clazz, method, codeAttribute, offset, uninitializedThisType);
627     }
628 
629 
visitStackIntegerType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, IntegerType integerType)630     public void visitStackIntegerType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, IntegerType integerType)
631     {
632         visitIntegerType(clazz, method, codeAttribute, offset, integerType);
633     }
634 
635 
visitStackFloatType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, FloatType floatType)636     public void visitStackFloatType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, FloatType floatType)
637     {
638         visitFloatType(clazz, method, codeAttribute, offset, floatType);
639     }
640 
641 
visitStackLongType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, LongType longType)642     public void visitStackLongType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, LongType longType)
643     {
644         visitLongType(clazz, method, codeAttribute, offset, longType);
645     }
646 
647 
visitStackDoubleType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, DoubleType doubleType)648     public void visitStackDoubleType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, DoubleType doubleType)
649     {
650         visitDoubleType(clazz, method, codeAttribute, offset, doubleType);
651     }
652 
653 
visitStackTopType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, TopType topType)654     public void visitStackTopType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, TopType topType)
655     {
656         visitTopType(clazz, method, codeAttribute, offset, topType);
657     }
658 
659 
visitStackObjectType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, ObjectType objectType)660     public void visitStackObjectType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, ObjectType objectType)
661     {
662         visitObjectType(clazz, method, codeAttribute, offset, objectType);
663     }
664 
665 
visitStackNullType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, NullType nullType)666     public void visitStackNullType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, NullType nullType)
667     {
668         visitNullType(clazz, method, codeAttribute, offset, nullType);
669     }
670 
671 
visitStackUninitializedType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, UninitializedType uninitializedType)672     public void visitStackUninitializedType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, UninitializedType uninitializedType)
673     {
674         visitUninitializedType(clazz, method, codeAttribute, offset, uninitializedType);
675     }
676 
677 
visitStackUninitializedThisType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, UninitializedThisType uninitializedThisType)678     public void visitStackUninitializedThisType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, UninitializedThisType uninitializedThisType)
679     {
680         visitUninitializedThisType(clazz, method, codeAttribute, offset, uninitializedThisType);
681     }
682 
683 
684 
visitVariablesIntegerType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, IntegerType integerType)685     public void visitVariablesIntegerType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, IntegerType integerType)
686     {
687         visitIntegerType(clazz, method, codeAttribute, offset, integerType);
688     }
689 
690 
visitVariablesFloatType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, FloatType floatType)691     public void visitVariablesFloatType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, FloatType floatType)
692     {
693         visitFloatType(clazz, method, codeAttribute, offset, floatType);
694     }
695 
696 
visitVariablesLongType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, LongType longType)697     public void visitVariablesLongType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, LongType longType)
698     {
699         visitLongType(clazz, method, codeAttribute, offset, longType);
700     }
701 
702 
visitVariablesDoubleType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, DoubleType doubleType)703     public void visitVariablesDoubleType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, DoubleType doubleType)
704     {
705         visitDoubleType(clazz, method, codeAttribute, offset, doubleType);
706     }
707 
708 
visitVariablesTopType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, TopType topType)709     public void visitVariablesTopType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, TopType topType)
710     {
711         visitTopType(clazz, method, codeAttribute, offset, topType);
712     }
713 
714 
visitVariablesObjectType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, ObjectType objectType)715     public void visitVariablesObjectType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, ObjectType objectType)
716     {
717         visitObjectType(clazz, method, codeAttribute, offset, objectType);
718     }
719 
720 
visitVariablesNullType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, NullType nullType)721     public void visitVariablesNullType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, NullType nullType)
722     {
723         visitNullType(clazz, method, codeAttribute, offset, nullType);
724     }
725 
726 
visitVariablesUninitializedType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, UninitializedType uninitializedType)727     public void visitVariablesUninitializedType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, UninitializedType uninitializedType)
728     {
729         visitUninitializedType(clazz, method, codeAttribute, offset, uninitializedType);
730     }
731 
732 
visitVariablesUninitializedThisType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, UninitializedThisType uninitializedThisType)733     public void visitVariablesUninitializedThisType(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, int index, UninitializedThisType uninitializedThisType)
734     {
735         visitUninitializedThisType(clazz, method, codeAttribute, offset, uninitializedThisType);
736     }
737 
738 
739     // Simplifications for AnnotationVisitor.
740 
visitAnnotation(Clazz clazz, Annotation annotation)741     public void visitAnnotation(Clazz clazz, Annotation annotation)
742     {
743         throw new UnsupportedOperationException("Method must be overridden in ["+this.getClass().getName()+"] if ever called");
744     }
745 
746 
747     /**
748      * Visits the given Annotation of any type of class member.
749      */
visitAnnotation(Clazz clazz, Member member, Annotation annotation)750     public void visitAnnotation(Clazz clazz, Member member, Annotation annotation)
751     {
752         visitAnnotation(clazz, annotation);
753     }
754 
755 
visitAnnotation(Clazz clazz, Field field, Annotation annotation)756     public void visitAnnotation(Clazz clazz, Field field, Annotation annotation)
757     {
758         visitAnnotation(clazz, (Member)field, annotation);
759     }
760 
761 
visitAnnotation(Clazz clazz, Method method, Annotation annotation)762     public void visitAnnotation(Clazz clazz, Method method, Annotation annotation)
763     {
764         visitAnnotation(clazz, (Member)method, annotation);
765     }
766 
767 
visitAnnotation(Clazz clazz, Method method, int parameterIndex, Annotation annotation)768     public void visitAnnotation(Clazz clazz, Method method, int parameterIndex, Annotation annotation)
769     {
770         visitAnnotation(clazz, method, annotation);
771     }
772 
773 
774     // Simplifications for ElementValueVisitor.
775 
visitAnyElementValue(Clazz clazz, Annotation annotation, ElementValue elementValue)776     public void visitAnyElementValue(Clazz clazz, Annotation annotation, ElementValue elementValue)
777     {
778         throw new UnsupportedOperationException("Method must be overridden in ["+this.getClass().getName()+"] if ever called");
779     }
780 
781 
visitConstantElementValue(Clazz clazz, Annotation annotation, ConstantElementValue constantElementValue)782     public void visitConstantElementValue(Clazz clazz, Annotation annotation, ConstantElementValue constantElementValue)
783     {
784         visitAnyElementValue(clazz, annotation, constantElementValue);
785     }
786 
787 
visitEnumConstantElementValue(Clazz clazz, Annotation annotation, EnumConstantElementValue enumConstantElementValue)788     public void visitEnumConstantElementValue(Clazz clazz, Annotation annotation, EnumConstantElementValue enumConstantElementValue)
789     {
790         visitAnyElementValue(clazz, annotation, enumConstantElementValue);
791     }
792 
793 
visitClassElementValue(Clazz clazz, Annotation annotation, ClassElementValue classElementValue)794     public void visitClassElementValue(Clazz clazz, Annotation annotation, ClassElementValue classElementValue)
795     {
796         visitAnyElementValue(clazz, annotation, classElementValue);
797     }
798 
799 
visitAnnotationElementValue(Clazz clazz, Annotation annotation, AnnotationElementValue annotationElementValue)800     public void visitAnnotationElementValue(Clazz clazz, Annotation annotation, AnnotationElementValue annotationElementValue)
801     {
802         visitAnyElementValue(clazz, annotation, annotationElementValue);
803     }
804 
805 
visitArrayElementValue(Clazz clazz, Annotation annotation, ArrayElementValue arrayElementValue)806     public void visitArrayElementValue(Clazz clazz, Annotation annotation, ArrayElementValue arrayElementValue)
807     {
808         visitAnyElementValue(clazz, annotation, arrayElementValue);
809     }
810 }
811