1 32 33 package com.jeantessier.classreader; 34 35 public class SymbolGatherer extends CollectorBase { 36 private boolean collectingClassNames = true; 37 private boolean collectingFieldNames = true; 38 private boolean collectingMethodNames = true; 39 private boolean collectingLocalNames = true; 40 41 private Method_info currentMethod = null; 42 43 public boolean isCollectingClassNames() { 44 return collectingClassNames; 45 } 46 47 public void setCollectingClassNames(boolean collectingClassNames) { 48 this.collectingClassNames = collectingClassNames; 49 } 50 51 public boolean isCollectingFieldNames() { 52 return collectingFieldNames; 53 } 54 55 public void setCollectingFieldNames(boolean collectingFieldNames) { 56 this.collectingFieldNames = collectingFieldNames; 57 } 58 59 public boolean isCollectingMethodNames() { 60 return collectingMethodNames; 61 } 62 63 public void setCollectingMethodNames(boolean collectingMethodNames) { 64 this.collectingMethodNames = collectingMethodNames; 65 } 66 67 public boolean isCollectingLocalNames() { 68 return collectingLocalNames; 69 } 70 71 public void setCollectingLocalNames(boolean collectingLocalNames) { 72 this.collectingLocalNames = collectingLocalNames; 73 } 74 75 public void visitClassfile(Classfile classfile) { 77 if (isCollectingClassNames()) { 78 add(classfile.getClassName()); 79 } 80 81 super.visitClassfile(classfile); 82 } 83 84 public void visitField_info(Field_info entry) { 86 if (isCollectingFieldNames()) { 87 add(entry.getFullSignature()); 88 } 89 90 super.visitField_info(entry); 91 } 92 93 public void visitMethod_info(Method_info entry) { 94 if (isCollectingMethodNames()) { 95 add(entry.getFullSignature()); 96 } 97 98 Method_info previousMethod = currentMethod; 99 currentMethod = entry; 100 super.visitMethod_info(entry); 101 currentMethod = previousMethod; 102 } 103 104 public void visitLocalVariable(LocalVariable helper) { 105 if (isCollectingLocalNames()) { 106 add(currentMethod.getFullSignature() + ": " + helper.getName()); 107 } 108 109 super.visitLocalVariable(helper); 110 } 111 } 112 | Popular Tags |