| java.lang.Object COM.rl.obf.ClassTree
ClassTree | public class ClassTree implements NameMapper(Code) | | Tree structure of package levels, classes, methods and fields used for obfuscation.
author: Mark Welsh |
Inner Class :class SortElement | |
Method Summary | |
public void | addClassFile(ClassFile cf) Add a classfile's package, class, method and field entries to database. | public void | addClassFile(ClassFile cf, boolean enableTrim) Add a classfile's package, class, method and field entries to database. | public void | dump(PrintWriter log) Dump the content of the class tree to the specified file (used for logging). | public void | generateNames(boolean enableRepackage) Traverse the class tree, generating obfuscated names within each namespace. | public String[] | getAttrsToKeep() Return a list of attributes marked to keep. | public Cl | getCl(String fullName) Get class in tree from the fully qualified name, returning null if name not found. | public Enumeration | getClEnum(String fullName) Get classes in tree from the fully qualified name
(can be wildcarded). | public Fd | getFd(String fullName) Get field in tree from the fully qualified name. | public Enumeration | getFdEnum(String fullName, String descriptor) Get fields in tree from the fully qualified, and possibly
wildcarded, name. | public Md | getMd(String fullName, String descriptor) Get method in tree from the fully qualified name. | public Enumeration | getMdEnum(String fullName, String descriptor) Get methods in tree from the fully qualified, and possibly
wildcarded, name. | public static Enumeration | getNameEnum(String name) Return a fully qualified name broken into package/class segments. | public String | getOutName(String inName) Update the path of the passed filename, if that path corresponds to a package. | public Pk | getPk(String fullName) Get package in tree from the fully qualified name, returning null if name not found. | public Pk | getRoot() Return the root node. | public void | logWarnings(PrintWriter log) Write any non-suppressed warnings to the log. | public String | mapClass(String className) Mapping for fully qualified class name. | public String | mapDescriptor(String descriptor) Mapping for descriptor of field or method. | public String | mapField(String className, String fieldName) Mapping for field name, of fully qualified class. | public String | mapMethod(String className, String methodName, String descriptor) Mapping for method name, of fully qualified class. | public String | mapSignature(String signature) Mapping for generic type signature. | public void | noWarnClass(String name) Mark a class/interface type to suppress warnings from it. | public void | resolveClasses() Resolve the polymorphic dependencies of each class. | public void | retainAttribute(String name) Mark an attribute type for retention. | public void | retainClass(String name, boolean retainToPublic, boolean retainToProtected, boolean retainPubProtOnly, boolean retainFieldsOnly, boolean retainMethodsOnly, String extendsName, boolean invert, boolean notrimOnly, int accessMask, int accessSetting) Mark a class/interface type (and possibly methods and fields defined in class) for retention. | public void | retainClassMap(String name, String obfName) Mark a class/interface type for retention, and specify its new name. | public void | retainField(String name, String descriptor, boolean retainAndClass, String extendsName, boolean invert, boolean notrimOnly, int accessMask, int accessSetting) Mark a field type for retention. | public void | retainFieldMap(String name, String obfName) Mark a field type for retention, and specify its new name. | public void | retainMethod(String name, String descriptor, boolean retainAndClass, String extendsName, boolean invert, boolean notrimOnly, int accessMask, int accessSetting) Mark a method type for retention. | public void | retainMethodMap(String name, String descriptor, String obfName) Mark a method type for retention, and specify its new name. | public void | retainPackageMap(String name, String obfName) Mark a package for retention, and specify its new name. | public void | retainRepackageMap(String name, String obfName) Mark a package for repackaging under this new name. | public void | walkTree(TreeAction ta) Walk the whole tree taking action once only on each package level, class, method and field. |
CLASS_LEVEL | final public static char CLASS_LEVEL(Code) | | |
METHOD_FIELD_LEVEL | final public static char METHOD_FIELD_LEVEL(Code) | | |
PACKAGE_LEVEL | final public static char PACKAGE_LEVEL(Code) | | |
ClassTree | public ClassTree()(Code) | | Ctor.
|
addClassFile | public void addClassFile(ClassFile cf) throws Exception(Code) | | Add a classfile's package, class, method and field entries to database.
|
addClassFile | public void addClassFile(ClassFile cf, boolean enableTrim) throws Exception(Code) | | Add a classfile's package, class, method and field entries to database.
|
dump | public void dump(PrintWriter log) throws Exception(Code) | | Dump the content of the class tree to the specified file (used for logging).
|
generateNames | public void generateNames(boolean enableRepackage) throws Exception(Code) | | Traverse the class tree, generating obfuscated names within each namespace.
|
getAttrsToKeep | public String[] getAttrsToKeep() throws Exception(Code) | | Return a list of attributes marked to keep.
|
getCl | public Cl getCl(String fullName) throws Exception(Code) | | Get class in tree from the fully qualified name, returning null if name not found.
|
getOutName | public String getOutName(String inName)(Code) | | Update the path of the passed filename, if that path corresponds to a package.
|
getPk | public Pk getPk(String fullName) throws Exception(Code) | | Get package in tree from the fully qualified name, returning null if name not found.
|
getRoot | public Pk getRoot()(Code) | | Return the root node.
|
noWarnClass | public void noWarnClass(String name) throws Exception(Code) | | Mark a class/interface type to suppress warnings from it.
|
resolveClasses | public void resolveClasses() throws Exception(Code) | | Resolve the polymorphic dependencies of each class.
|
retainAttribute | public void retainAttribute(String name) throws Exception(Code) | | Mark an attribute type for retention.
|
retainClass | public void retainClass(String name, boolean retainToPublic, boolean retainToProtected, boolean retainPubProtOnly, boolean retainFieldsOnly, boolean retainMethodsOnly, String extendsName, boolean invert, boolean notrimOnly, int accessMask, int accessSetting) throws Exception(Code) | | Mark a class/interface type (and possibly methods and fields defined in class) for retention.
|
retainClassMap | public void retainClassMap(String name, String obfName) throws Exception(Code) | | Mark a class/interface type for retention, and specify its new name.
|
retainField | public void retainField(String name, String descriptor, boolean retainAndClass, String extendsName, boolean invert, boolean notrimOnly, int accessMask, int accessSetting) throws Exception(Code) | | Mark a field type for retention.
|
retainFieldMap | public void retainFieldMap(String name, String obfName) throws Exception(Code) | | Mark a field type for retention, and specify its new name.
|
retainMethod | public void retainMethod(String name, String descriptor, boolean retainAndClass, String extendsName, boolean invert, boolean notrimOnly, int accessMask, int accessSetting) throws Exception(Code) | | Mark a method type for retention.
|
retainMethodMap | public void retainMethodMap(String name, String descriptor, String obfName) throws Exception(Code) | | Mark a method type for retention, and specify its new name.
|
retainPackageMap | public void retainPackageMap(String name, String obfName) throws Exception(Code) | | Mark a package for retention, and specify its new name.
|
retainRepackageMap | public void retainRepackageMap(String name, String obfName) throws Exception(Code) | | Mark a package for repackaging under this new name.
|
walkTree | public void walkTree(TreeAction ta) throws Exception(Code) | | Walk the whole tree taking action once only on each package level, class, method and field.
|
|
|