1 21 package proguard.optimize; 22 23 import proguard.classfile.util.*; 24 import proguard.classfile.visitor.MemberVisitor; 25 import proguard.classfile.*; 26 import proguard.optimize.info.*; 27 28 37 public class OptimizationInfoMemberFilter 38 implements MemberVisitor 39 { 40 private MemberVisitor memberVisitor; 41 42 43 48 public OptimizationInfoMemberFilter(MemberVisitor memberVisitor) 49 { 50 this.memberVisitor = memberVisitor; 51 } 52 53 54 56 57 public void visitProgramField(ProgramClass programClass, ProgramField programField) 58 { 59 if (FieldOptimizationInfo.getFieldOptimizationInfo(programField) != null) 61 { 62 memberVisitor.visitProgramField(programClass, programField); 63 } 64 } 65 66 67 public void visitLibraryField(LibraryClass libraryClass, LibraryField libraryField) 68 { 69 if (FieldOptimizationInfo.getFieldOptimizationInfo(libraryField) != null) 71 { 72 memberVisitor.visitLibraryField(libraryClass, libraryField); 73 } 74 } 75 76 77 public void visitProgramMethod(ProgramClass programClass, ProgramMethod programMethod) 78 { 79 if (MethodOptimizationInfo.getMethodOptimizationInfo(programMethod) != null) 81 { 82 memberVisitor.visitProgramMethod(programClass, programMethod); 83 } 84 } 85 86 87 public void visitLibraryMethod(LibraryClass libraryClass, LibraryMethod libraryMethod) 88 { 89 if (MethodOptimizationInfo.getMethodOptimizationInfo(libraryMethod) != null) 91 { 92 memberVisitor.visitLibraryMethod(libraryClass, libraryMethod); 93 } 94 } 95 } 96 | Popular Tags |