diff options
author | David Brazdil <dbrazdil@google.com> | 2018-04-06 14:02:36 +0100 |
---|---|---|
committer | David Brazdil <dbrazdil@google.com> | 2018-04-10 21:44:50 +0000 |
commit | c8ed5b70eaf7ad1f41009093bccb7a4b92e445ee (patch) | |
tree | 03e5b8623fbb48318a53f1c26b0c84769ca05b59 | |
parent | 6a7e107ad0c958687c4e80ef332f9ed999f50eb5 (diff) | |
download | doclava-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.java | 6 |
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(")"); } |