summaryrefslogtreecommitdiffstats
path: root/src/com/google/doclava/MethodInfo.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/google/doclava/MethodInfo.java')
-rw-r--r--src/com/google/doclava/MethodInfo.java11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/com/google/doclava/MethodInfo.java b/src/com/google/doclava/MethodInfo.java
index f1659f3..cf98d0f 100644
--- a/src/com/google/doclava/MethodInfo.java
+++ b/src/com/google/doclava/MethodInfo.java
@@ -405,7 +405,8 @@ public class MethodInfo extends MemberInfo implements AbstractMethodInfo, Resolv
containingClass(), position()));
}
}
- mThrowsTags = rv.toArray(new ThrowsTagInfo[rv.size()]);
+
+ mThrowsTags = rv.toArray(ThrowsTagInfo.getArray(rv.size()));
}
return mThrowsTags;
}
@@ -424,6 +425,12 @@ public class MethodInfo extends MemberInfo implements AbstractMethodInfo, Resolv
if (mParamTags == null) {
final int N = mParameters.size();
+ if (N == 0) {
+ // Early out for empty case.
+ mParamTags = ParamTagInfo.EMPTY_ARRAY;
+ return ParamTagInfo.EMPTY_ARRAY;
+ }
+
String[] names = new String[N];
String[] comments = new String[N];
SourcePositionInfo[] positions = new SourcePositionInfo[N];
@@ -464,7 +471,7 @@ public class MethodInfo extends MemberInfo implements AbstractMethodInfo, Resolv
}
// construct the results, and cache them for next time
- mParamTags = new ParamTagInfo[N];
+ mParamTags = ParamTagInfo.getArray(N);
for (i = 0; i < N; i++) {
mParamTags[i] =
new ParamTagInfo("@param", "@param", names[i] + " " + comments[i], parent(),