Commit a4b8d240 authored by Andy Wilkinson's avatar Andy Wilkinson

Merge branch '2.1.x'

Closes gh-18094
parents b463acb1 abba4fa9
...@@ -38,7 +38,6 @@ import javax.lang.model.type.TypeMirror; ...@@ -38,7 +38,6 @@ import javax.lang.model.type.TypeMirror;
import javax.lang.model.type.TypeVariable; import javax.lang.model.type.TypeVariable;
import javax.lang.model.util.SimpleTypeVisitor8; import javax.lang.model.util.SimpleTypeVisitor8;
import javax.lang.model.util.Types; import javax.lang.model.util.Types;
import javax.tools.Diagnostic.Kind;
/** /**
* Type Utilities. * Type Utilities.
...@@ -232,24 +231,18 @@ class TypeUtils { ...@@ -232,24 +231,18 @@ class TypeUtils {
} }
private void process(TypeDescriptor descriptor, TypeMirror type) { private void process(TypeDescriptor descriptor, TypeMirror type) {
try { if (type.getKind() == TypeKind.DECLARED) {
if (type.getKind() == TypeKind.DECLARED) { DeclaredType declaredType = (DeclaredType) type;
DeclaredType declaredType = (DeclaredType) type; DeclaredType freshType = (DeclaredType) this.env.getElementUtils()
DeclaredType freshType = (DeclaredType) this.env.getElementUtils() .getTypeElement(this.types.asElement(type).toString()).asType();
.getTypeElement(this.types.asElement(type).toString()).asType(); List<? extends TypeMirror> arguments = declaredType.getTypeArguments();
List<? extends TypeMirror> arguments = declaredType.getTypeArguments(); for (int i = 0; i < arguments.size(); i++) {
for (int i = 0; i < arguments.size(); i++) { TypeMirror specificType = arguments.get(i);
TypeMirror specificType = arguments.get(i); TypeMirror signatureType = freshType.getTypeArguments().get(i);
TypeMirror signatureType = freshType.getTypeArguments().get(i); descriptor.registerIfNecessary(signatureType, specificType);
descriptor.registerIfNecessary(signatureType, specificType);
}
TypeElement element = (TypeElement) this.types.asElement(type);
process(descriptor, element.getSuperclass());
} }
} TypeElement element = (TypeElement) this.types.asElement(type);
catch (Exception ex) { process(descriptor, element.getSuperclass());
this.env.getMessager().printMessage(Kind.WARNING, "Failed to generated type descriptor for " + type,
this.types.asElement(type));
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment