Fix handling of @link / see tags referring to varargs methods.
In a varargs method, only the last parameter is "varargs" and not
every parameter.
Change-Id: I5285d3a1d4dbe17061e9a3b8b9ba79c39353374e
diff --git a/src/com/google/doclava/MethodInfo.java b/src/com/google/doclava/MethodInfo.java
index eb360cd..22454c1 100644
--- a/src/com/google/doclava/MethodInfo.java
+++ b/src/com/google/doclava/MethodInfo.java
@@ -516,16 +516,16 @@
}
int i = 0;
for (ParameterInfo mine : mParameters) {
- if (!mine.matchesDimension(dimensions[i], varargs)) {
+ // If the method we're matching against is a varargs method (varargs == true), then
+ // only its last parameter is varargs.
+ if (!mine.matchesDimension(dimensions[i], (i == params.length - 1) ? varargs : false)) {
return false;
}
TypeInfo myType = mine.type();
String qualifiedName = myType.qualifiedTypeName();
String realType = myType.isPrimitive() ? "" : myType.asClassInfo().qualifiedName();
String s = params[i];
- int slen = s.length();
- int qnlen = qualifiedName.length();
-
+
// Check for a matching generic name or best known type
if (!matchesType(qualifiedName, s) && !matchesType(realType, s)) {
return false;