public final class TypesUtils extends Object
TypeMirror
s.Modifier and Type | Method and Description |
---|---|
static boolean |
areSamePrimitiveTypes(TypeMirror left,
TypeMirror right)
Returns true iff the arguments are both the same primitive types.
|
static ArrayType |
createArrayType(Types types,
TypeMirror componentType)
Returns an
ArrayType with elements of type componentType . |
static TypeMirror |
findConcreteUpperBound(TypeMirror boundedType)
Given a bounded type (wildcard or typevar) get the concrete type of its upper bound.
|
static Name |
getQualifiedName(DeclaredType type)
Gets the fully qualified name for a provided type.
|
static boolean |
isAnonymous(TypeMirror type)
Returns true iff the argument is an anonymous type.
|
static boolean |
isBooleanType(TypeMirror type)
Checks if the type represents a boolean type, that is either boolean (primitive type) or
java.lang.Boolean.
|
static boolean |
isBoxedPrimitive(TypeMirror type) |
static boolean |
isBoxOf(TypeMirror declaredType,
TypeMirror primitiveType)
Returns true if declaredType is a Class that is used to box primitive type (e.g.
|
static boolean |
isClass(TypeMirror type)
Checks if the type represents a java.lang.Class declared type.
|
static boolean |
isDeclaredOfName(TypeMirror type,
CharSequence qualifiedName)
Check if the type represent a declared type of the given qualified name
|
static boolean |
isErasedSubtype(Types types,
TypeMirror subtype,
TypeMirror supertype)
Returns true if the erased type of subtype is a subtype of the erased type of supertype.
|
static boolean |
isFloating(TypeMirror type)
Returns true iff the argument is a floating point type.
|
static boolean |
isIntegral(TypeMirror type)
Returns true iff the argument is an integral type.
|
static boolean |
isNumeric(TypeMirror type)
Returns true iff the argument is a primitive numeric type.
|
static boolean |
isObject(TypeMirror type)
Checks if the type represents a java.lang.Object declared type.
|
static boolean |
isPrimitive(TypeMirror type)
Returns true iff the argument is a primitive type.
|
static boolean |
isString(TypeMirror type)
Checks if the type represents a java.lang.String declared type.
|
static boolean |
isThrowable(TypeMirror type) |
static TypeMirror |
typeFromClass(Types types,
Elements elements,
Class<?> clazz)
Returns the
TypeMirror for a given Class . |
static TypeMirror |
upperBound(TypeMirror type)
If the argument is a bounded TypeVariable or WildcardType, return its non-variable,
non-wildcard upper bound.
|
static TypeKind |
widenedNumericType(TypeMirror left,
TypeMirror right)
Returns the widened numeric type for an arithmetic operation performed on a value of the left
type and the right type.
|
static TypeParameterElement |
wildcardToTypeParam(com.sun.tools.javac.code.Type.WildcardType wildcard)
Get the type parameter for this wildcard from the underlying type's bound field This field is
sometimes null, in that case this method will return null
|
static com.sun.tools.javac.code.Type |
wildLowerBound(ProcessingEnvironment env,
TypeMirror tm)
Version of com.sun.tools.javac.code.Types.wildLowerBound(Type) that works with both jdk8
(called upperBound there) and jdk8u.
|
static com.sun.tools.javac.code.Type |
wildUpperBound(ProcessingEnvironment env,
TypeMirror tm)
Version of com.sun.tools.javac.code.Types.wildUpperBound(Type) that works with both jdk8
(called upperBound there) and jdk8u.
|
public static Name getQualifiedName(DeclaredType type)
type
- the declared typepublic static boolean isObject(TypeMirror type)
type
- the typepublic static boolean isClass(TypeMirror type)
type
- the typepublic static boolean isString(TypeMirror type)
type
- the typepublic static boolean isBooleanType(TypeMirror type)
type
- the type to testpublic static boolean isDeclaredOfName(TypeMirror type, CharSequence qualifiedName)
type
- the typepublic static boolean isBoxedPrimitive(TypeMirror type)
public static boolean isThrowable(TypeMirror type)
public static boolean isAnonymous(TypeMirror type)
public static boolean isPrimitive(TypeMirror type)
public static boolean areSamePrimitiveTypes(TypeMirror left, TypeMirror right)
public static boolean isNumeric(TypeMirror type)
public static boolean isIntegral(TypeMirror type)
public static boolean isFloating(TypeMirror type)
public static TypeKind widenedNumericType(TypeMirror left, TypeMirror right)
TypeKind
because creating
a TypeMirror
requires a Types
object from the ProcessingEnvironment
.public static TypeMirror upperBound(TypeMirror type)
type
- a typepublic static TypeParameterElement wildcardToTypeParam(com.sun.tools.javac.code.Type.WildcardType wildcard)
public static com.sun.tools.javac.code.Type wildUpperBound(ProcessingEnvironment env, TypeMirror tm)
public static com.sun.tools.javac.code.Type wildLowerBound(ProcessingEnvironment env, TypeMirror tm)
public static TypeMirror typeFromClass(Types types, Elements elements, Class<?> clazz)
TypeMirror
for a given Class
.public static ArrayType createArrayType(Types types, TypeMirror componentType)
ArrayType
with elements of type componentType
.public static boolean isBoxOf(TypeMirror declaredType, TypeMirror primitiveType)
public static TypeMirror findConcreteUpperBound(TypeMirror boundedType)
public static boolean isErasedSubtype(Types types, TypeMirror subtype, TypeMirror supertype)
types
- Typessubtype
- possible subtypesupertype
- possible supertype