Package jadx.core.dex.visitors
Class ExtractFieldInit
java.lang.Object
jadx.core.dex.visitors.AbstractVisitor
jadx.core.dex.visitors.ExtractFieldInit
- All Implemented Interfaces:
IDexTreeVisitor
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final classprivate static final class -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static voidaddFieldInitAttr(MethodNode mth, FieldNode field, IndexInsnNode putInsn) private static voidapplyFieldsOrder(ClassNode cls, List<FieldNode> orderedFields) private static booleancheckInsn(ExtractFieldInit.FieldInitInfo initInfo) private static List<ExtractFieldInit.FieldInitInfo> collectFieldsInit(ClassNode cls, MethodNode mth, InsnType putType) private static booleancompareFieldInits(List<ExtractFieldInit.FieldInitInfo> base, List<ExtractFieldInit.FieldInitInfo> other) private static voidprivate static voidfixFieldsOrder(ClassNode cls, List<ExtractFieldInit.FieldInitInfo> inits) private static List<MethodNode> private static booleaninsnUseExcludedField(ExtractFieldInit.FieldInitInfo initInfo, Set<FieldInfo> excludedFields) private static voidprivate static voidprivate static booleanprocessStaticFields(ClassNode cls, MethodNode classInitMth) booleanVisit classMethods inherited from class jadx.core.dex.visitors.AbstractVisitor
getName, init, toString, visit
-
Constructor Details
-
ExtractFieldInit
public ExtractFieldInit()
-
-
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
-
moveStaticFieldsInit
-
processStaticFields
-
moveCommonFieldsInit
-
collectFieldsInit
private static List<ExtractFieldInit.FieldInitInfo> collectFieldsInit(ClassNode cls, MethodNode mth, InsnType putType) -
filterFieldsInit
-
checkInsn
-
insnUseExcludedField
private static boolean insnUseExcludedField(ExtractFieldInit.FieldInitInfo initInfo, Set<FieldInfo> excludedFields) -
fixFieldsOrder
-
processFieldsDependencies
private static List<FieldNode> processFieldsDependencies(ClassNode cls, List<ExtractFieldInit.FieldInitInfo> inits) -
applyFieldsOrder
-
compareFieldInits
private static boolean compareFieldInits(List<ExtractFieldInit.FieldInitInfo> base, List<ExtractFieldInit.FieldInitInfo> other) -
getConstructorsList
-
addFieldInitAttr
-