Package jadx.core.dex.visitors
Class SignatureProcessor
java.lang.Object
jadx.core.dex.visitors.AbstractVisitor
jadx.core.dex.visitors.SignatureProcessor
- All Implemented Interfaces:
IDexTreeVisitor
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static @Nullable ObjectaddGenericType(Set<String> usedTypeParameters, ArgType t) private ArgTypebestClsType(ClassNode cls, ArgType candidateType, ArgType currentType) checkArgTypes(MethodNode mth, SignatureParser sp, List<ArgType> parsedArgTypes) fixTypeParamDeclarations(ClassNode cls, List<ArgType> generics, ArgType superClass, List<ArgType> interfaces) Add missing type parameters from super type and interfaces to make code compilablegetName()Visitor short idvoidCalled after loading dex tree, but before visitor traversal.private voidprivate voidparseFieldSignature(FieldNode field) private voidprocessInterfaces(ClassNode cls, List<ArgType> parsedTypes) Parse, validate and update class interfaces types.private ArgTypeprocessSuperType(ClassNode cls, ArgType parsedType) private booleanvalidateAndApplyTypes(MethodNode mth, SignatureParser sp, ArgType retType, List<ArgType> argTypes) private booleanvalidateClsType(ClassNode cls, ArgType candidateType) private booleanvalidateFullClsName(String fullClsName) private booleanvalidateInnerType(ArgType type) private booleanvalidateInnerType(List<ArgType> types) private booleanvalidateParsedType(ArgType parsedType, ArgType currentType) booleanVisit classMethods inherited from class jadx.core.dex.visitors.AbstractVisitor
toString, visit
-
Field Details
-
root
-
-
Constructor Details
-
SignatureProcessor
public SignatureProcessor()
-
-
Method Details
-
init
Description copied from interface:IDexTreeVisitorCalled after loading dex tree, but before visitor traversal.- Specified by:
initin interfaceIDexTreeVisitor- Overrides:
initin classAbstractVisitor
-
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
-
parseClassSignature
-
processSuperType
-
processInterfaces
Parse, validate and update class interfaces types. -
fixTypeParamDeclarations
private static List<ArgType> fixTypeParamDeclarations(ClassNode cls, List<ArgType> generics, ArgType superClass, List<ArgType> interfaces) Add missing type parameters from super type and interfaces to make code compilable -
addGenericType
-
bestClsType
-
validateClsType
-
parseFieldSignature
-
parseMethodSignature
-
validateAndApplyTypes
private boolean validateAndApplyTypes(MethodNode mth, SignatureParser sp, ArgType retType, List<ArgType> argTypes) -
checkArgTypes
private List<ArgType> checkArgTypes(MethodNode mth, SignatureParser sp, List<ArgType> parsedArgTypes) -
validateParsedType
-
validateFullClsName
-
validateInnerType
-
validateInnerType
-
getName
Description copied from interface:IDexTreeVisitorVisitor short id- Specified by:
getNamein interfaceIDexTreeVisitor- Overrides:
getNamein classAbstractVisitor
-