private TypeMirror boxed( PrimitiveType bool ) { return typeUtils.boxedClass( bool ).asType(); } }
private void collectBuiltins(Map<String, TypeMirror> collected) { for (TypeKind kind : TypeKind.values()) { if (kind.isPrimitive()) { TypeElement boxedClass = types.boxedClass(types.getPrimitiveType(kind)); collected.put(boxedClass.getSimpleName().toString(), boxedClass.asType()); } } TypeElement typeElement = elements.getTypeElement(String.class.getCanonicalName()); collected.put(typeElement.getSimpleName().toString(), typeElement.asType()); typeElement = elements.getTypeElement(Templates.Invokable.class.getCanonicalName()); collected.put(typeElement.getSimpleName().toString(), typeElement.asType()); }
TypeName boxedTypeName(TypeMirror typeMirror) { if (typeMirror.getKind().isPrimitive()) { return TypeName.get(types.boxedClass((PrimitiveType) typeMirror).asType()); } return TypeName.get(typeMirror); }
TypeElement element = null; if (mirror.getKind().isPrimitive()) { element = types.boxedClass((PrimitiveType) mirror); } else if (mirror.getKind() == TypeKind.DECLARED) { element = (TypeElement) types.asElement(mirror);
@Override public TypeMirror visitPrimitive(PrimitiveType x, State state) { if (boxPrimitives) { return state.types.boxedClass(x).asType(); } return x; }
if (keyType.getKind().isPrimitive()) { Types types = processingEnvironment.getTypeUtils(); keyType = types.boxedClass((PrimitiveType)keyType).asType();
/** * No parameters, name stars with "get" or is a boolean / Boolean isFoo hasFoo * method. */ protected boolean isGetter(ExecutableElement x, State state) { String name = x.getSimpleName().toString(); TypeMirror returnType = x.getReturnType(); if (!x.getParameters().isEmpty()) { return false; } if (name.startsWith("get")) { return true; } if (name.startsWith("is") || name.startsWith("has")) { TypeMirror javaLangBoolean = state.types.boxedClass(state.types.getPrimitiveType(TypeKind.BOOLEAN)).asType(); if (returnType.getKind().equals(TypeKind.BOOLEAN) || state.types.isSameType(returnType, javaLangBoolean)) { return true; } } return false; }
/** * Returns a unary operator that will accept {@code type}, without autoboxing if possible. */ public static FunctionalType unboxedUnaryOperator(TypeMirror type, Types types) { switch (type.getKind()) { case INT: case LONG: case DOUBLE: return primitiveUnaryOperator((PrimitiveType) type); case BOOLEAN: case BYTE: case CHAR: case SHORT: case FLOAT: return unaryOperator(types.boxedClass((PrimitiveType) type).asType()); default: return unaryOperator(type); } }
/** * This method should be kept in sync with * {@code ValueCodex.getAllValueTypes()}. It doesn't use * {@code getAllValueTypes()} because a dependency on {@code ValueCodex} would * pull in a large number of dependencies into the minimal * {@code requestfactory-apt.jar}. */ protected List<DeclaredType> getValueTypes(State state) { List<DeclaredType> types = new ArrayList<DeclaredType>(); for (TypeKind kind : TypeKind.values()) { if (kind.isPrimitive()) { PrimitiveType primitiveType = state.types.getPrimitiveType(kind); TypeElement boxedClass = state.types.boxedClass(primitiveType); types.add((DeclaredType) boxedClass.asType()); } } types.add(state.findType(BigDecimal.class)); types.add(state.findType(BigInteger.class)); types.add(state.findType(Date.class)); types.add(state.findType(String.class)); types.add(state.findType(Void.class)); // Avoids compile-dependency bloat types.add(state.types.getDeclaredType(state.elements .getTypeElement("com.google.web.bindery.autobean.shared.Splittable"))); return Collections.unmodifiableList(types); } }
/** * Introspects {@code method}, as found on {@code valueType}. */ private void addPropertyData( Property.Builder propertyBuilder, TypeElement valueType, ExecutableElement method, Optional<JacksonSupport> jacksonSupport) { TypeMirror propertyType = getReturnType(valueType, method, types); propertyBuilder .setAllCapsName(camelCaseToAllCaps(propertyBuilder.getName())) .setType(propertyType) .setFullyCheckedCast(CAST_IS_FULLY_CHECKED.visit(propertyType)); if (jacksonSupport.isPresent()) { jacksonSupport.get().addJacksonAnnotations(propertyBuilder, method); } if (propertyType.getKind().isPrimitive()) { PrimitiveType unboxedType = types.getPrimitiveType(propertyType.getKind()); TypeMirror boxedType = types.erasure(types.boxedClass(unboxedType).asType()); propertyBuilder.setBoxedType(boxedType); } }
@Override public TypeMirror visitPrimitive(PrimitiveType x, State state) { if (boxPrimitives) { return state.types.boxedClass(x).asType(); } return x; }
@Override public TypeMirror visitPrimitive(PrimitiveType x, State state) { if (boxPrimitives) { return state.types.boxedClass(x).asType(); } return x; }
@Override public TypeMirror visitPrimitive(PrimitiveType t, Types types) { return types.boxedClass(t).asType(); }
public Void visitPrimitive(PrimitiveType t, StringBuilder p) { if (p.length() == 0) { p.append(t); } else { TypeElement e = typeUtils.boxedClass(t); p.append(e.getSimpleName()); } return null; }
private TypeMirror box(TypeMirror type) { if (type.getKind().isPrimitive()) { return environment.getTypeUtils().boxedClass((PrimitiveType) type).asType(); } return type; }
private void collectBuiltins(Map<String, TypeMirror> collected) { for (TypeKind kind : TypeKind.values()) { if (kind.isPrimitive()) { TypeElement boxedClass = types.boxedClass(types.getPrimitiveType(kind)); collected.put(boxedClass.getSimpleName().toString(), boxedClass.asType()); } } TypeElement typeElement = elements.getTypeElement(String.class.getCanonicalName()); collected.put(typeElement.getSimpleName().toString(), typeElement.asType()); typeElement = elements.getTypeElement(Templates.Invokable.class.getCanonicalName()); collected.put(typeElement.getSimpleName().toString(), typeElement.asType()); }
public static TypeElement getWrappedType(final TypeMirror mirror) { final ProcessingEnvironment env = ProcessorContextHolder.getProcessingEnvironment(); final Types typeUtils = env.getTypeUtils(); final TypeKind kind = mirror.getKind(); final boolean primitive = kind.isPrimitive(); if (primitive) { return typeUtils.boxedClass((PrimitiveType) mirror); } return (TypeElement) typeUtils.asElement(mirror); }
public TypeElement boxedClass(PrimitiveType p) { while (p instanceof DecoratedPrimitiveType) { p = ((DecoratedPrimitiveType) p).getDelegate(); } return ElementDecorator.decorate(delegate.boxedClass(p), this.env); }
/** * Returns the boxed type of the given type mirror or its component type in case of arrays. */ @Pure public static @Nonnull TypeMirror getBoxedType(@Nonnull TypeMirror typeMirror) { if (isPrimitive(typeMirror)) { return getType(StaticProcessingEnvironment.getTypeUtils().boxedClass((PrimitiveType) typeMirror)); } else { return typeMirror; } }
private boolean isPrimitiveWrapper(TypeMirror type) { Types types = context.getEnvironment().getTypeUtils(); for (TypeKind kind : TypeKind.values()) { if (!kind.isPrimitive()) { continue; } if (ElementUtils.typeEquals(type, types.boxedClass(types.getPrimitiveType(kind)).asType())) { return true; } } return false; }