/** Returns a {@link TypeMirror} for the given class (raw T, not T<?>, if T is generic). */ public static TypeMirror typeMirror( Types typeUtils, Elements elementUtils, Class<?> cls) { if (cls.equals(void.class)) { return typeUtils.getNoType(TypeKind.VOID); } else if (cls.isPrimitive()) { return typeUtils.getPrimitiveType(TypeKind.valueOf(cls.getSimpleName().toUpperCase())); } else if (cls.isArray()) { return typeUtils.getArrayType(typeMirror(typeUtils, elementUtils, cls.getComponentType())); } else { return rawType(typeUtils, elementUtils, cls.getCanonicalName()); } }
PrimitiveTypeImpl(Class<?> cls) { this(TypeKind.valueOf(cls.getSimpleName().toUpperCase())); }
@Override public TypeMirror get(Elements elements, Types types) { String name = type.getName(); TypeKind kind = TypeKind.valueOf(name.toUpperCase()); return types.getPrimitiveType(kind); }
@Override public TypeMirror get(Elements elements, Types types) { String name = type.getName(); TypeKind kind = TypeKind.valueOf(name.toUpperCase()); return types.getPrimitiveType(kind); }
@Override public TypeMirror get(Elements elements, Types types) { String name = type.getName(); TypeKind kind = TypeKind.valueOf(name.toUpperCase()); return types.getPrimitiveType(kind); }
public static DecoratedTypeMirror mirrorOf(Class<?> clazz, ProcessingEnvironment env) { if (clazz.isArray()) { return (DecoratedTypeMirror) env.getTypeUtils().getArrayType(mirrorOf(clazz.getComponentType(), env)); } else if (clazz.isPrimitive()) { return (DecoratedTypeMirror) env.getTypeUtils().getPrimitiveType(TypeKind.valueOf(clazz.getName().toUpperCase())); } else { TypeElement element = env.getElementUtils().getTypeElement(clazz.getCanonicalName()); if (element == null) { throw new IllegalStateException("Unable to find mirror for " + clazz.getCanonicalName()); } return (DecoratedTypeMirror) element.asType(); } }
public static DecoratedTypeMirror mirrorOf(Class<?> clazz, ProcessingEnvironment env) { if (clazz.isArray()) { return (DecoratedTypeMirror) env.getTypeUtils().getArrayType(mirrorOf(clazz.getComponentType(), env)); } else if (clazz.isPrimitive()) { return (DecoratedTypeMirror) env.getTypeUtils().getPrimitiveType(TypeKind.valueOf(clazz.getName().toUpperCase())); } else { TypeElement element = env.getElementUtils().getTypeElement(clazz.getCanonicalName()); if (element == null) { throw new IllegalStateException("Unable to find mirror for " + clazz.getCanonicalName()); } return (DecoratedTypeMirror) element.asType(); } }
public TypeMirror typeMirror( Class<?> type ) { if ( type == void.class ) { return typeUtils.getNoType( TypeKind.VOID ); } if ( type.isPrimitive() ) { TypeKind primitiveKind = TypeKind.valueOf( type.getName().toUpperCase() ); return typeUtils.getPrimitiveType( primitiveKind ); } if ( type.isArray() ) { TypeMirror componentType = typeMirror( type.getComponentType() ); return typeUtils.getArrayType( componentType ); } return elementUtils.getTypeElement( type.getName() ).asType(); }
/** * Returns the {@link TypeMirror} for a given {@link Class}. * * Adapter from https://github.com/typetools/checker-framework/ */ public static TypeMirror typeFromClass(Types types, Elements elements, Class<?> clazz) { if (clazz == void.class) { return types.getNoType(TypeKind.VOID); } else if (clazz.isPrimitive()) { String primitiveName = clazz.getName().toUpperCase(); TypeKind primitiveKind = TypeKind.valueOf(primitiveName); return types.getPrimitiveType(primitiveKind); } else if (clazz.isArray()) { TypeMirror componentType = typeFromClass(types, elements, clazz.getComponentType()); return types.getArrayType(componentType); } else { TypeElement element = elements.getTypeElement(clazz.getCanonicalName()); if (element == null) { throw new IllegalArgumentException("Unrecognized class: " + clazz); } return element.asType(); } } }
private TypeMirror typeMirrorFromClass( Class<?> k) { if ( k.isArray() ) { TypeMirror ctm = typeMirrorFromClass( k.getComponentType()); return typu.getArrayType( ctm); } if ( k.isPrimitive() ) { TypeKind tk = TypeKind.valueOf( k.getName().toUpperCase()); return typu.getPrimitiveType( tk); } String cname = k.getCanonicalName(); if ( null == cname ) { msg( Kind.WARNING, "Cannot register type mapping for class %s" + "that lacks a canonical name", k.getName()); return null; } TypeElement te = elmu.getTypeElement( cname); if ( null == te ) { msg( Kind.WARNING, "Found no TypeElement for %s", cname); return null; // hope it wasn't one we'll need! } return te.asType(); }
TypeKind kind = TypeKind.valueOf(typeName.toUpperCase()); if (kind.isPrimitive()) { return (DecoratedTypeMirror) env.getTypeUtils().getPrimitiveType(kind);
TypeKind kind = TypeKind.valueOf(typeName.toUpperCase()); if (kind.isPrimitive()) { return (DecoratedTypeMirror) env.getTypeUtils().getPrimitiveType(kind);
@Override protected void test() { for (BasicTypeKind kind : BasicTypeKind.values()) { TypeMirror type; if (kind == BasicTypeKind.VOID) { type = types.getNoType(TypeKind.VOID); } else { type = types.getPrimitiveType(TypeKind.valueOf(kind.name())); } assertThat( DescriptionHelper.toDescription(env, type), is((TypeDescription) new BasicTypeDescription(kind))); } } });