Interface ResolvedType
-
- All Known Implementing Classes:
InferenceVariableType,LambdaArgumentTypePlaceholder,LazyType,NullType,ReferenceTypeImpl,ResolvedArrayType,ResolvedIntersectionType,ResolvedLambdaConstraintType,ResolvedPrimitiveType,ResolvedReferenceType,ResolvedTypeVariable,ResolvedUnionType,ResolvedVoidType,ResolvedWildcard
public interface ResolvedTypeA resolved type.
-
It could be a primitive type or a reference type (enum, class, interface).
In the latter case, it could take type typeParametersValues (other
TypeUsages). -
It could also be a
TypeVariable, like in:class A<B> {}whereBis aTypeVariable. -
It could also be
WildcardType, possibly with constraints. -
It could also be a
TypeVariable, like in:class A<B> {}.
- Author:
- Federico Tomassetti
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default intarrayLevel()default ResolvedArrayTypeasArrayType()default ResolvedLambdaConstraintTypeasConstraintType()default ResolvedPrimitiveTypeasPrimitive()default ResolvedReferenceTypeasReferenceType()default ResolvedTypeParameterDeclarationasTypeParameter()default ResolvedTypeVariableasTypeVariable()default ResolvedUnionTypeasUnionType()default ResolvedWildcardasWildcard()Stringdescribe()default ResolvedTypeerasure()default booleanisArray()booleanisAssignableBy(ResolvedType other)This method checks if ThisType t = new OtherType() would compile.default booleanisConstraint()Is this a lambda constraint type?default booleanisInferenceVariable()default booleanisNull()Is this the null type?default booleanisNumericType()default booleanisPrimitive()Is this a primitive type?default booleanisReference()Is this a non primitive value?default booleanisReferenceType()Can this be seen as a ReferenceTypeUsage?default booleanisTypeVariable()default booleanisUnionType()Is this a union type (as the ones used in multi catch clauses)?default booleanisVoid()default booleanisWildcard()default booleanmention(List<ResolvedTypeParameterDeclaration> typeParameters)Does this type mention at all, directly or indirectly, the given type parameters?default ResolvedTypereplaceTypeVariables(ResolvedTypeParameterDeclaration tp, ResolvedType replaced)This is like (replaceTypeVariables(ResolvedTypeParameterDeclaration, ResolvedType, Map)but ignores the inferred values.default ResolvedTypereplaceTypeVariables(ResolvedTypeParameterDeclaration tp, ResolvedType replaced, Map<ResolvedTypeParameterDeclaration,ResolvedType> inferredTypes)Replace all variables referring to the given TypeParameter with the given value.default ResolvedTypesolveGenericTypes(Context context)default StringtoDescriptor()
-
-
-
Method Detail
-
isArray
default boolean isArray()
- Returns:
- true, if this type represent an array - otherwise false.
-
arrayLevel
default int arrayLevel()
- Returns:
- The level of nesting that this type is present at. For example, int[][] would have an array level of 2, and int would have an array level of 0 (not an array).
-
isPrimitive
default boolean isPrimitive()
Is this a primitive type?
-
isNull
default boolean isNull()
Is this the null type?
-
isUnionType
default boolean isUnionType()
Is this a union type (as the ones used in multi catch clauses)?
-
isReference
default boolean isReference()
Is this a non primitive value?
-
isConstraint
default boolean isConstraint()
Is this a lambda constraint type?
-
isReferenceType
default boolean isReferenceType()
Can this be seen as a ReferenceTypeUsage? In other words: is this a reference to a class, an interface or an enum?
-
isVoid
default boolean isVoid()
-
isTypeVariable
default boolean isTypeVariable()
-
isWildcard
default boolean isWildcard()
-
isInferenceVariable
default boolean isInferenceVariable()
-
asArrayType
default ResolvedArrayType asArrayType()
-
asReferenceType
default ResolvedReferenceType asReferenceType()
-
asTypeParameter
default ResolvedTypeParameterDeclaration asTypeParameter()
-
asTypeVariable
default ResolvedTypeVariable asTypeVariable()
-
asPrimitive
default ResolvedPrimitiveType asPrimitive()
-
asWildcard
default ResolvedWildcard asWildcard()
-
asConstraintType
default ResolvedLambdaConstraintType asConstraintType()
-
asUnionType
default ResolvedUnionType asUnionType()
-
describe
String describe()
-
replaceTypeVariables
default ResolvedType replaceTypeVariables(ResolvedTypeParameterDeclaration tp, ResolvedType replaced, Map<ResolvedTypeParameterDeclaration,ResolvedType> inferredTypes)
Replace all variables referring to the given TypeParameter with the given value. By replacing these values I could also infer some type equivalence. Those would be collected in the given map.
-
replaceTypeVariables
default ResolvedType replaceTypeVariables(ResolvedTypeParameterDeclaration tp, ResolvedType replaced)
This is like (replaceTypeVariables(ResolvedTypeParameterDeclaration, ResolvedType, Map)but ignores the inferred values.
-
mention
default boolean mention(List<ResolvedTypeParameterDeclaration> typeParameters)
Does this type mention at all, directly or indirectly, the given type parameters?
-
isAssignableBy
boolean isAssignableBy(ResolvedType other)
This method checks if ThisType t = new OtherType() would compile.
-
isNumericType
default boolean isNumericType()
-
erasure
default ResolvedType erasure()
-
solveGenericTypes
default ResolvedType solveGenericTypes(Context context)
-
toDescriptor
default String toDescriptor()
-
-