Exclude Parameter Type
The Exclude Parameter Type window allows you to select the type of exclude
parameter you wish to add. There are five kinds of name exclusion parameter.
An exclusion parameter that excludes a package name prevents that package and its sub-packages from being renamed.
However, in itself it will not prevent the class, field and the method names within that package from being renamed.
An exclusion parameter that excludes a class name prevents that class from being renamed.
However, in itself it will not prevent the field and the method names of that class from being renamed.
An exclusion parameter that excludes a field name prevents that field from being renamed.
An exclusion parameter that excludes a method name prevents that method from being renamed.
A class suffix exclusion parameter is a relatively complex and specialized exclusion parameter. It works in two stages.
If a class matches a class suffix exclusion parameter then
Its operation is best explained with an example.
Consider a class suffix exclude parameter specifying the suffix "_Stub".
A hypothetical class named "Class1_Stub" matches the parameter so the suffix part of the name will be retained.
The non-suffix part of the matching class name "Class1_Stub" is "Class1".
If there is a class in the same package named "Class1" and if, when obfuscating, "Class1" is renamed to "abc"
then the class "Class1_Stub" will be renamed to "abc_Stub".
- its specified suffix is excluded from being renamed
- if a class X can be found that has an unqualified name matching the non-suffix part of the matching class's name,
then the non-suffix part of the matching class's name will be renamed to the new name of class X.