summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Brazdil <dbrazdil@google.com>2018-04-06 14:02:36 +0100
committerDavid Brazdil <dbrazdil@google.com>2018-04-10 21:44:50 +0000
commitc8ed5b70eaf7ad1f41009093bccb7a4b92e445ee (patch)
tree03e5b8623fbb48318a53f1c26b0c84769ca05b59
parent6a7e107ad0c958687c4e80ef332f9ed999f50eb5 (diff)
downloaddoclava-c8ed5b70eaf7ad1f41009093bccb7a4b92e445ee.tar.gz
Fix dex signatures of methods with varargs
Doclava implicitly adds an extra dimension to the last parameter of vararg methods. Generation of dex signatures assumed this was not the case. Fix the problem. Bug: 64382372 Test: inspect private-dex.txt, search for: Ljava/lang/invoke/VarHandle;->get-> ([Ljava/lang/Object;)Ljava/lang/Object; Change-Id: I99311b4603d2992e4c9f8b19b6d60cea3b42bed3
-rw-r--r--src/com/google/doclava/Stubs.java6
1 files changed, 1 insertions, 5 deletions
diff --git a/src/com/google/doclava/Stubs.java b/src/com/google/doclava/Stubs.java
index 3d260ea..cba0992 100644
--- a/src/com/google/doclava/Stubs.java
+++ b/src/com/google/doclava/Stubs.java
@@ -1774,11 +1774,7 @@ public class Stubs {
ArrayList<ParameterInfo> params) {
apiWriter.print("(");
for (ParameterInfo pi : params) {
- String typeName = pi.type().dexName();
- if (method.isVarArgs() && pi == params.get(params.size() - 1)) {
- typeName += "[]";
- }
- apiWriter.print(toSlashFormat(typeName));
+ apiWriter.print(toSlashFormat(pi.type().dexName()));
}
apiWriter.print(")");
}