proguard.obfuscate
Class MemberNameConflictFixer
java.lang.Object
proguard.obfuscate.MemberNameConflictFixer
- All Implemented Interfaces:
- MemberVisitor
public class MemberNameConflictFixer
- extends java.lang.Object
- implements MemberVisitor
This MemberInfoVisitor solves obfuscation naming conflicts in all class
members that it visits. It avoids names from the given descriptor map,
delegating to the given obfuscator in order to get a new name if necessary.
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MemberNameConflictFixer
public MemberNameConflictFixer(boolean allowAggressiveOverloading,
java.util.Map descriptorMap,
WarningPrinter warningPrinter,
MemberObfuscator memberObfuscator)
- Creates a new MemberNameConflictFixer.
- Parameters:
allowAggressiveOverloading - a flag that specifies whether class
members can be overloaded aggressively.descriptorMap - the map of descriptors to
[new name - old name] maps.warningPrinter - an optional warning printer to which
warnings about conflicting name
mappings can be printed.memberObfuscator - the obfuscator that can assign new
names to members with conflicting
names.
visitProgramField
public void visitProgramField(ProgramClass programClass,
ProgramField programField)
- Specified by:
visitProgramField in interface MemberVisitor
visitProgramMethod
public void visitProgramMethod(ProgramClass programClass,
ProgramMethod programMethod)
- Specified by:
visitProgramMethod in interface MemberVisitor
visitLibraryField
public void visitLibraryField(LibraryClass libraryClass,
LibraryField libraryField)
- Specified by:
visitLibraryField in interface MemberVisitor
visitLibraryMethod
public void visitLibraryMethod(LibraryClass libraryClass,
LibraryMethod libraryMethod)
- Specified by:
visitLibraryMethod in interface MemberVisitor