This is an automated email from the ASF dual-hosted git repository.
harbs pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-compiler.git
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 <[email protected]>
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