private static int findTypeArgInList(Parameterizable hasTypeParams, String typeArgName) { List<? extends TypeParameterElement> typeParameters = hasTypeParams.getTypeParameters(); for (int i = 0; i < typeParameters.size(); i++) { if (typeParameters.get(i).getSimpleName().contentEquals(typeArgName)) { return i; } } return -1; } }
public static TypeParamInfo create(TypeParameterElement paramElt) { Parameterizable genericElt = (Parameterizable) paramElt.getGenericElement(); int index = genericElt.getTypeParameters().indexOf(paramElt); switch (genericElt.getKind()) { case CLASS: case INTERFACE: { TypeElement typeElt = (TypeElement) genericElt; return new TypeParamInfo.Class( typeElt.getQualifiedName().toString(), index, paramElt.getSimpleName().toString()); } case METHOD: { ExecutableElement methodElt = (ExecutableElement) genericElt; TypeElement typeElt = (TypeElement) methodElt.getEnclosingElement(); return new TypeParamInfo.Method( typeElt.getQualifiedName().toString(), methodElt.getSimpleName().toString(), index, paramElt.getSimpleName().toString()); } default: throw new UnsupportedOperationException(genericElt.getKind() + ""); } }
private List<String> getTypeParameterNames(Parameterizable element) { List<String> names = new ArrayList<>(); for (TypeParameterElement p : element.getTypeParameters()) { names.add(p.getSimpleName().toString()); } return names; }
((Parameterizable) element).getTypeParameters();
private Type.Parameters initParameters(Parameterizable context) { Type.Parameters parameters = factory.parameters(); for (TypeParameterElement p : context.getTypeParameters()) { String name = p.getSimpleName().toString(); // <T extends Cls<T>>: when parsing bounds for T, T should be already defined for recursion Type.Parameters parameterForRecursion = parameters.recursive(name); List<Type.Defined> bounds = getBounds(parameterForRecursion, p); parameters = parameters.introduce(name, bounds); } return parameters; }
/** * Adds each type parameter of {@code parameterizable} as a type parameter of this injection * method. */ Builder copyTypeParameters(Parameterizable parameterizable) { parameterizable.getTypeParameters().stream() .map(TypeVariableName::get) .forEach(typeVariablesBuilder()::add); return this; }
private static int findTypeArgInList(Parameterizable hasTypeParams, String typeArgName) { List<? extends TypeParameterElement> typeParameters = hasTypeParams.getTypeParameters(); for (int i = 0; i < typeParameters.size(); i++) { if (typeParameters.get(i).getSimpleName().contentEquals(typeArgName)) { return i; } } return -1; } }
private void printFormalTypeParameters(Parameterizable e, boolean pad) { List<? extends TypeParameterElement> typeParams = e.getTypeParameters(); if (typeParams.size() > 0) { writer.print("<"); boolean first = true; for(TypeParameterElement tpe: typeParams) { if (!first) writer.print(", "); printAnnotationsInline(tpe); writer.print(tpe.toString()); first = false; } writer.print(">"); if (pad) writer.print(" "); } }
private void printFormalTypeParameters(Parameterizable e, boolean pad) { List<? extends TypeParameterElement> typeParams = e.getTypeParameters(); if (typeParams.size() > 0) { writer.print("<"); boolean first = true; for(TypeParameterElement tpe: typeParams) { if (!first) writer.print(", "); printAnnotationsInline(tpe); writer.print(tpe.toString()); first = false; } writer.print(">"); if (pad) writer.print(" "); } }
Parameterizable newEl = (Parameterizable) newElement.getDeclaringElement(); List<? extends TypeParameterElement> oldPars = oldEl.getTypeParameters(); List<? extends TypeParameterElement> newPars = newEl.getTypeParameters();
Parameterizable newEl = (Parameterizable) newElement.getDeclaringElement(); List<? extends TypeParameterElement> oldPars = oldEl.getTypeParameters(); List<? extends TypeParameterElement> newPars = newEl.getTypeParameters();
if (oldT.getTypeParameters().isEmpty()) { diffs.add(createDifference(Code.GENERICS_ELEMENT_NOW_PARAMETERIZED, Code.attachmentsFor(els.oldElement, els.newElement)));
if (oldT.getTypeParameters().isEmpty()) { diffs.add(createDifference(Code.GENERICS_ELEMENT_NOW_PARAMETERIZED, Code.attachmentsFor(els.oldElement, els.newElement)));