1 21 package proguard.shrink; 22 23 import proguard.classfile.visitor.*; 24 import proguard.classfile.*; 25 26 34 public class UsedMemberFilter 35 implements MemberVisitor 36 { 37 private UsageMarker usageMarker; 38 private MemberVisitor memberVisitor; 39 40 41 48 public UsedMemberFilter(UsageMarker usageMarker, 49 MemberVisitor memberVisitor) 50 { 51 this.usageMarker = usageMarker; 52 this.memberVisitor = memberVisitor; 53 } 54 55 56 58 59 public void visitProgramField(ProgramClass programClass, ProgramField programField) 60 { 61 if (usageMarker.isUsed(programField)) 62 { 63 memberVisitor.visitProgramField(programClass, programField); 64 } 65 } 66 67 68 public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) 69 { 70 if (usageMarker.isUsed(programMethod)) 71 { 72 memberVisitor.visitProgramMethod(programClass, programMethod); 73 } 74 } 75 76 77 public void visitLibraryField(LibraryClass libraryClass, LibraryField libraryField) 78 { 79 if (usageMarker.isUsed(libraryField)) 80 { 81 memberVisitor.visitLibraryField(libraryClass, libraryField); 82 } 83 } 84 85 86 public void visitLibraryMethod(LibraryClass libraryClass, LibraryMethod libraryMethod) 87 { 88 if (usageMarker.isUsed(libraryMethod)) 89 { 90 memberVisitor.visitLibraryMethod(libraryClass, libraryMethod); 91 } 92 } 93 } 94 | Popular Tags |