1 21 package proguard.classfile.visitor; 22 23 import proguard.classfile.*; 24 25 26 33 public class ClassHierarchyTraveler implements ClassVisitor 34 { 35 private boolean visitThisClass; 36 private boolean visitSuperClass; 37 private boolean visitInterfaces; 38 private boolean visitSubclasses; 39 40 private ClassVisitor classVisitor; 41 42 43 56 public ClassHierarchyTraveler(boolean visitThisClass, 57 boolean visitSuperClass, 58 boolean visitInterfaces, 59 boolean visitSubclasses, 60 ClassVisitor classVisitor) 61 { 62 this.visitThisClass = visitThisClass; 63 this.visitSuperClass = visitSuperClass; 64 this.visitInterfaces = visitInterfaces; 65 this.visitSubclasses = visitSubclasses; 66 67 this.classVisitor = classVisitor; 68 } 69 70 71 73 public void visitProgramClass(ProgramClass programClass) 74 { 75 programClass.hierarchyAccept(visitThisClass, 76 visitSuperClass, 77 visitInterfaces, 78 visitSubclasses, 79 classVisitor); 80 } 81 82 83 public void visitLibraryClass(LibraryClass libraryClass) 84 { 85 libraryClass.hierarchyAccept(visitThisClass, 86 visitSuperClass, 87 visitInterfaces, 88 visitSubclasses, 89 classVisitor); 90 } 91 } 92 | Popular Tags |