Package jadx.core.dex.visitors
Class ClassModifier
java.lang.Object
jadx.core.dex.visitors.AbstractVisitor
jadx.core.dex.visitors.ClassModifier
- All Implemented Interfaces:
IDexTreeVisitor
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static booleancheckSyntheticWrapper(MethodNode mth, InsnNode insn) private static booleanprivate static booleanisNonDefaultConstructorExists(MethodNode defCtor) private static booleanisRemovedClassInArgs(ClassNode cls, List<RegisterArg> mthArgs) private static voidmodifySyntheticMethod(ClassNode cls, MethodNode mth, InsnNode insn, List<RegisterArg> args) Remove synthetic constructor and redirect calls to existing constructorprivate static booleanprivate static booleanremoveBridgeMethod(ClassNode cls, MethodNode mth) private static voidRemove public empty constructors (static or default)private static booleanremoveFieldUsageFromConstructor(MethodNode mth, FieldNode field, ClassNode fieldsCls) private static voidRemove synthetic fields if type is outer class or class will be inlined (anonymous)private static voidbooleanVisit classMethods inherited from class jadx.core.dex.visitors.AbstractVisitor
getName, init, toString, visit
-
Constructor Details
-
ClassModifier
public ClassModifier()
-
-
Method Details
-
visit
Description copied from interface:IDexTreeVisitorVisit class- Specified by:
visitin interfaceIDexTreeVisitor- Overrides:
visitin classAbstractVisitor- Returns:
- false for disable child methods and inner classes traversal
- Throws:
JadxException
-
isEmptySyntheticClass
-
removeSyntheticFields
Remove synthetic fields if type is outer class or class will be inlined (anonymous) -
removeFieldUsageFromConstructor
private static boolean removeFieldUsageFromConstructor(MethodNode mth, FieldNode field, ClassNode fieldsCls) -
removeSyntheticMethods
-
isRemovedClassInArgs
-
modifySyntheticMethod
private static void modifySyntheticMethod(ClassNode cls, MethodNode mth, InsnNode insn, List<RegisterArg> args) Remove synthetic constructor and redirect calls to existing constructor -
removeBridgeMethod
-
checkSyntheticWrapper
-
registersAndCastsOnly
-
removeEmptyMethods
Remove public empty constructors (static or default) -
isNonDefaultConstructorExists
-