ClosureUtils: dynamically export custom (non-language) namespace methods in release builds instead of using export annotation in emitter
This works the same as public/protected/internal methods, as already implemented previous commits. Just expanding it to more symbols.
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 fb4188f..6e403d3 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
@@ -134,31 +134,11 @@
{
RoyaleJSProject fjp = (RoyaleJSProject)project;
boolean keepASDoc = fjp.config != null && fjp.config.getKeepASDoc();
- boolean suppressExports = false;
- if (emitter instanceof JSRoyaleEmitter) {
- suppressExports = ((JSRoyaleEmitter) emitter).getModel().suppressExports;
- }
- //exporting is handled dynamically in ClosureUtils
+
+ //exporting methods is handled dynamically in ClosureUtils
+ emitExports = false;
exportProtected = false;
exportInternal = false;
- if (fjp.config != null)
- {
- emitExports = !suppressExports && fjp.config.getExportPublicSymbols();
- }
- else
- {
- emitExports = !suppressExports;
- }
- if (node.getAncestorOfType(IClassNode.class) != null)
- {
- // export custom namespaces (for now), but not public on a class
- emitExports = emitExports && !IASKeywordConstants.PUBLIC.equals(node.getNamespace());
- }
- else
- {
- // don't export public methods on an interface or a package-level function
- emitExports = false;
- }
coercionList = null;
ignoreList = null;
diff --git a/compiler-jx/src/main/java/org/apache/royale/compiler/utils/ClosureUtils.java b/compiler-jx/src/main/java/org/apache/royale/compiler/utils/ClosureUtils.java
index 8a11ee8..3c47b35 100644
--- a/compiler-jx/src/main/java/org/apache/royale/compiler/utils/ClosureUtils.java
+++ b/compiler-jx/src/main/java/org/apache/royale/compiler/utils/ClosureUtils.java
@@ -32,6 +32,7 @@
import org.apache.royale.compiler.definitions.IVariableDefinition;
import org.apache.royale.compiler.definitions.IVariableDefinition.VariableClassification;
import org.apache.royale.compiler.definitions.references.INamespaceReference;
+import org.apache.royale.compiler.internal.codegen.js.royale.JSRoyaleEmitter;
import org.apache.royale.compiler.internal.codegen.js.utils.DocEmitterUtils;
import org.apache.royale.compiler.internal.projects.RoyaleJSProject;
import org.apache.royale.compiler.scopes.IASScope;
@@ -92,13 +93,17 @@
{
continue;
}
+ INamespaceReference nsRef = localDef.getNamespaceReference();
+ boolean isCustomNS = !nsRef.isLanguageNamespace();
if ((localDef.isPublic() && preventRenamePublic)
+ || (isCustomNS && preventRenamePublic)
|| (localDef.isProtected() && preventRenameProtected)
|| (localDef.isInternal() && preventRenameInternal))
{
if (localDef instanceof IAccessorDefinition)
{
if ((localDef.isPublic() && exportPublic)
+ || (isCustomNS && exportPublic)
|| (localDef.isProtected() && exportProtected)
|| (localDef.isInternal() && exportInternal))
{
@@ -108,6 +113,11 @@
continue;
}
}
+ if (isCustomNS)
+ {
+ String uri = nsRef.resolveNamespaceReference(project).getURI();
+ result.add(JSRoyaleEmitter.formatNamespacedProperty(uri, localDef.getBaseName(), false));
+ }
result.add(localDef.getBaseName());
}
}
@@ -185,23 +195,28 @@
continue;
}
if (localDef instanceof IFunctionDefinition
- && !(localDef instanceof IAccessorDefinition)
- // the next condition is temporary, and more
- // symbols will be exported in the future
- && localDef.getNamespaceReference().isLanguageNamespace())
+ && !(localDef instanceof IAccessorDefinition))
{
+ INamespaceReference nsRef = localDef.getNamespaceReference();
+ boolean isCustomNS = !nsRef.isLanguageNamespace();
if ((localDef.isPublic() && exportPublic)
- || (!localDef.getNamespaceReference().isLanguageNamespace() && exportPublic)
+ || (isCustomNS && exportPublic)
|| (localDef.isProtected() && exportProtected)
|| (localDef.isInternal() && exportInternal))
{
+ String baseName = localDef.getBaseName();
+ if (isCustomNS)
+ {
+ String uri = nsRef.resolveNamespaceReference(project).getURI();
+ baseName = JSRoyaleEmitter.formatNamespacedProperty(uri, localDef.getBaseName(), false);
+ }
if (isFilePrivate)
{
- filePrivateNames.add(qualifiedName + (localDef.isStatic() ? "." : ".prototype.") + localDef.getBaseName());
+ filePrivateNames.add(qualifiedName + (localDef.isStatic() ? "." : ".prototype.") + baseName);
}
else
{
- symbolsResult.add(qualifiedName + (localDef.isStatic() ? "." : ".prototype.") + localDef.getBaseName());
+ symbolsResult.add(qualifiedName + (localDef.isStatic() ? "." : ".prototype.") + baseName);
}
}
}
diff --git a/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleClass.java b/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleClass.java
index 1a0b517..88f7032 100644
--- a/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleClass.java
+++ b/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleClass.java
@@ -279,7 +279,7 @@
{
IClassNode node = getClassNode("import custom.custom_namespace; use namespace custom_namespace; public class B {public function B() {}; custom_namespace function foo():void {};}");
asBlockWalker.visitClass(node);
- String expected = "/**\n * @constructor\n */\norg.apache.royale.B = function() {\n};\n\n\n/**\n * @export\n */\norg.apache.royale.B.prototype.http_$$ns_apache_org$2017$custom$namespace__foo = function() {\n};";
+ String expected = "/**\n * @constructor\n */\norg.apache.royale.B = function() {\n};\n\n\n/**\n */\norg.apache.royale.B.prototype.http_$$ns_apache_org$2017$custom$namespace__foo = function() {\n};";
assertOut(expected);
}
@@ -707,7 +707,7 @@
+ "public static function foo7(value:Object):void{}"
+ "custom_namespace static function foo7(value:Object):void{}" + "}");
asBlockWalker.visitClass(node);
- assertOut("/**\n * @constructor\n */\norg.apache.royale.A = function() {\n};\n\n\n/**\n * @return {Object}\n */\norg.apache.royale.A.prototype.foo1 = function() {\n return null;\n};\n\n\n/**\n * @return {Object}\n */\norg.apache.royale.A.prototype.foo1a = function() {\n return null;\n};\n\n\n/**\n * @override\n */\norg.apache.royale.A.prototype.foo1b = function() {\n return org.apache.royale.A.superClass_.foo1b.apply(this);\n};\n\n\n/**\n * @protected\n * @param {Object} value\n */\norg.apache.royale.A.prototype.foo2 = function(value) {\n};\n\n\n/**\n * @private\n * @param {Object} value\n */\norg.apache.royale.A.prototype.foo3 = function(value) {\n};\n\n\n/**\n * @package\n * @param {Object} value\n */\norg.apache.royale.A.prototype.foo5 = function(value) {\n};\n\n\n/**\n * @export\n * @param {Object} value\n */\norg.apache.royale.A.prototype.http_$$ns_apache_org$2017$custom$namespace__foo6 = function(value) {\n};\n\n\n/**\n * @nocollapse\n * @param {Object} value\n */\norg.apache.royale.A.foo7 = function(value) {\n};\n\n\n/**\n * @export\n * @nocollapse\n * @param {Object} value\n */\norg.apache.royale.A.http_$$ns_apache_org$2017$custom$namespace__foo7 = function(value) {\n};");
+ assertOut("/**\n * @constructor\n */\norg.apache.royale.A = function() {\n};\n\n\n/**\n * @return {Object}\n */\norg.apache.royale.A.prototype.foo1 = function() {\n return null;\n};\n\n\n/**\n * @return {Object}\n */\norg.apache.royale.A.prototype.foo1a = function() {\n return null;\n};\n\n\n/**\n * @override\n */\norg.apache.royale.A.prototype.foo1b = function() {\n return org.apache.royale.A.superClass_.foo1b.apply(this);\n};\n\n\n/**\n * @protected\n * @param {Object} value\n */\norg.apache.royale.A.prototype.foo2 = function(value) {\n};\n\n\n/**\n * @private\n * @param {Object} value\n */\norg.apache.royale.A.prototype.foo3 = function(value) {\n};\n\n\n/**\n * @package\n * @param {Object} value\n */\norg.apache.royale.A.prototype.foo5 = function(value) {\n};\n\n\n/**\n * @param {Object} value\n */\norg.apache.royale.A.prototype.http_$$ns_apache_org$2017$custom$namespace__foo6 = function(value) {\n};\n\n\n/**\n * @nocollapse\n * @param {Object} value\n */\norg.apache.royale.A.foo7 = function(value) {\n};\n\n\n/**\n * @nocollapse\n * @param {Object} value\n */\norg.apache.royale.A.http_$$ns_apache_org$2017$custom$namespace__foo7 = function(value) {\n};");
}
@Test
diff --git a/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleEmitter.java b/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleEmitter.java
index e13125d..67dc6e1 100644
--- a/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleEmitter.java
+++ b/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleEmitter.java
@@ -317,7 +317,7 @@
{
IFunctionNode node = getMethodWithPackage("function method1(p1:Number, p2:Number, p3:Number = 3, p4:Number = 4):Number{return p1 + p2 + p3 + p4;}");
asBlockWalker.visitFunction(node);
- assertOut("/**\n * @export\n * @param {number} p1\n * @param {number} p2\n * @param {number=} p3\n * @param {number=} p4\n * @return {number}\n */\n"
+ assertOut("/**\n * @param {number} p1\n * @param {number} p2\n * @param {number=} p3\n * @param {number=} p4\n * @return {number}\n */\n"
+ "foo.bar.RoyaleTest_A.prototype.method1 = function(p1, p2, p3, p4) {\n"
+ " p3 = typeof p3 !== 'undefined' ? p3 : 3;\n"
+ " p4 = typeof p4 !== 'undefined' ? p4 : 4;\n"
@@ -330,7 +330,7 @@
{
IFunctionNode node = getMethodWithPackage("function method1(bar:int = 42, bax:int = 4):void{if (a) foo();}");
asBlockWalker.visitFunction(node);
- assertOut("/**\n * @export\n * @param {number=} bar\n * @param {number=} bax\n */\n"
+ assertOut("/**\n * @param {number=} bar\n * @param {number=} bax\n */\n"
+ "foo.bar.RoyaleTest_A.prototype.method1 = function(bar, bax) {\n"
+ " bar = typeof bar !== 'undefined' ? bar : 42;\n"
+ " bax = typeof bax !== 'undefined' ? bax : 4;\n"
@@ -343,7 +343,7 @@
{
IFunctionNode node = getMethodWithPackage("function method1(p1:int, p2:int, p3:int = 3, p4:int = 4):int{}");
asBlockWalker.visitFunction(node);
- assertOut("/**\n * @export\n * @param {number} p1\n * @param {number} p2\n * @param {number=} p3\n * @param {number=} p4\n * @return {number}\n */\n"
+ assertOut("/**\n * @param {number} p1\n * @param {number} p2\n * @param {number=} p3\n * @param {number=} p4\n * @return {number}\n */\n"
+ "foo.bar.RoyaleTest_A.prototype.method1 = function(p1, p2, p3, p4) {\n"
+ " p3 = typeof p3 !== 'undefined' ? p3 : 3;\n"
+ " p4 = typeof p4 !== 'undefined' ? p4 : 4;\n}");
@@ -355,7 +355,7 @@
{
IFunctionNode node = getMethodWithPackage("function method1(bar:int):int{\n}");
asBlockWalker.visitFunction(node);
- assertOut("/**\n * @export\n * @param {number} bar\n * @return {number}\n */\n"
+ assertOut("/**\n * @param {number} bar\n * @return {number}\n */\n"
+ "foo.bar.RoyaleTest_A.prototype.method1 = function(bar) {\n}");
}
@@ -365,7 +365,7 @@
{
IFunctionNode node = getMethodWithPackage("function method1(bar:int, baz:String, goo:Array):void{\n}");
asBlockWalker.visitFunction(node);
- assertOut("/**\n * @export\n * @param {number} bar\n * @param {string} baz\n * @param {Array} goo\n */\n"
+ assertOut("/**\n * @param {number} bar\n * @param {string} baz\n * @param {Array} goo\n */\n"
+ "foo.bar.RoyaleTest_A.prototype.method1 = function(bar, baz, goo) {\n}");
}
@@ -375,7 +375,7 @@
{
IFunctionNode node = getMethodWithPackage("/**\n * This is copied from ASDoc.\n */\nfunction method1(bar:int, baz:String, goo:Array):void{\n}");
asBlockWalker.visitFunction(node);
- assertOut("/**\n * This is copied from ASDoc.\n * @export\n * @param {number} bar\n * @param {string} baz\n * @param {Array} goo\n */\n"
+ assertOut("/**\n * This is copied from ASDoc.\n * @param {number} bar\n * @param {string} baz\n * @param {Array} goo\n */\n"
+ "foo.bar.RoyaleTest_A.prototype.method1 = function(bar, baz, goo) {\n}");
}
@@ -384,7 +384,7 @@
{
IFunctionNode node = getMethodWithPackage("/** This is copied from ASDoc. */\nfunction method1(bar:int, baz:String, goo:Array):void{\n}");
asBlockWalker.visitFunction(node);
- assertOut("/** This is copied from ASDoc. \n * @export\n * @param {number} bar\n * @param {string} baz\n * @param {Array} goo\n */\n"
+ assertOut("/** This is copied from ASDoc. \n * @param {number} bar\n * @param {string} baz\n * @param {Array} goo\n */\n"
+ "foo.bar.RoyaleTest_A.prototype.method1 = function(bar, baz, goo) {\n}");
}
diff --git a/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleExpressions.java b/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleExpressions.java
index 57fa528..39a1bac 100644
--- a/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleExpressions.java
+++ b/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleExpressions.java
@@ -153,7 +153,7 @@
IFunctionNode node = (IFunctionNode)getNode("import custom.TestProxy;import custom.custom_namespace;use namespace custom_namespace;public class RoyaleTest_A extends TestProxy { custom_namespace function foo(){if (a) super.setProperty(a, b);}}",
IFunctionNode.class, WRAP_LEVEL_PACKAGE);
asBlockWalker.visitFunction(node);
- assertOut("/**\n * @export\n */\nRoyaleTest_A.prototype.http_$$ns_apache_org$2017$custom$namespace__foo = function() {\n if (a)\n RoyaleTest_A.superClass_.http_$$ns_apache_org$2017$custom$namespace__setProperty.apply(this, [ a, b] );\n}");
+ assertOut("/**\n */\nRoyaleTest_A.prototype.http_$$ns_apache_org$2017$custom$namespace__foo = function() {\n if (a)\n RoyaleTest_A.superClass_.http_$$ns_apache_org$2017$custom$namespace__setProperty.apply(this, [ a, b] );\n}");
}
@Test
@@ -1172,7 +1172,7 @@
"import custom.custom_namespace; use namespace custom_namespace;public class B {custom_namespace function b() { function c(f:Function):void {}; c(b); }}",
IFunctionNode.class, WRAP_LEVEL_PACKAGE);
asBlockWalker.visitFunction(node);
- assertOut("/**\n * @export\n */\nB.prototype.http_$$ns_apache_org$2017$custom$namespace__b = function() {\n var self = this;\n function c(f) {\n };\n c(org.apache.royale.utils.Language.closure(this.http_$$ns_apache_org$2017$custom$namespace__b, this, 'http://ns.apache.org/2017/custom/namespace::b'));\n}");
+ assertOut("/**\n */\nB.prototype.http_$$ns_apache_org$2017$custom$namespace__b = function() {\n var self = this;\n function c(f) {\n };\n c(org.apache.royale.utils.Language.closure(this.http_$$ns_apache_org$2017$custom$namespace__b, this, 'http://ns.apache.org/2017/custom/namespace::b'));\n}");
}
@Test
@@ -1182,7 +1182,7 @@
"import custom.custom_namespace;public class B {custom_namespace function b() { function c(f:Function):void {}; c(custom_namespace::b); }}",
IFunctionNode.class, WRAP_LEVEL_PACKAGE);
asBlockWalker.visitFunction(node);
- assertOut("/**\n * @export\n */\nB.prototype.http_$$ns_apache_org$2017$custom$namespace__b = function() {\n var self = this;\n function c(f) {\n };\n c(org.apache.royale.utils.Language.closure(this.http_$$ns_apache_org$2017$custom$namespace__b, this, 'http://ns.apache.org/2017/custom/namespace::b'));\n}");
+ assertOut("/**\n */\nB.prototype.http_$$ns_apache_org$2017$custom$namespace__b = function() {\n var self = this;\n function c(f) {\n };\n c(org.apache.royale.utils.Language.closure(this.http_$$ns_apache_org$2017$custom$namespace__b, this, 'http://ns.apache.org/2017/custom/namespace::b'));\n}");
}
@Test
@@ -1192,7 +1192,7 @@
"import custom.custom_namespace; use namespace custom_namespace;public class B {custom_namespace function b() { function c(f:Function):void {}; var f:Function = b; c(f); }}",
IFunctionNode.class, WRAP_LEVEL_PACKAGE);
asBlockWalker.visitFunction(node);
- assertOut("/**\n * @export\n */\nB.prototype.http_$$ns_apache_org$2017$custom$namespace__b = function() {\n var self = this;\n function c(f) {\n };\n var /** @type {Function} */ f = org.apache.royale.utils.Language.closure(this.http_$$ns_apache_org$2017$custom$namespace__b, this, 'http://ns.apache.org/2017/custom/namespace::b');\n c(f);\n}");
+ assertOut("/**\n */\nB.prototype.http_$$ns_apache_org$2017$custom$namespace__b = function() {\n var self = this;\n function c(f) {\n };\n var /** @type {Function} */ f = org.apache.royale.utils.Language.closure(this.http_$$ns_apache_org$2017$custom$namespace__b, this, 'http://ns.apache.org/2017/custom/namespace::b');\n c(f);\n}");
}
@Test
@@ -1202,7 +1202,7 @@
"import custom.custom_namespace;;public class B {custom_namespace function b() { function c(f:Function):void {}; var f:Function = this.custom_namespace::b; c(f); }}",
IFunctionNode.class, WRAP_LEVEL_PACKAGE);
asBlockWalker.visitFunction(node);
- assertOut("/**\n * @export\n */\nB.prototype.http_$$ns_apache_org$2017$custom$namespace__b = function() {\n var self = this;\n function c(f) {\n };\n var /** @type {Function} */ f = org.apache.royale.utils.Language.closure(this[new QName(custom.custom_namespace, 'b').objectAccessFormat()], this, 'http://ns.apache.org/2017/custom/namespace::b');\n c(f);\n}");
+ assertOut("/**\n */\nB.prototype.http_$$ns_apache_org$2017$custom$namespace__b = function() {\n var self = this;\n function c(f) {\n };\n var /** @type {Function} */ f = org.apache.royale.utils.Language.closure(this[new QName(custom.custom_namespace, 'b').objectAccessFormat()], this, 'http://ns.apache.org/2017/custom/namespace::b');\n c(f);\n}");
}
@Test
@@ -1212,7 +1212,7 @@
"import custom.custom_namespace; use namespace custom_namespace;public class B {custom_namespace function b():int { return this.b(); }}",
IFunctionNode.class, WRAP_LEVEL_PACKAGE);
asBlockWalker.visitFunction(node);
- assertOut("/**\n * @export\n * @return {number}\n */\nB.prototype.http_$$ns_apache_org$2017$custom$namespace__b = function() {\n return this.http_$$ns_apache_org$2017$custom$namespace__b();\n}");
+ assertOut("/**\n * @return {number}\n */\nB.prototype.http_$$ns_apache_org$2017$custom$namespace__b = function() {\n return this.http_$$ns_apache_org$2017$custom$namespace__b();\n}");
}
@Test
@@ -1383,7 +1383,7 @@
"import custom.custom_namespace; public class B {custom_namespace function b() { custom_namespace::b(); }}",
IFunctionNode.class, WRAP_LEVEL_PACKAGE, true);
asBlockWalker.visitFunction(node);
- assertOut("/**\n * @export\n */\nfoo.bar.B.prototype.http_$$ns_apache_org$2017$custom$namespace__b = function() {\n this.http_$$ns_apache_org$2017$custom$namespace__b();\n}");
+ assertOut("/**\n */\nfoo.bar.B.prototype.http_$$ns_apache_org$2017$custom$namespace__b = function() {\n this.http_$$ns_apache_org$2017$custom$namespace__b();\n}");
}
@Test
@@ -1401,7 +1401,7 @@
{
IFunctionNode node = getMethod("function foo(b:Boolean):Boolean {var c:String = null; var d:String = null; if (!(b ? c : d)) { return b;}}");
asBlockWalker.visitFunction(node);
- assertOut("/**\n * @export\n * @param {boolean} b\n * @return {boolean}\n */\nRoyaleTest_A.prototype.foo = function(b) {\n var /** @type {string} */ c = null;\n var /** @type {string} */ d = null;\n if (!(b ? c : d)) {\n return b;\n }\n}");
+ assertOut("/**\n * @param {boolean} b\n * @return {boolean}\n */\nRoyaleTest_A.prototype.foo = function(b) {\n var /** @type {string} */ c = null;\n var /** @type {string} */ d = null;\n if (!(b ? c : d)) {\n return b;\n }\n}");
}
@Override
diff --git a/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleFieldMembers.java b/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleFieldMembers.java
index ecf5b36..c715e9d 100644
--- a/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleFieldMembers.java
+++ b/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/js/royale/TestRoyaleFieldMembers.java
@@ -210,7 +210,7 @@
IClassNode node = (IClassNode) getNode("import custom.custom_namespace;use namespace custom_namespace;public static var foo:Object = initFoo(); custom_namespace static function initFoo():Object { return null; }",
IClassNode.class, WRAP_LEVEL_CLASS);
asBlockWalker.visitClass(node);
- assertOut("/**\n * @constructor\n */\nRoyaleTest_A = function() {\n};\n\n\n/**\n * @export\n * @type {Object}\n */\nRoyaleTest_A.foo;\n\n\n/**\n * @export\n * @return {Object}\n */\nRoyaleTest_A.http_$$ns_apache_org$2017$custom$namespace__initFoo = function() {\n return null;\n};\n\nRoyaleTest_A.foo = RoyaleTest_A.http_$$ns_apache_org$2017$custom$namespace__initFoo();\n\n");
+ assertOut("/**\n * @constructor\n */\nRoyaleTest_A = function() {\n};\n\n\n/**\n * @export\n * @type {Object}\n */\nRoyaleTest_A.foo;\n\n\n/**\n * @return {Object}\n */\nRoyaleTest_A.http_$$ns_apache_org$2017$custom$namespace__initFoo = function() {\n return null;\n};\n\nRoyaleTest_A.foo = RoyaleTest_A.http_$$ns_apache_org$2017$custom$namespace__initFoo();\n\n");
}
@Test
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 e92b5a9..1aff0c2 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
@@ -38,7 +38,7 @@
{
IFunctionNode node = getMethod("function foo():int{ return -1;}");
asBlockWalker.visitFunction(node);
- assertOut("/**\n * @export\n * @return {number}\n */\nRoyaleTest_A.prototype.foo = function() {\n return -1;\n}");
+ assertOut("/**\n * @return {number}\n */\nRoyaleTest_A.prototype.foo = function() {\n return -1;\n}");
}
@Override
@@ -47,7 +47,7 @@
{
IFunctionNode node = getMethod("function foo(bar):int{ return -1;}");
asBlockWalker.visitFunction(node);
- assertOut("/**\n * @export\n * @param {*} bar\n * @return {number}\n */\nRoyaleTest_A.prototype.foo = function(bar) {\n return -1;\n}");
+ assertOut("/**\n * @param {*} bar\n * @return {number}\n */\nRoyaleTest_A.prototype.foo = function(bar) {\n return -1;\n}");
}
@Override
@@ -56,7 +56,7 @@
{
IFunctionNode node = getMethod("function foo(bar:String):int{ return -1;}");
asBlockWalker.visitFunction(node);
- assertOut("/**\n * @export\n * @param {string} bar\n * @return {number}\n */\nRoyaleTest_A.prototype.foo = function(bar) {\n return -1;\n}");
+ assertOut("/**\n * @param {string} bar\n * @return {number}\n */\nRoyaleTest_A.prototype.foo = function(bar) {\n return -1;\n}");
}
@Override
@@ -65,7 +65,7 @@
{
IFunctionNode node = getMethod("function foo(bar:String = \"baz\"):int{ return -1;}");
asBlockWalker.visitFunction(node);
- assertOut("/**\n * @export\n * @param {string=} bar\n * @return {number}\n */\nRoyaleTest_A.prototype.foo = function(bar) {\n bar = typeof bar !== 'undefined' ? bar : \"baz\";\n return -1;\n}");
+ assertOut("/**\n * @param {string=} bar\n * @return {number}\n */\nRoyaleTest_A.prototype.foo = function(bar) {\n bar = typeof bar !== 'undefined' ? bar : \"baz\";\n return -1;\n}");
}
@Override
@@ -74,7 +74,7 @@
{
IFunctionNode node = getMethod("function foo(bar:String, baz:int = null):int{ return -1;}");
asBlockWalker.visitFunction(node);
- assertOut("/**\n * @export\n * @param {string} bar\n * @param {number=} baz\n * @return {number}\n */\nRoyaleTest_A.prototype.foo = function(bar, baz) {\n baz = typeof baz !== 'undefined' ? baz : null;\n return -1;\n}");
+ assertOut("/**\n * @param {string} bar\n * @param {number=} baz\n * @return {number}\n */\nRoyaleTest_A.prototype.foo = function(bar, baz) {\n baz = typeof baz !== 'undefined' ? baz : null;\n return -1;\n}");
}
@Test
@@ -82,7 +82,7 @@
{
IFunctionNode node = getMethodWithPackage("static const BAR:String = 'bar'; function foo(bar:String = RoyaleTest_A.BAR):int{ return -1;}");
asBlockWalker.visitFunction(node);
- assertOut("/**\n * @export\n * @param {string=} bar\n * @return {number}\n */\nfoo.bar.RoyaleTest_A.prototype.foo = function(bar) {\n bar = typeof bar !== 'undefined' ? bar : foo.bar.RoyaleTest_A.BAR;\n return -1;\n}");
+ assertOut("/**\n * @param {string=} bar\n * @return {number}\n */\nfoo.bar.RoyaleTest_A.prototype.foo = function(bar) {\n bar = typeof bar !== 'undefined' ? bar : foo.bar.RoyaleTest_A.BAR;\n return -1;\n}");
}
@Override
@@ -91,7 +91,7 @@
{
IFunctionNode node = getMethod("function foo(bar:String, ...rest):int{ return -1;}");
asBlockWalker.visitFunction(node);
- assertOut("/**\n * @export\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
@@ -100,7 +100,7 @@
{
IFunctionNode node = getMethod("import custom.custom_namespace;custom_namespace function foo(bar:String, baz:int = null):int{ return -1;}");
asBlockWalker.visitFunction(node);
- assertOut("/**\n * @export\n * @param {string} bar\n * @param {number=} baz\n * @return {number}\n */\nRoyaleTest_A.prototype.http_$$ns_apache_org$2017$custom$namespace__foo = function(bar, baz) {\n baz = typeof baz !== 'undefined' ? baz : null;\n return -1;\n}");
+ assertOut("/**\n * @param {string} bar\n * @param {number=} baz\n * @return {number}\n */\nRoyaleTest_A.prototype.http_$$ns_apache_org$2017$custom$namespace__foo = function(bar, baz) {\n baz = typeof baz !== 'undefined' ? baz : null;\n return -1;\n}");
}
//--------------------------------------------------------------------------