This does not look right to me. The JSDoc says that a variable number of arguments is supposed to use "...". This change makes it look iike the annotation is one parameter of any type.
-Alex On 9/7/18, 1:53 AM, "ha...@apache.org" <ha...@apache.org> wrote: This is an automated email from the ASF dual-hosted git repository. harbs pushed a commit to branch develop in repository https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitbox.apache.org%2Frepos%2Fasf%2Froyale-compiler.git&data=02%7C01%7Caharui%40adobe.com%7Cc8681bb5deba4af376ff08d6149f6b1a%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636719072260067582&sdata=G0LAvKmC5NSgeE9diSApKzaibVTZEV9lJTP3bfrSQiE%3D&reserved=0 The following commit(s) were added to refs/heads/develop by this push: new 8b26140 Worked around bug were rest param causes RTE in closure compiler 8b26140 is described below commit 8b2614098265f316670b61d8dfd2e4e1d091fe1b Author: Harbs <ha...@in-tools.com> AuthorDate: Fri Sep 7 11:53:35 2018 +0300 Worked around bug were rest param causes RTE in closure compiler --- .../royale/compiler/internal/codegen/js/goog/JSGoogDocEmitter.java | 2 +- .../compiler/internal/codegen/js/royale/JSRoyaleEmitterTokens.java | 2 +- .../org/apache/royale/compiler/utils/JSClosureCompilerWrapper.java | 3 ++- .../compiler/internal/codegen/js/goog/TestGoogMethodMembers.java | 2 +- .../compiler/internal/codegen/js/royale/TestRoyaleMethodMembers.java | 2 +- 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/goog/JSGoogDocEmitter.java b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/goog/JSGoogDocEmitter.java index 6c94259..63ff931 100644 --- a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/goog/JSGoogDocEmitter.java +++ b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/goog/JSGoogDocEmitter.java @@ -305,7 +305,7 @@ public class JSGoogDocEmitter extends JSDocEmitter implements IJSGoogDocEmitter String paramType = ""; if (node.isRest()) { - paramType = ASEmitterTokens.ELLIPSIS.getToken(); + paramType = "*"; } else { diff --git a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleEmitterTokens.java b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleEmitterTokens.java index dab13d0..8155c0d 100644 --- a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleEmitterTokens.java +++ b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleEmitterTokens.java @@ -46,7 +46,7 @@ public enum JSRoyaleEmitterTokens implements IEmitterTokens IGNORE_IMPORT("@royaleignoreimport"), IGNORE_STRING_COERCION("@royalenoimplicitstringconversion"), SUPPRESS_PUBLIC_VAR_WARNING("@royalesuppresspublicvarwarning"), - DEBUG_COMMENT("@debug"), + DEBUG_COMMENT("@royaledebug"), DEBUG_RETURN("if(!goog.DEBUG)return;"), PREINCREMENT("preincrement"), PREDECREMENT("predecrement"), diff --git a/compiler-jx/src/main/java/org/apache/royale/compiler/utils/JSClosureCompilerWrapper.java b/compiler-jx/src/main/java/org/apache/royale/compiler/utils/JSClosureCompilerWrapper.java index 44f3940..3afd1d3 100644 --- a/compiler-jx/src/main/java/org/apache/royale/compiler/utils/JSClosureCompilerWrapper.java +++ b/compiler-jx/src/main/java/org/apache/royale/compiler/utils/JSClosureCompilerWrapper.java @@ -394,7 +394,8 @@ public class JSClosureCompilerWrapper String[] asdocTags = new String[] {"productversion", "playerversion", "langversion", "copy", "asparam", "asreturn", "asprivate", - "royaleignoreimport", "royaleignorecoercion", "royaleemitcoercion", "royalenoimplicitstringconversion"}; + "royaleignoreimport", "royaleignorecoercion", "royaleemitcoercion", + "royalenoimplicitstringconversion","royaledebug"}; options_.setExtraAnnotationNames(Arrays.asList(asdocTags)); } diff --git a/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/goog/TestGoogMethodMembers.java b/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/goog/TestGoogMethodMembers.java index d297675..18695bf 100644 --- a/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/goog/TestGoogMethodMembers.java +++ b/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/goog/TestGoogMethodMembers.java @@ -94,7 +94,7 @@ public class TestGoogMethodMembers extends TestMethodMembers { IFunctionNode node = getMethod("function foo(bar:String, ...rest):int{\treturn -1;}"); asBlockWalker.visitFunction(node); - assertOut("/**\n * @param {string} bar\n * @param {...} rest\n * @return {number}\n */\nRoyaleTest_A.prototype.foo = function(bar, rest) {\n\tvar self = this;\n\trest = Array.prototype.slice.call(arguments, 1);\n\treturn -1;\n}"); + assertOut("/**\n * @param {string} bar\n * @param {*} rest\n * @return {number}\n */\nRoyaleTest_A.prototype.foo = function(bar, rest) {\n\tvar self = this;\n\trest = Array.prototype.slice.call(arguments, 1);\n\treturn -1;\n}"); } @Override diff --git a/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleMethodMembers.java b/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleMethodMembers.java index f05f4bc..34e38f2 100644 --- a/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleMethodMembers.java +++ b/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleMethodMembers.java @@ -91,7 +91,7 @@ public class TestRoyaleMethodMembers extends TestGoogMethodMembers { IFunctionNode node = getMethod("function foo(bar:String, ...rest):int{ return -1;}"); asBlockWalker.visitFunction(node); - assertOut("/**\n * @param {string} bar\n * @param {...} rest\n * @return {number}\n */\nRoyaleTest_A.prototype.foo = function(bar, rest) {\n rest = Array.prototype.slice.call(arguments, 1);\n return -1;\n}"); + assertOut("/**\n * @param {string} bar\n * @param {*} rest\n * @return {number}\n */\nRoyaleTest_A.prototype.foo = function(bar, rest) {\n rest = Array.prototype.slice.call(arguments, 1);\n return -1;\n}"); } @Override