Package com.strobel.util
Class TypeUtils
- java.lang.Object
-
- com.strobel.util.TypeUtils
-
public final class TypeUtils extends java.lang.Object
-
-
Constructor Summary
Constructors Modifier Constructor Description private
TypeUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static boolean
areEquivalent(Type<?> class1, Type<?> class2)
static boolean
areEquivalent(TypeList types1, TypeList types2)
static boolean
areEquivalentWithOrdering(TypeList types1, TypeList types2)
static boolean
areReferenceAssignable(Type<?> destination, Type<?> source)
static int
bitWidth(Type<?> type)
static int
bitWidth(javax.lang.model.type.TypeKind kind)
static Type<?>
getBoxedType(Type<?> type)
static Type<?>
getBoxedTypeOrSelf(Type<?> type)
static MethodInfo
getBoxMethod(Type<?> type)
static MethodInfo
getCoercionMethod(Type<?> source, Type<?> destination)
static java.lang.String
getInternalName(java.lang.Class<?> clazz)
static MethodInfo
getUnboxMethod(Type<?> type)
static MethodInfo
getUnboxMethod(Type<?> boxedType, Type<?> unboxedType)
static Type<?>
getUnderlyingPrimitive(Type<?> type)
static Type<?>
getUnderlyingPrimitiveOrSelf(Type<?> type)
static boolean
hasBuiltInEqualityOperator(Type<?> left, Type<?> right)
static boolean
hasIdentityPrimitiveOrBoxingConversion(Type<?> source, Type<?> destination)
static boolean
hasReferenceConversion(Type<?> source, Type<?> destination)
static boolean
hasReferenceEquality(Type<?> left, Type<?> right)
static boolean
isArithmetic(Type<?> type)
static boolean
isAutoUnboxed(Type<?> type)
static boolean
isBoolean(Type<?> type)
static boolean
isDoubleWord(Type<?> type)
static boolean
isDoubleWord(javax.lang.model.type.TypeKind kind)
static boolean
isImplicitNumericConversion(Type<?> sourceType, Type<?> targetType)
static boolean
isIntegral(Type<?> type)
static boolean
isIntegral(javax.lang.model.type.TypeKind kind)
static boolean
isIntegralOrBoolean(Type<?> type)
static boolean
isNumeric(Type<?> type)
static boolean
isNumeric(javax.lang.model.type.TypeKind kind)
static boolean
isSameOrSubType(Type<?> type, Type<?> subType)
static boolean
isSingleWord(Type<?> type)
static boolean
isSingleWord(javax.lang.model.type.TypeKind kind)
static boolean
isSubWordOrInt32(Type<?> type)
static boolean
isSubWordOrInt32(javax.lang.model.type.TypeKind kind)
static boolean
isValidInvocationTargetType(MethodInfo method, Type<?> targetType)
-
-
-
Method Detail
-
isAutoUnboxed
public static boolean isAutoUnboxed(Type<?> type)
-
isArithmetic
public static boolean isArithmetic(Type<?> type)
-
isNumeric
public static boolean isNumeric(Type<?> type)
-
isIntegralOrBoolean
public static boolean isIntegralOrBoolean(Type<?> type)
-
isIntegral
public static boolean isIntegral(Type<?> type)
-
isBoolean
public static boolean isBoolean(Type<?> type)
-
areEquivalentWithOrdering
public static boolean areEquivalentWithOrdering(TypeList types1, TypeList types2)
-
hasIdentityPrimitiveOrBoxingConversion
public static boolean hasIdentityPrimitiveOrBoxingConversion(Type<?> source, Type<?> destination)
-
hasReferenceConversion
public static boolean hasReferenceConversion(Type<?> source, Type<?> destination)
-
getCoercionMethod
public static MethodInfo getCoercionMethod(Type<?> source, Type<?> destination)
-
getBoxMethod
public static MethodInfo getBoxMethod(Type<?> type)
-
getUnboxMethod
public static MethodInfo getUnboxMethod(Type<?> type)
-
getUnboxMethod
public static MethodInfo getUnboxMethod(Type<?> boxedType, Type<?> unboxedType)
-
areReferenceAssignable
public static boolean areReferenceAssignable(Type<?> destination, Type<?> source)
-
hasBuiltInEqualityOperator
public static boolean hasBuiltInEqualityOperator(Type<?> left, Type<?> right)
-
isValidInvocationTargetType
public static boolean isValidInvocationTargetType(MethodInfo method, Type<?> targetType)
-
isImplicitNumericConversion
public static boolean isImplicitNumericConversion(Type<?> sourceType, Type<?> targetType)
-
getInternalName
public static java.lang.String getInternalName(@NotNull java.lang.Class<?> clazz)
-
isSingleWord
public static boolean isSingleWord(Type<?> type)
-
isSingleWord
public static boolean isSingleWord(javax.lang.model.type.TypeKind kind)
-
isDoubleWord
public static boolean isDoubleWord(Type<?> type)
-
isDoubleWord
public static boolean isDoubleWord(javax.lang.model.type.TypeKind kind)
-
isNumeric
public static boolean isNumeric(javax.lang.model.type.TypeKind kind)
-
isIntegral
public static boolean isIntegral(javax.lang.model.type.TypeKind kind)
-
isSubWordOrInt32
public static boolean isSubWordOrInt32(Type<?> type)
-
isSubWordOrInt32
public static boolean isSubWordOrInt32(javax.lang.model.type.TypeKind kind)
-
bitWidth
public static int bitWidth(Type<?> type)
-
bitWidth
public static int bitWidth(javax.lang.model.type.TypeKind kind)
-
-