Package jadx.core.dex.instructions.args
Class ArgType
- java.lang.Object
-
- jadx.core.dex.instructions.args.ArgType
-
public abstract class ArgType extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classArgType.WildcardBound
-
Field Summary
Fields Modifier and Type Field Description static ArgTypeBOOLEANstatic ArgTypeBYTEstatic ArgTypeBYTE_BOOLEANstatic ArgTypeCHARstatic ArgTypeCLASSstatic ArgTypeDOUBLEstatic ArgTypeENUMstatic ArgTypeERRORstatic ArgTypeEXCEPTIONstatic ArgTypeFLOATprotected inthashstatic ArgTypeINTstatic ArgTypeINT_BOOLEANstatic ArgTypeINT_FLOATstatic ArgTypeLONGstatic ArgTypeNARROWstatic ArgTypeNARROW_INTEGRALstatic ArgTypeNARROW_NUMBERSstatic ArgTypeNARROW_NUMBERS_NO_BOOLstatic ArgTypeNARROW_NUMBERS_NO_FLOATstatic ArgTypeOBJECTstatic ArgTypeOBJECT_ARRAYstatic ArgTypeRUNTIME_EXCEPTIONstatic ArgTypeSHORTstatic ArgTypeSTRINGstatic ArgTypeTHROWABLEstatic ArgTypeUNKNOWNstatic ArgTypeUNKNOWN_ARRAYstatic ArgTypeUNKNOWN_INTstatic ArgTypeUNKNOWN_OBJECTstatic ArgTypeUNKNOWN_OBJECT_NO_ARRAYstatic ArgTypeVOIDstatic ArgTypeWIDEstatic ArgTypeWILDCARD
-
Constructor Summary
Constructors Constructor Description ArgType()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static ArgTypearray(@NotNull ArgType vtype)static ArgTypearray(@NotNull ArgType type, int dimension)booleancanBeAnyNumber()booleancanBeArray()booleancanBeObject()booleancanBePrimitive(PrimitiveType primitiveType)abstract booleancontains(PrimitiveType type)booleancontainsGeneric()booleancontainsTypeVariable()static ArgTypeconvertFromPrimitiveType(PrimitiveType primitiveType)booleanequals(java.lang.Object obj)static ArgTypegeneric(ArgType obj, ArgType... generics)static ArgTypegeneric(ArgType obj, java.util.List<ArgType> generics)static ArgTypegeneric(java.lang.String obj, ArgType generic)static ArgTypegeneric(java.lang.String obj, ArgType... generics)static ArgTypegeneric(java.lang.String obj, java.util.List<ArgType> generics)static ArgTypegenericType(java.lang.String type)static ArgTypegenericType(java.lang.String type, ArgType extendType)static ArgTypegenericType(java.lang.String type, java.util.List<ArgType> extendTypes)intgetArrayDimension()ArgTypegetArrayElement()ArgTypegetArrayRootElement()java.util.List<ArgType>getExtendTypes()java.util.List<ArgType>getGenericTypes()ArgTypegetInnerType()java.lang.StringgetObject()ArgTypegetOuterType()abstract PrimitiveType[]getPossibleTypes()PrimitiveTypegetPrimitiveType()intgetRegCount()ArgType.WildcardBoundgetWildcardBound()ArgTypegetWildcardType()inthashCode()booleanisArray()static booleanisCastNeeded(RootNode root, ArgType from, ArgType to)static booleanisClsKnown(RootNode root, ArgType cls)booleanisGeneric()booleanisGenericType()static booleanisInstanceOf(RootNode root, ArgType type, ArgType of)booleanisObject()booleanisPrimitive()booleanisTypeKnown()booleanisVoid()booleanisWildcard()static ArgTypeobject(java.lang.String obj)static ArgTypeouterGeneric(ArgType genericOuterType, ArgType innerType)static ArgTypeparse(char f)static ArgTypeparse(java.lang.String type)abstract ArgTypeselectFirst()voidsetExtendTypes(java.util.List<ArgType> extendTypes)java.lang.StringtoString()static ArgTypetryToResolveClassAlias(RootNode root, ArgType type)static java.util.List<ArgType>tryToResolveClassAlias(RootNode root, java.util.List<ArgType> types)static ArgTypeunknown(PrimitiveType... types)<R> RvisitTypes(java.util.function.Function<ArgType,R> visitor)Recursively visit all subtypes of this type.static ArgTypewildcard()static ArgTypewildcard(ArgType obj, ArgType.WildcardBound bound)
-
-
-
Field Detail
-
INT
public static final ArgType INT
-
BOOLEAN
public static final ArgType BOOLEAN
-
BYTE
public static final ArgType BYTE
-
SHORT
public static final ArgType SHORT
-
CHAR
public static final ArgType CHAR
-
FLOAT
public static final ArgType FLOAT
-
DOUBLE
public static final ArgType DOUBLE
-
LONG
public static final ArgType LONG
-
VOID
public static final ArgType VOID
-
OBJECT
public static final ArgType OBJECT
-
CLASS
public static final ArgType CLASS
-
STRING
public static final ArgType STRING
-
ENUM
public static final ArgType ENUM
-
THROWABLE
public static final ArgType THROWABLE
-
ERROR
public static final ArgType ERROR
-
EXCEPTION
public static final ArgType EXCEPTION
-
RUNTIME_EXCEPTION
public static final ArgType RUNTIME_EXCEPTION
-
OBJECT_ARRAY
public static final ArgType OBJECT_ARRAY
-
WILDCARD
public static final ArgType WILDCARD
-
UNKNOWN
public static final ArgType UNKNOWN
-
UNKNOWN_OBJECT
public static final ArgType UNKNOWN_OBJECT
-
UNKNOWN_OBJECT_NO_ARRAY
public static final ArgType UNKNOWN_OBJECT_NO_ARRAY
-
UNKNOWN_ARRAY
public static final ArgType UNKNOWN_ARRAY
-
NARROW
public static final ArgType NARROW
-
NARROW_NUMBERS
public static final ArgType NARROW_NUMBERS
-
NARROW_INTEGRAL
public static final ArgType NARROW_INTEGRAL
-
NARROW_NUMBERS_NO_BOOL
public static final ArgType NARROW_NUMBERS_NO_BOOL
-
NARROW_NUMBERS_NO_FLOAT
public static final ArgType NARROW_NUMBERS_NO_FLOAT
-
WIDE
public static final ArgType WIDE
-
INT_FLOAT
public static final ArgType INT_FLOAT
-
INT_BOOLEAN
public static final ArgType INT_BOOLEAN
-
BYTE_BOOLEAN
public static final ArgType BYTE_BOOLEAN
-
UNKNOWN_INT
public static final ArgType UNKNOWN_INT
-
hash
protected int hash
-
-
Method Detail
-
object
public static ArgType object(java.lang.String obj)
-
genericType
public static ArgType genericType(java.lang.String type)
-
genericType
public static ArgType genericType(java.lang.String type, java.util.List<ArgType> extendTypes)
-
wildcard
public static ArgType wildcard()
-
wildcard
public static ArgType wildcard(ArgType obj, ArgType.WildcardBound bound)
-
unknown
public static ArgType unknown(PrimitiveType... types)
-
isTypeKnown
public boolean isTypeKnown()
-
getPrimitiveType
public PrimitiveType getPrimitiveType()
-
isPrimitive
public boolean isPrimitive()
-
getObject
public java.lang.String getObject()
-
isObject
public boolean isObject()
-
isGeneric
public boolean isGeneric()
-
isGenericType
public boolean isGenericType()
-
getGenericTypes
public java.util.List<ArgType> getGenericTypes()
-
getExtendTypes
public java.util.List<ArgType> getExtendTypes()
-
setExtendTypes
public void setExtendTypes(java.util.List<ArgType> extendTypes)
-
getWildcardType
public ArgType getWildcardType()
-
getWildcardBound
public ArgType.WildcardBound getWildcardBound()
-
isWildcard
public boolean isWildcard()
-
getOuterType
public ArgType getOuterType()
-
getInnerType
public ArgType getInnerType()
-
isArray
public boolean isArray()
-
getArrayDimension
public int getArrayDimension()
-
getArrayElement
public ArgType getArrayElement()
-
getArrayRootElement
public ArgType getArrayRootElement()
-
contains
public abstract boolean contains(PrimitiveType type)
-
selectFirst
public abstract ArgType selectFirst()
-
getPossibleTypes
public abstract PrimitiveType[] getPossibleTypes()
-
canBeObject
public boolean canBeObject()
-
canBeArray
public boolean canBeArray()
-
canBePrimitive
public boolean canBePrimitive(PrimitiveType primitiveType)
-
canBeAnyNumber
public boolean canBeAnyNumber()
-
convertFromPrimitiveType
public static ArgType convertFromPrimitiveType(PrimitiveType primitiveType)
-
parse
public static ArgType parse(java.lang.String type)
-
parse
public static ArgType parse(char f)
-
getRegCount
public int getRegCount()
-
containsGeneric
public boolean containsGeneric()
-
containsTypeVariable
public boolean containsTypeVariable()
-
isVoid
public boolean isVoid()
-
visitTypes
@Nullable public <R> R visitTypes(java.util.function.Function<ArgType,R> visitor)
Recursively visit all subtypes of this type. To exit return non-null value.
-
tryToResolveClassAlias
public static java.util.List<ArgType> tryToResolveClassAlias(RootNode root, java.util.List<ArgType> types)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
-