diff options
-rw-r--r-- | src/com/google/doclava/TypeInfo.java | 10 |
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()))); + } } } |