proguard.shrink
Class ClassFileShrinker
java.lang.Object
proguard.shrink.ClassFileShrinker
- All Implemented Interfaces:
- AttrInfoVisitor, ClassFileVisitor, MemberInfoVisitor
- public class ClassFileShrinker
- extends Object
- implements ClassFileVisitor, MemberInfoVisitor, AttrInfoVisitor
This ClassFileVisitor removes constant pool entries and class members that
are not marked as being used.
- See Also:
UsageMarker
|
Constructor Summary |
ClassFileShrinker(int codeLength)
Creates a new ClassFileShrinker. |
|
Method Summary |
void |
visitCodeAttrInfo(ClassFile classFile,
MethodInfo methodInfo,
CodeAttrInfo codeAttrInfo)
|
void |
visitConstantValueAttrInfo(ClassFile classFile,
FieldInfo fieldInfo,
ConstantValueAttrInfo constantValueAttrInfo)
|
void |
visitDeprecatedAttrInfo(ClassFile classFile,
DeprecatedAttrInfo deprecatedAttrInfo)
|
void |
visitExceptionsAttrInfo(ClassFile classFile,
MethodInfo methodInfo,
ExceptionsAttrInfo exceptionsAttrInfo)
|
void |
visitInnerClassesAttrInfo(ClassFile classFile,
InnerClassesAttrInfo innerClassesAttrInfo)
|
void |
visitLibraryClassFile(LibraryClassFile libraryClassFile)
|
void |
visitLibraryFieldInfo(LibraryClassFile libraryClassFile,
LibraryFieldInfo libraryFieldInfo)
|
void |
visitLibraryMethodInfo(LibraryClassFile libraryClassFile,
LibraryMethodInfo libraryMethodInfo)
|
void |
visitLineNumberTableAttrInfo(ClassFile classFile,
MethodInfo methodInfo,
CodeAttrInfo codeAttrInfo,
LineNumberTableAttrInfo lineNumberTableAttrInfo)
|
void |
visitLocalVariableTableAttrInfo(ClassFile classFile,
MethodInfo methodInfo,
CodeAttrInfo codeAttrInfo,
LocalVariableTableAttrInfo localVariableTableAttrInfo)
|
void |
visitProgramClassFile(ProgramClassFile programClassFile)
|
void |
visitProgramFieldInfo(ProgramClassFile programClassFile,
ProgramFieldInfo programFieldInfo)
|
void |
visitProgramMethodInfo(ProgramClassFile programClassFile,
ProgramMethodInfo programMethodInfo)
|
void |
visitSignatureAttrInfo(ClassFile classFile,
SignatureAttrInfo signatureAttrInfo)
|
void |
visitSourceDirAttrInfo(ClassFile classFile,
SourceDirAttrInfo sourceDirAttrInfo)
|
void |
visitSourceFileAttrInfo(ClassFile classFile,
SourceFileAttrInfo sourceFileAttrInfo)
|
void |
visitSyntheticAttrInfo(ClassFile classFile,
SyntheticAttrInfo syntheticAttrInfo)
|
void |
visitUnknownAttrInfo(ClassFile classFile,
UnknownAttrInfo unknownAttrInfo)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ClassFileShrinker
public ClassFileShrinker(int codeLength)
- Creates a new ClassFileShrinker.
- Parameters:
codeLength - an estimate of the maximum length of all the code that
will be edited.
visitProgramClassFile
public void visitProgramClassFile(ProgramClassFile programClassFile)
- Specified by:
visitProgramClassFile in interface ClassFileVisitor
visitLibraryClassFile
public void visitLibraryClassFile(LibraryClassFile libraryClassFile)
- Specified by:
visitLibraryClassFile in interface ClassFileVisitor
visitProgramFieldInfo
public void visitProgramFieldInfo(ProgramClassFile programClassFile,
ProgramFieldInfo programFieldInfo)
- Specified by:
visitProgramFieldInfo in interface MemberInfoVisitor
visitProgramMethodInfo
public void visitProgramMethodInfo(ProgramClassFile programClassFile,
ProgramMethodInfo programMethodInfo)
- Specified by:
visitProgramMethodInfo in interface MemberInfoVisitor
visitLibraryFieldInfo
public void visitLibraryFieldInfo(LibraryClassFile libraryClassFile,
LibraryFieldInfo libraryFieldInfo)
- Specified by:
visitLibraryFieldInfo in interface MemberInfoVisitor
visitLibraryMethodInfo
public void visitLibraryMethodInfo(LibraryClassFile libraryClassFile,
LibraryMethodInfo libraryMethodInfo)
- Specified by:
visitLibraryMethodInfo in interface MemberInfoVisitor
visitUnknownAttrInfo
public void visitUnknownAttrInfo(ClassFile classFile,
UnknownAttrInfo unknownAttrInfo)
- Specified by:
visitUnknownAttrInfo in interface AttrInfoVisitor
visitConstantValueAttrInfo
public void visitConstantValueAttrInfo(ClassFile classFile,
FieldInfo fieldInfo,
ConstantValueAttrInfo constantValueAttrInfo)
- Specified by:
visitConstantValueAttrInfo in interface AttrInfoVisitor
visitExceptionsAttrInfo
public void visitExceptionsAttrInfo(ClassFile classFile,
MethodInfo methodInfo,
ExceptionsAttrInfo exceptionsAttrInfo)
- Specified by:
visitExceptionsAttrInfo in interface AttrInfoVisitor
visitLineNumberTableAttrInfo
public void visitLineNumberTableAttrInfo(ClassFile classFile,
MethodInfo methodInfo,
CodeAttrInfo codeAttrInfo,
LineNumberTableAttrInfo lineNumberTableAttrInfo)
- Specified by:
visitLineNumberTableAttrInfo in interface AttrInfoVisitor
visitLocalVariableTableAttrInfo
public void visitLocalVariableTableAttrInfo(ClassFile classFile,
MethodInfo methodInfo,
CodeAttrInfo codeAttrInfo,
LocalVariableTableAttrInfo localVariableTableAttrInfo)
- Specified by:
visitLocalVariableTableAttrInfo in interface AttrInfoVisitor
visitSourceFileAttrInfo
public void visitSourceFileAttrInfo(ClassFile classFile,
SourceFileAttrInfo sourceFileAttrInfo)
- Specified by:
visitSourceFileAttrInfo in interface AttrInfoVisitor
visitSourceDirAttrInfo
public void visitSourceDirAttrInfo(ClassFile classFile,
SourceDirAttrInfo sourceDirAttrInfo)
- Specified by:
visitSourceDirAttrInfo in interface AttrInfoVisitor
visitDeprecatedAttrInfo
public void visitDeprecatedAttrInfo(ClassFile classFile,
DeprecatedAttrInfo deprecatedAttrInfo)
- Specified by:
visitDeprecatedAttrInfo in interface AttrInfoVisitor
visitSyntheticAttrInfo
public void visitSyntheticAttrInfo(ClassFile classFile,
SyntheticAttrInfo syntheticAttrInfo)
- Specified by:
visitSyntheticAttrInfo in interface AttrInfoVisitor
visitSignatureAttrInfo
public void visitSignatureAttrInfo(ClassFile classFile,
SignatureAttrInfo signatureAttrInfo)
- Specified by:
visitSignatureAttrInfo in interface AttrInfoVisitor
visitInnerClassesAttrInfo
public void visitInnerClassesAttrInfo(ClassFile classFile,
InnerClassesAttrInfo innerClassesAttrInfo)
- Specified by:
visitInnerClassesAttrInfo in interface AttrInfoVisitor
visitCodeAttrInfo
public void visitCodeAttrInfo(ClassFile classFile,
MethodInfo methodInfo,
CodeAttrInfo codeAttrInfo)
- Specified by:
visitCodeAttrInfo in interface AttrInfoVisitor