private String createStaticReference(Element enclosedElement, TypeMirror type, String name) { // ambiguous import return createTypeReference(enclosedElement, type) + "." + name; }
private String createStaticReference(Element enclosedElement, TypeMirror type, String name) { // ambiguous import return createTypeReference(enclosedElement, type) + "." + name; }
private String useImport(Element enclosedType, TypeMirror type) { if (imports != null) { return imports.createTypeReference(enclosedType, type); } else { return ElementUtils.getSimpleName(type); } }
private String useImport(Element enclosedType, TypeMirror type) { if (imports != null) { return imports.createTypeReference(enclosedType, type); } else { return ElementUtils.getSimpleName(type); } }
private String createWildcardName(Element enclosedElement, WildcardType type) { StringBuilder b = new StringBuilder(); if (type.getExtendsBound() != null) { b.append("? extends ").append(createTypeReference(enclosedElement, type.getExtendsBound())); } else if (type.getSuperBound() != null) { b.append("? super ").append(createTypeReference(enclosedElement, type.getExtendsBound())); } else { b.append("?"); } return b.toString(); }
private String createWildcardName(Element enclosedElement, WildcardType type) { StringBuilder b = new StringBuilder(); if (type.getExtendsBound() != null) { b.append("? extends ").append(createTypeReference(enclosedElement, type.getExtendsBound())); } else if (type.getSuperBound() != null) { b.append("? super ").append(createTypeReference(enclosedElement, type.getExtendsBound())); } else { b.append("?"); } return b.toString(); }
private String createDeclaredTypeName(Element enclosedElement, DeclaredType type) { String name = ElementUtils.fixECJBinaryNameIssue(type.asElement().getSimpleName().toString()); if (classImportUsage.containsKey(name)) { String qualifiedImport = classImportUsage.get(name); String qualifiedName = ElementUtils.getEnclosedQualifiedName(type); if (!qualifiedName.equals(qualifiedImport)) { name = qualifiedName; } } List<? extends TypeMirror> genericTypes = type.getTypeArguments(); if (genericTypes.size() == 0) { return name; } StringBuilder b = new StringBuilder(name); b.append("<"); for (int i = 0; i < genericTypes.size(); i++) { TypeMirror genericType = i < genericTypes.size() ? genericTypes.get(i) : null; if (genericType != null) { b.append(createTypeReference(enclosedElement, genericType)); } else { b.append("?"); } if (i < genericTypes.size() - 1) { b.append(", "); } } b.append(">"); return b.toString(); }
private String createDeclaredTypeName(Element enclosedElement, DeclaredType type) { String name = ElementUtils.fixECJBinaryNameIssue(type.asElement().getSimpleName().toString()); if (classImportUsage.containsKey(name)) { String qualifiedImport = classImportUsage.get(name); String qualifiedName = ElementUtils.getEnclosedQualifiedName(type); if (!qualifiedName.equals(qualifiedImport)) { name = ElementUtils.getQualifiedName(type); } } List<? extends TypeMirror> genericTypes = type.getTypeArguments(); if (genericTypes.size() == 0) { return name; } StringBuilder b = new StringBuilder(name); b.append("<"); for (int i = 0; i < genericTypes.size(); i++) { TypeMirror genericType = i < genericTypes.size() ? genericTypes.get(i) : null; if (genericType != null) { b.append(createTypeReference(enclosedElement, genericType)); } else { b.append("?"); } if (i < genericTypes.size() - 1) { b.append(", "); } } b.append(">"); return b.toString(); }
public String createTypeReference(Element enclosedElement, TypeMirror type) { switch (type.getKind()) { case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FLOAT: case SHORT: case INT: case LONG: case VOID: return ElementUtils.getSimpleName(type); case DECLARED: return createDeclaredTypeName(enclosedElement, (DeclaredType) type); case ARRAY: return createTypeReference(enclosedElement, ((ArrayType) type).getComponentType()) + "[]"; case WILDCARD: return createWildcardName(enclosedElement, (WildcardType) type); case TYPEVAR: return "?"; default: throw new RuntimeException("Unknown type specified " + type.getKind() + " mirror: " + type); } }
return createDeclaredTypeName(enclosedElement, (DeclaredType) type); case ARRAY: return createTypeReference(enclosedElement, ((ArrayType) type).getComponentType()) + "[]"; case WILDCARD: return createWildcardName(enclosedElement, (WildcardType) type);