Package jadx.core.dex.visitors
Class OverrideMethodVisitor
java.lang.Object
jadx.core.dex.visitors.AbstractVisitor
jadx.core.dex.visitors.OverrideMethodVisitor
- All Implemented Interfaces:
IDexTreeVisitor
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidaddBaseMethod(OverrideMethodVisitor.SuperTypesData superData, List<IMethodDetails> overrideList, Set<IMethodDetails> baseMethods, ArgType superType) private intprivate MethodOverrideAttrapplyOverrideAttr(MethodNode mth, List<IMethodDetails> overrideList, Set<IMethodDetails> baseMethods, boolean update) private @Nullable MethodOverrideAttrbuildOverrideAttr(MethodNode mth, List<IMethodDetails> overrideList, Set<IMethodDetails> baseMethods, @Nullable MethodOverrideAttr attr) private voidcheckMethodSignatureCollisions(MethodNode mth, boolean rename) private @Nullable OverrideMethodVisitor.SuperTypesDataprivate voidprivate booleanfixMethodArgTypes(MethodNode mth, IMethodDetails baseMth, OverrideMethodVisitor.SuperTypesData superData) private booleanfixMethodReturnType(MethodNode mth, IMethodDetails baseMth, OverrideMethodVisitor.SuperTypesData superData) private @NotNull List<MethodNode> getMethodNodes(MethodNode mth, List<IMethodDetails> overrideList) getName()Visitor short idprivate booleanisMethodVisibleInCls(MethodNode superMth, ClassNode cls) NOTE: Simplified version of method from ModVisitor.isFieldVisibleInMethodprivate static StringmakeNewAlias(MethodNode mth) private voidprocessMth(MethodNode mth, OverrideMethodVisitor.SuperTypesData superData) private MethodOverrideAttrprocessOverrideMethods(MethodNode mth, OverrideMethodVisitor.SuperTypesData superData) private @Nullable MethodNodesearchOverriddenMethod(ClassNode cls, MethodNode mth, String signature) private ArgTypeupdateArgType(MethodNode mth, IMethodDetails baseMth, OverrideMethodVisitor.SuperTypesData superData, int argNum) private booleanupdateReturnType(MethodNode mth, IMethodDetails baseMth, OverrideMethodVisitor.SuperTypesData superData) booleanVisit classMethods inherited from class jadx.core.dex.visitors.AbstractVisitor
init, toString, visit
-
Constructor Details
-
OverrideMethodVisitor
public OverrideMethodVisitor()
-
-
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
-
processMth
-
processOverrideMethods
private MethodOverrideAttr processOverrideMethods(MethodNode mth, OverrideMethodVisitor.SuperTypesData superData) -
addBaseMethod
private void addBaseMethod(OverrideMethodVisitor.SuperTypesData superData, List<IMethodDetails> overrideList, Set<IMethodDetails> baseMethods, ArgType superType) -
searchOverriddenMethod
@Nullable private @Nullable MethodNode searchOverriddenMethod(ClassNode cls, MethodNode mth, String signature) -
buildOverrideAttr
@Nullable private @Nullable MethodOverrideAttr buildOverrideAttr(MethodNode mth, List<IMethodDetails> overrideList, Set<IMethodDetails> baseMethods, @Nullable @Nullable MethodOverrideAttr attr) -
applyOverrideAttr
private MethodOverrideAttr applyOverrideAttr(MethodNode mth, List<IMethodDetails> overrideList, Set<IMethodDetails> baseMethods, boolean update) -
getMethodNodes
@NotNull private @NotNull List<MethodNode> getMethodNodes(MethodNode mth, List<IMethodDetails> overrideList) -
isMethodVisibleInCls
NOTE: Simplified version of method from ModVisitor.isFieldVisibleInMethod -
collectSuperTypes
-
collectSuperTypes
-
addSuperType
-
fixMethodReturnType
private boolean fixMethodReturnType(MethodNode mth, IMethodDetails baseMth, OverrideMethodVisitor.SuperTypesData superData) -
updateReturnType
private boolean updateReturnType(MethodNode mth, IMethodDetails baseMth, OverrideMethodVisitor.SuperTypesData superData) -
fixMethodArgTypes
private boolean fixMethodArgTypes(MethodNode mth, IMethodDetails baseMth, OverrideMethodVisitor.SuperTypesData superData) -
updateArgType
private ArgType updateArgType(MethodNode mth, IMethodDetails baseMth, OverrideMethodVisitor.SuperTypesData superData, int argNum) -
checkMethodSignatureCollisions
-
makeNewAlias
-
getName
Description copied from interface:IDexTreeVisitorVisitor short id- Specified by:
getNamein interfaceIDexTreeVisitor- Overrides:
getNamein classAbstractVisitor
-