public class ClassMerger
extends java.lang.Object
implements proguard.classfile.visitor.ClassVisitor, proguard.classfile.constant.visitor.ConstantVisitor
RetargetedInnerClassAttributeRemover,
TargetClassChanger,
ClassReferenceFixer,
MemberReferenceFixer,
AccessFixer| Constructor and Description |
|---|
ClassMerger(proguard.classfile.ProgramClass targetClass,
boolean allowAccessModification,
boolean mergeInterfacesAggressively,
boolean mergeWrapperClasses)
Creates a new ClassMerger that will merge classes into the given target
class.
|
ClassMerger(proguard.classfile.ProgramClass targetClass,
boolean allowAccessModification,
boolean mergeInterfacesAggressively,
boolean mergeWrapperClasses,
proguard.classfile.visitor.ClassVisitor extraClassVisitor)
Creates a new ClassMerger that will merge classes into the given target
class.
|
| Modifier and Type | Method and Description |
|---|---|
static proguard.classfile.Clazz |
getTargetClass(proguard.classfile.Clazz clazz) |
boolean |
isMergeable(proguard.classfile.ProgramClass programClass) |
static boolean |
isNestHostOrMember(proguard.classfile.Clazz clazz) |
static void |
setTargetClass(proguard.classfile.Clazz clazz,
proguard.classfile.Clazz targetClass) |
void |
visitAnyClass(proguard.classfile.Clazz clazz) |
void |
visitProgramClass(proguard.classfile.ProgramClass programClass) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitvisitAnyConstant, visitAnyMethodrefConstant, visitAnyRefConstant, visitClassConstant, visitDoubleConstant, visitDynamicConstant, visitFieldrefConstant, visitFloatConstant, visitIntegerConstant, visitInterfaceMethodrefConstant, visitInvokeDynamicConstant, visitLongConstant, visitMethodHandleConstant, visitMethodrefConstant, visitMethodTypeConstant, visitModuleConstant, visitNameAndTypeConstant, visitPackageConstant, visitPrimitiveArrayConstant, visitStringConstant, visitUtf8Constantpublic ClassMerger(proguard.classfile.ProgramClass targetClass,
boolean allowAccessModification,
boolean mergeInterfacesAggressively,
boolean mergeWrapperClasses)
targetClass - the class into which all visited
classes will be merged.allowAccessModification - specifies whether the access modifiers
of classes can be changed in order to
merge them.mergeInterfacesAggressively - specifies whether interfaces may
be merged aggressively.public ClassMerger(proguard.classfile.ProgramClass targetClass,
boolean allowAccessModification,
boolean mergeInterfacesAggressively,
boolean mergeWrapperClasses,
proguard.classfile.visitor.ClassVisitor extraClassVisitor)
targetClass - the class into which all visited
classes will be merged.allowAccessModification - specifies whether the access modifiers
of classes can be changed in order to
merge them.mergeInterfacesAggressively - specifies whether interfaces may
be merged aggressively.extraClassVisitor - an optional extra visitor for all
merged classes.public void visitAnyClass(proguard.classfile.Clazz clazz)
visitAnyClass in interface proguard.classfile.visitor.ClassVisitorpublic void visitProgramClass(proguard.classfile.ProgramClass programClass)
visitProgramClass in interface proguard.classfile.visitor.ClassVisitorpublic boolean isMergeable(proguard.classfile.ProgramClass programClass)
public static boolean isNestHostOrMember(proguard.classfile.Clazz clazz)
public static void setTargetClass(proguard.classfile.Clazz clazz,
proguard.classfile.Clazz targetClass)
public static proguard.classfile.Clazz getTargetClass(proguard.classfile.Clazz clazz)