/** * Returns the members injector key for the raw type of {@code type}. * Parameterized types are not currently supported for members injection in * generated code. */ public static String rawMembersKey(TypeMirror type) { return "members/" + rawTypeToString(type, '$'); }
/** Returns a string for the raw type of {@code type}. Primitive types are always boxed. */ public static String rawTypeToString(TypeMirror type, char innerClassSeparator) { if (!(type instanceof DeclaredType)) { throw new IllegalArgumentException("Unexpected type: " + type); } StringBuilder result = new StringBuilder(); DeclaredType declaredType = (DeclaredType) type; rawTypeToString(result, (TypeElement) declaredType.asElement(), innerClassSeparator); return result.toString(); }
private Set<String> findInjectedClassNames(RoundEnvironment env) { // First gather the set of classes that have @Inject-annotated members. Set<String> injectedTypeNames = new LinkedHashSet<String>(); for (Element element : env.getElementsAnnotatedWith(Inject.class)) { if (!validateInjectable(element)) { continue; } injectedTypeNames.add(rawTypeToString(element.getEnclosingElement().asType(), '.')); } return injectedTypeNames; }
@Override public Void visitDeclared(DeclaredType declaredType, Void v) { TypeElement typeElement = (TypeElement) declaredType.asElement(); rawTypeToString(result, typeElement, innerClassSeparator); List<? extends TypeMirror> typeArguments = declaredType.getTypeArguments(); if (!typeArguments.isEmpty()) { result.append("<"); for (int i = 0; i < typeArguments.size(); i++) { if (i != 0) { result.append(", "); } typeToString(typeArguments.get(i), result, innerClassSeparator); } result.append(">"); } return null; } @Override public Void visitPrimitive(PrimitiveType primitiveType, Void v) {
if (!rawTypeToString(annotation.getAnnotationType(), '$') .equals(annotationType.getName())) { continue;