summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/google/doclava/TypeInfo.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/com/google/doclava/TypeInfo.java b/src/com/google/doclava/TypeInfo.java
index ad26def..689ff88 100644
--- a/src/com/google/doclava/TypeInfo.java
+++ b/src/com/google/doclava/TypeInfo.java
@@ -54,7 +54,6 @@ public class TypeInfo implements Resolvable {
if (c == ',' && bracketNesting == 0) {
String entry = typeString.substring(entryStartPos, i).trim();
TypeInfo info = new TypeInfo(entry);
- info.setIsTypeVariable(true);
generics.add(info);
entryStartPos = i + 1;
} else if (c == '<') {
@@ -70,8 +69,8 @@ public class TypeInfo implements Resolvable {
}
TypeInfo info = new TypeInfo(typeString.substring(entryStartPos, paramEndPos).trim());
- info.setIsTypeVariable(true);
generics.add(info);
+ addResolution(new Resolution("variability", "", null));
mTypeArguments = generics;
@@ -483,6 +482,13 @@ public class TypeInfo implements Resolvable {
} else {
mClass = InfoBuilder.Caches.obtainClass(qualifiedClassName.toString());
}
+ } else if ("variability".equals(resolution.getVariable())) {
+ StringBuilder qualifiedClassName = new StringBuilder();
+ for (TypeInfo arg : mTypeArguments) {
+ InfoBuilder.resolveQualifiedName(arg.simpleTypeName(), qualifiedClassName,
+ resolution.getInfoBuilder());
+ arg.setIsTypeVariable(!("".equals(qualifiedClassName.toString())));
+ }
}
}