1 21 package proguard.obfuscate; 22 23 import proguard.classfile.*; 24 import proguard.classfile.visitor.MemberVisitor; 25 26 import java.util.*; 27 28 39 public class MemberSpecialNameFilter implements MemberVisitor 40 { 41 private MemberVisitor memberVisitor; 42 43 44 49 public MemberSpecialNameFilter(MemberVisitor memberVisitor) 50 { 51 this.memberVisitor = memberVisitor; 52 } 53 54 55 57 public void visitProgramField(ProgramClass programClass, ProgramField programField) 58 { 59 if (isSpecialName(programField)) 60 { 61 memberVisitor.visitProgramField(programClass, programField); 62 } 63 } 64 65 66 public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) 67 { 68 if (isSpecialName(programMethod)) 69 { 70 memberVisitor.visitProgramMethod(programClass, programMethod); 71 } 72 } 73 74 75 public void visitLibraryField(LibraryClass libraryClass, LibraryField libraryField) 76 { 77 if (isSpecialName(libraryField)) 78 { 79 memberVisitor.visitLibraryField(libraryClass, libraryField); 80 } 81 } 82 83 84 public void visitLibraryMethod(LibraryClass libraryClass, LibraryMethod libraryMethod) 85 { 86 if (isSpecialName(libraryMethod)) 87 { 88 memberVisitor.visitLibraryMethod(libraryClass, libraryMethod); 89 } 90 } 91 92 93 95 99 private static boolean isSpecialName(Member member) 100 { 101 return SpecialNameFactory.isSpecialName(MemberObfuscator.newMemberName(member)); 102 } 103 } 104 | Popular Tags |