1
/* $Id: AllAttrInfoVisitor.java,v 1.1 2004/10/10 21:10:04 eric Exp $
1
/* $Id: AllAttrInfoVisitor.java,v 1.2 2005/05/22 00:29:17 eric Exp $
3
3
* ProGuard -- shrinking, optimization, and obfuscation of Java class files.
21
21
package proguard.classfile.attribute;
23
23
import proguard.classfile.*;
24
import proguard.classfile.attribute.annotation.*;
24
25
import proguard.classfile.visitor.*;
28
* This MemberInfoVisitor lets a given AttrInfoVisitor visit all AttrInfo
29
* objects of the program class members it visits.
29
* This ClassFileVisitor and MemberInfoVisitor lets a given AttrInfoVisitor
30
* visit all AttrInfo objects of the program classes and program class members
31
33
* @author Eric Lafortune
33
public class AllAttrInfoVisitor implements MemberInfoVisitor
35
public class AllAttrInfoVisitor
36
implements ClassFileVisitor,
35
40
private AttrInfoVisitor attrInfoVisitor;
49
// Implementations for ClassFileVisitor.
51
public void visitProgramClassFile(ProgramClassFile programClassFile)
53
// Visit the attributes of all fields and methods.
54
programClassFile.fieldsAccept(this);
55
programClassFile.methodsAccept(this);
57
// Visit the attributes.
58
programClassFile.attributesAccept(attrInfoVisitor);
62
public void visitLibraryClassFile(LibraryClassFile libraryClassFile)
64
// Library class files don't have attributes.
44
68
// Implementations for MemberInfoVisitor.
46
70
public void visitProgramFieldInfo(ProgramClassFile programClassFile, ProgramFieldInfo programFieldInfo)
48
72
programFieldInfo.attributesAccept(programClassFile, attrInfoVisitor);
74
// Visit the attributes.
75
programFieldInfo.attributesAccept(programClassFile, this);
52
79
public void visitProgramMethodInfo(ProgramClassFile programClassFile, ProgramMethodInfo programMethodInfo)
54
81
programMethodInfo.attributesAccept(programClassFile, attrInfoVisitor);
83
// Visit the attributes.
84
programMethodInfo.attributesAccept(programClassFile, this);
66
96
// Library class file methods don't have attributes.
100
// Implementations for AttrInfoVisitor.
102
public void visitUnknownAttrInfo(ClassFile classFile, UnknownAttrInfo unknownAttrInfo) {}
103
public void visitInnerClassesAttrInfo(ClassFile classFile, InnerClassesAttrInfo innerClassesAttrInfo) {}
104
public void visitEnclosingMethodAttrInfo(ClassFile classFile, EnclosingMethodAttrInfo enclosingMethodAttrInfo) {}
105
public void visitConstantValueAttrInfo(ClassFile classFile, FieldInfo fieldInfo, ConstantValueAttrInfo constantValueAttrInfo) {}
106
public void visitExceptionsAttrInfo(ClassFile classFile, MethodInfo methodInfo, ExceptionsAttrInfo exceptionsAttrInfo) {}
107
public void visitLineNumberTableAttrInfo(ClassFile classFile, MethodInfo methodInfo, CodeAttrInfo codeAttrInfo, LineNumberTableAttrInfo lineNumberTableAttrInfo) {}
108
public void visitLocalVariableTableAttrInfo(ClassFile classFile, MethodInfo methodInfo, CodeAttrInfo codeAttrInfo, LocalVariableTableAttrInfo localVariableTableAttrInfo) {}
109
public void visitLocalVariableTypeTableAttrInfo(ClassFile classFile, MethodInfo methodInfo, CodeAttrInfo codeAttrInfo, LocalVariableTypeTableAttrInfo localVariableTypeTableAttrInfo) {}
110
public void visitSourceFileAttrInfo(ClassFile classFile, SourceFileAttrInfo sourceFileAttrInfo) {}
111
public void visitSourceDirAttrInfo(ClassFile classFile, SourceDirAttrInfo sourceDirAttrInfo) {}
112
public void visitDeprecatedAttrInfo(ClassFile classFile, DeprecatedAttrInfo deprecatedAttrInfo) {}
113
public void visitSyntheticAttrInfo(ClassFile classFile, SyntheticAttrInfo syntheticAttrInfo) {}
114
public void visitSignatureAttrInfo(ClassFile classFile, SignatureAttrInfo signatureAttrInfo) {}
115
public void visitRuntimeVisibleAnnotationAttrInfo(ClassFile classFile, RuntimeVisibleAnnotationsAttrInfo runtimeVisibleAnnotationsAttrInfo) {}
116
public void visitRuntimeInvisibleAnnotationAttrInfo(ClassFile classFile, RuntimeInvisibleAnnotationsAttrInfo runtimeInvisibleAnnotationsAttrInfo) {}
117
public void visitRuntimeVisibleParameterAnnotationAttrInfo(ClassFile classFile, RuntimeVisibleParameterAnnotationsAttrInfo runtimeVisibleParameterAnnotationsAttrInfo) {}
118
public void visitRuntimeInvisibleParameterAnnotationAttrInfo(ClassFile classFile, RuntimeInvisibleParameterAnnotationsAttrInfo runtimeInvisibleParameterAnnotationsAttrInfo) {}
119
public void visitAnnotationDefaultAttrInfo(ClassFile classFile, AnnotationDefaultAttrInfo annotationDefaultAttrInfo) {}
122
public void visitCodeAttrInfo(ClassFile classFile, MethodInfo methodInfo, CodeAttrInfo codeAttrInfo)
124
// Visit the attributes.
125
codeAttrInfo.attributesAccept(classFile, methodInfo, this);