continue; ArrayType arrStringType = processingEnv.getTypeUtils().getArrayType(stringType); if (processingEnv.getTypeUtils().isAssignable(toCheck, arrStringType)) { continue;
/** * Returns a TypeMirror for the given class. * * @param clazz The class of interest. * * @return A TypeMirror for the given class. */ public TypeMirror getMirrorForType(Class<?> clazz) { if ( clazz.isArray() ) { return typeUtils.getArrayType( getMirrorForNonArrayType( clazz.getComponentType() ) ); } else { return getMirrorForNonArrayType( clazz ); } }
private static boolean hasBuilderVarargsAddMethodOverride(Config config, Type builderType) { TypeMirror rawBuilderType = config.getElements() .getTypeElement(builderType.getQualifiedName().toString()) .asType(); return overrides( config.getBuilder(), config.getTypes(), addMethod(config.getProperty()), config.getTypes().getArrayType(rawBuilderType)); } }
/** 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()); } }
private static boolean hasVarargsAddMethodOverride(Config config, TypeMirror elementType) { return overrides( config.getBuilder(), config.getTypes(), addMethod(config.getProperty()), config.getTypes().getArrayType(elementType)); }
private static boolean hasVarargsAddMethodOverride(Config config, TypeMirror elementType) { return overrides( config.getBuilder(), config.getTypes(), addMethod(config.getProperty()), config.getTypes().getArrayType(elementType)); }
private static boolean hasVarargsAddMethodOverride(Config config, TypeMirror elementType) { return overrides( config.getBuilder(), config.getTypes(), addMethod(config.getProperty()), config.getTypes().getArrayType(elementType)); }
private static boolean hasValueInstanceVarargsAddMethodOverride( Config config, TypeMirror elementType) { return overrides( config.getBuilder(), config.getTypes(), addMethod(config.getProperty()), config.getTypes().getArrayType(elementType)); }
private static boolean hasVarargsAddMethodOverride(Config config, TypeMirror elementType) { return overrides( config.getBuilder(), config.getTypes(), addMethod(config.getProperty()), config.getTypes().getArrayType(elementType)); }
/** * Evaluate generics and arrays depth-first, and substitute %d strings in their place. * e.g. %1<%2,%3<%4>> --> %1<%2,%5> --> %6 */ private static void substituteGenericsAndArrays( Types typeUtils, MutableString snippet, Substitutions substitutions) { for (MatchResult m : snippet.instancesOf(GENERIC_OR_ARRAY_PATTERN)) { // Group 1 is the type on the left, e.g. '%1' in '%1<%2,%5>' // Group 2 contains the array brackets if this is an array, e.g. '[]' in '%1[]' // Group 3 contains the type list if this is a generic type, e.g. '%2,%5' in '%1<%2,%5>' TypeMirror type = substitutions.get(m.group(1)); if (Strings.isNullOrEmpty(m.group(2))) { List<TypeMirror> argTypes = Lists.transform( Splitter.on(",").trimResults().splitToList(m.group(3)), substitutions.asFunction()); snippet.replace(m, substitutions.put(parameterisedType(typeUtils, type, argTypes))); } else { snippet.replace(m, substitutions.put(typeUtils.getArrayType(type))); } } }
} else if (type instanceof GenericArrayType) { Type componentType = ((GenericArrayType) type).getGenericComponentType(); return typeUtils.getArrayType(typeMirror(typeUtils, elementUtils, componentType)); } else if (type instanceof ParameterizedType) { ParameterizedType pType = (ParameterizedType) type;
@Override public TypeMirror get(Elements elements, Types types) { Class<?> componentType = type.getComponentType(); TypeMirror component = TypeMirrorGetter.of(componentType).get(elements, types); return types.getArrayType(component); }
@Override public TypeMirror get(Elements elements, Types types) { Class<?> componentType = type.getComponentType(); TypeMirror component = TypeMirrorGetter.of(componentType).get(elements, types); return types.getArrayType(component); }
public ArrayType getArrayType(TypeMirror componentType) { while (componentType instanceof DecoratedTypeMirror) { componentType = ((DecoratedTypeMirror) componentType).getDelegate(); } return TypeMirrorDecorator.decorate(delegate.getArrayType(componentType), this.env); }
@Override public TypeMirror visitArray(ArrayType t, Void p) { return typeUtils.getArrayType(visit(t.getComponentType())); } }
public ArrayType getArrayType(TypeMirror componentType) { while (componentType instanceof DecoratedTypeMirror) { componentType = ((DecoratedTypeMirror) componentType).getDelegate(); } return TypeMirrorDecorator.decorate(delegate.getArrayType(componentType), this.env); }
private static boolean hasVarargsAddMethodOverride(Config config, TypeMirror elementType) { return overrides( config.getBuilder(), config.getTypes(), addMethod(config.getProperty()), config.getTypes().getArrayType(elementType)); }
private static boolean hasVarargsAddMethodOverride(Config config, TypeMirror elementType) { return overrides( config.getBuilder(), config.getTypes(), addMethod(config.getProperty()), config.getTypes().getArrayType(elementType)); }
private Element createGetSuppliedChildrenMethod() { ArrayType nodeArray = context.getEnvironment().getTypeUtils().getArrayType(getType(Node.class)); CodeExecutableElement method = new CodeExecutableElement(modifiers(PROTECTED, FINAL), nodeArray, "getSuppliedChildren"); method.getAnnotationMirrors().add(new CodeAnnotationMirror(context.getDeclaredType(Override.class))); CodeTreeBuilder builder = method.createBuilder(); builder.startReturn().tree(createGetSuppliedChildren()).end(); return method; }
@Override protected void test() { TypeMirror type = types.getArrayType(getType(String.class)); TypeDescription desc = DescriptionHelper.toDescription(env, type); assertThat(desc, is((Object) Descriptions.typeOf(String[].class))); } });