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