This is an automated email from the ASF dual-hosted git repository.

joshtynjala pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-compiler.git

commit 60fa42b95d0fc64a8911a69800f61b2631b3a78a
Author: Josh Tynjala <[email protected]>
AuthorDate: Tue May 26 14:39:51 2020 -0700

    JSRoyaleDocEmitter: no export annotation for closure on package-level 
variables and functions
---
 .../compiler/internal/codegen/js/royale/JSRoyaleDocEmitter.java  | 4 ++++
 .../compiler/internal/codegen/js/royale/TestRoyalePackage.java   | 9 ++++-----
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleDocEmitter.java
 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleDocEmitter.java
index ad57c68..37d38f8 100644
--- 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleDocEmitter.java
+++ 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleDocEmitter.java
@@ -31,7 +31,9 @@ import 
org.apache.royale.compiler.constants.IASLanguageConstants;
 import org.apache.royale.compiler.definitions.IClassDefinition;
 import org.apache.royale.compiler.definitions.IDefinition;
 import org.apache.royale.compiler.definitions.IFunctionDefinition;
+import 
org.apache.royale.compiler.definitions.IFunctionDefinition.FunctionClassification;
 import org.apache.royale.compiler.definitions.ITypeDefinition;
+import 
org.apache.royale.compiler.definitions.IVariableDefinition.VariableClassification;
 import org.apache.royale.compiler.definitions.references.IReference;
 import org.apache.royale.compiler.internal.codegen.as.ASEmitterTokens;
 import org.apache.royale.compiler.internal.codegen.js.JSEmitterTokens;
@@ -145,6 +147,7 @@ public class JSRoyaleDocEmitter extends JSGoogDocEmitter
             emitExports = !suppressExports;
             exportProtected = false;
         }
+        emitExports = emitExports && 
!node.getFunctionClassification().equals(FunctionClassification.PACKAGE_MEMBER);
         
         coercionList = null;
         ignoreList = null;
@@ -564,6 +567,7 @@ public class JSRoyaleDocEmitter extends JSGoogDocEmitter
             emitExports = !suppressExports;
             exportProtected = false;
         }
+        emitExports = emitExports && 
!node.getVariableClassification().equals(VariableClassification.PACKAGE_MEMBER);
 
         begin();
 
diff --git 
a/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyalePackage.java
 
b/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyalePackage.java
index 08c748d..dfb6c30 100644
--- 
a/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyalePackage.java
+++ 
b/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyalePackage.java
@@ -1133,7 +1133,6 @@ public class TestRoyalePackage extends TestGoogPackage
                                "\n" +
                                "\n" +
                                "/**\n" +
-                               " * @export\n" +
                                " * @return {number}\n" +
                                " */\n" +
                                "foo.bar.A = function() {\n" +
@@ -1193,7 +1192,7 @@ public class TestRoyalePackage extends TestGoogPackage
        {
                IFileNode node = compileAS("package {public function A(){}}");
                asBlockWalker.visitFile(node);
-               assertOutWithMetadata("/**\n * A\n *\n * @fileoverview\n *\n * 
@suppress {checkTypes|accessControls}\n */\n\ngoog.provide('A');\n\n\n\n/**\n * 
@export\n */\nA = function() {\n}");
+               assertOutWithMetadata("/**\n * A\n *\n * @fileoverview\n *\n * 
@suppress {checkTypes|accessControls}\n */\n\ngoog.provide('A');\n\n\n\n/**\n 
*/\nA = function() {\n}");
        }
 
        @Test
@@ -1201,7 +1200,7 @@ public class TestRoyalePackage extends TestGoogPackage
        {
                IFileNode node = compileAS("package foo.bar.baz {public 
function A(){}}");
                asBlockWalker.visitFile(node);
-               assertOutWithMetadata("/**\n * foo.bar.baz.A\n *\n * 
@fileoverview\n *\n * @suppress {checkTypes|accessControls}\n 
*/\n\ngoog.provide('foo.bar.baz.A');\n\n\n\n/**\n * @export\n */\nfoo.bar.baz.A 
= function() {\n}");
+               assertOutWithMetadata("/**\n * foo.bar.baz.A\n *\n * 
@fileoverview\n *\n * @suppress {checkTypes|accessControls}\n 
*/\n\ngoog.provide('foo.bar.baz.A');\n\n\n\n/**\n */\nfoo.bar.baz.A = 
function() {\n}");
        }
 
        @Test
@@ -1209,7 +1208,7 @@ public class TestRoyalePackage extends TestGoogPackage
        {
                IFileNode node = compileAS("package {public var A:String = 
\"Hello\";}");
                asBlockWalker.visitFile(node);
-               assertOutWithMetadata("/**\n * A\n *\n * @fileoverview\n *\n * 
@suppress {checkTypes|accessControls}\n */\n\ngoog.provide('A');\n\n\n\n/**\n * 
@export\n * @type {string}\n */\nA = \"Hello\"");
+               assertOutWithMetadata("/**\n * A\n *\n * @fileoverview\n *\n * 
@suppress {checkTypes|accessControls}\n */\n\ngoog.provide('A');\n\n\n\n/**\n * 
@type {string}\n */\nA = \"Hello\"");
        }
 
        @Test
@@ -1217,7 +1216,7 @@ public class TestRoyalePackage extends TestGoogPackage
        {
                IFileNode node = compileAS("package foo.bar.baz {public var 
A:String = \"Hello\";}");
                asBlockWalker.visitFile(node);
-               assertOutWithMetadata("/**\n * foo.bar.baz.A\n *\n * 
@fileoverview\n *\n * @suppress {checkTypes|accessControls}\n 
*/\n\ngoog.provide('foo.bar.baz.A');\n\n\n\n/**\n * @export\n * @type 
{string}\n */\nfoo.bar.baz.A = \"Hello\"");
+               assertOutWithMetadata("/**\n * foo.bar.baz.A\n *\n * 
@fileoverview\n *\n * @suppress {checkTypes|accessControls}\n 
*/\n\ngoog.provide('foo.bar.baz.A');\n\n\n\n/**\n * @type {string}\n 
*/\nfoo.bar.baz.A = \"Hello\"");
        }
     
     @Override

Reply via email to