Package proguard.classfile.editor
Class MemberRemover
- java.lang.Object
-
- proguard.classfile.editor.MemberRemover
-
- All Implemented Interfaces:
ClassVisitor,MemberVisitor
public class MemberRemover extends java.lang.Object implements ClassVisitor, MemberVisitor
This visitor removes all members it visits in aProgramClass.It should be used in two steps:
- In the first step, the collection step, all program members to be removed should be visited.
- In the second step, the removal step, the program class containing the program members should be visited. This will actually delete all collected members.
For example, to remove all fields in a program class:
MemberRemover remover = new MemberRemover(); programClass.fieldsAccept(remover); programClass.accept(remover);
-
-
Constructor Summary
Constructors Constructor Description MemberRemover()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidreset()Forget about all members that have been collected so far.voidvisitAnyClass(Clazz clazz)Visits any Clazz instance.voidvisitAnyMember(Clazz clazz, Member member)Visits any Member instance.voidvisitProgramClass(ProgramClass programClass)voidvisitProgramField(ProgramClass programClass, ProgramField programField)voidvisitProgramMethod(ProgramClass programClass, ProgramMethod programMethod)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface proguard.classfile.visitor.ClassVisitor
visitLibraryClass
-
Methods inherited from interface proguard.classfile.visitor.MemberVisitor
visitLibraryField, visitLibraryMember, visitLibraryMethod, visitProgramMember
-
-
-
-
Method Detail
-
reset
public void reset()
Forget about all members that have been collected so far. After this method, thisMemberRemoverwill become a no-op until the next time a member is collected.
-
visitAnyClass
public void visitAnyClass(Clazz clazz)
Description copied from interface:ClassVisitorVisits any Clazz instance. The more specific default implementations of this interface delegate to this method.- Specified by:
visitAnyClassin interfaceClassVisitor
-
visitProgramClass
public void visitProgramClass(ProgramClass programClass)
- Specified by:
visitProgramClassin interfaceClassVisitor
-
visitAnyMember
public void visitAnyMember(Clazz clazz, Member member)
Description copied from interface:MemberVisitorVisits any Member instance. The more specific default implementations of this interface delegate to this method.- Specified by:
visitAnyMemberin interfaceMemberVisitor
-
visitProgramField
public void visitProgramField(ProgramClass programClass, ProgramField programField)
- Specified by:
visitProgramFieldin interfaceMemberVisitor
-
visitProgramMethod
public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod)
- Specified by:
visitProgramMethodin interfaceMemberVisitor
-
-