static accessors are now accessed via class['someStaticProperty'] instead of 
class.someStaticProperty


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/ecd8e1cf
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/ecd8e1cf
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/ecd8e1cf

Branch: refs/heads/feature-autobuild/maven-archetypes
Commit: ecd8e1cf2d0247277186433f064e636c8266eb45
Parents: 3861128
Author: Alex Harui <aha...@apache.org>
Authored: Wed Oct 5 10:55:55 2016 -0700
Committer: Alex Harui <aha...@apache.org>
Committed: Thu Oct 6 21:22:02 2016 -0700

----------------------------------------------------------------------
 .../internal/codegen/js/jx/AccessorEmitter.java  |  6 +-----
 .../internal/codegen/js/jx/BindableEmitter.java  | 19 +++----------------
 .../codegen/js/jx/IdentifierEmitter.java         | 13 +++++++++++--
 .../js/flexjs/TestFlexJSAccessorMembers.java     |  4 ++--
 .../codegen/js/flexjs/TestFlexJSExpressions.java | 10 +++++-----
 5 files changed, 22 insertions(+), 30 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/ecd8e1cf/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/AccessorEmitter.java
----------------------------------------------------------------------
diff --git 
a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/AccessorEmitter.java
 
b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/AccessorEmitter.java
index de8e86b..0b82abb 100644
--- 
a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/AccessorEmitter.java
+++ 
b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/AccessorEmitter.java
@@ -438,11 +438,7 @@ public class AccessorEmitter extends JSSubEmitter 
implements
                         propName);
                 IGetterNode getterNode = p.getter;
                 ISetterNode setterNode = p.setter;
-                // @expose is supposed to be deprecated, so this isn't ideal,
-                // but @export and/or @nocollapse were not working in a release
-                // build with ADVANCED_OPTIMIZATIONS, so I don't know what else
-                // to do. maybe it's a bug in closure compiler... -JT
-                writeNewline("/** @expose */");
+                writeNewline("/** @export */");
                 write(propName);
                 write(ASEmitterTokens.COLON);
                 write(ASEmitterTokens.SPACE);

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/ecd8e1cf/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/BindableEmitter.java
----------------------------------------------------------------------
diff --git 
a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/BindableEmitter.java
 
b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/BindableEmitter.java
index 8625733..8f26835 100644
--- 
a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/BindableEmitter.java
+++ 
b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/BindableEmitter.java
@@ -279,11 +279,7 @@ public class BindableEmitter extends JSSubEmitter 
implements
         // export above did not work in the release build for the static 
getter/setter bindables,
         // solution below:
         //Commented by JT, in AccessorEmitter:
-        // @expose is supposed to be deprecated, so this isn't ideal,
-        // but @export and/or @nocollapse were not working in a release
-        // build with ADVANCED_OPTIMIZATIONS, so I don't know what else
-        // to do. maybe it's a bug in closure compiler... -JT
-        writeNewline("/** @expose");
+        writeNewline("/** @export");
         writeNewline("  * @type {"+DISPATCHER_CLASS_QNAME+"} */");
         write(STATIC_DISPATCHER_GETTER);
         write(ASEmitterTokens.COLON);
@@ -361,20 +357,11 @@ public class BindableEmitter extends JSSubEmitter 
implements
         String qname = fjs.formatQualifiedName(cdef.getQualifiedName());
         // 'PropName': {
 
-        //writeNewline("/** @export */");
-        // export above did not work in the release build for the static 
getter/setter bindables,
-        // solution below:
-        //Commented by JT, in AccessorEmitter:
-        // @expose is supposed to be deprecated, so this isn't ideal,
-        // but @export and/or @nocollapse were not working in a release
-        // build with ADVANCED_OPTIMIZATIONS, so I don't know what else
-        // to do. maybe it's a bug in closure compiler... -JT
-
         if (info.namespace != "public") {
-            writeNewline("/** @expose");
+            writeNewline("/** @export");
             writeNewline("  * @private");
         } else {
-            writeNewline("/** @expose");
+            writeNewline("/** @export");
         }
 
         writeNewline("  * @type {"+convertASTypeToJS(info.type)+"} */");

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/ecd8e1cf/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/IdentifierEmitter.java
----------------------------------------------------------------------
diff --git 
a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/IdentifierEmitter.java
 
b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/IdentifierEmitter.java
index 89f0c00..7573db4 100644
--- 
a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/IdentifierEmitter.java
+++ 
b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/IdentifierEmitter.java
@@ -76,11 +76,12 @@ public class IdentifierEmitter extends JSSubEmitter 
implements
         boolean emitName = true;
        JSFlexJSEmitter fjs = (JSFlexJSEmitter)getEmitter();
        boolean isCustomNamespace = false;
+       boolean isStatic = nodeDef != null && nodeDef.isStatic();
         if (nodeDef instanceof FunctionDefinition &&
                  fjs.isCustomNamespace((FunctionDefinition)nodeDef))
                isCustomNamespace = true;
 
-        if (nodeDef != null && nodeDef.isStatic())
+        if (isStatic)
         {
             String sname = nodeDef.getParent().getQualifiedName();
             if (sname.equals("Array"))
@@ -175,7 +176,7 @@ public class IdentifierEmitter extends JSSubEmitter 
implements
                     endMapping(prevSibling);
                     startMapping(parentNode, prevSibling);
                 }
-                if (!isCustomNamespace)
+                if (!isCustomNamespace && (!(identifierIsAccessorFunction && 
isStatic)))
                        write(ASEmitterTokens.MEMBER_ACCESS);
                 endMapping(parentNode);
             }
@@ -293,6 +294,10 @@ public class IdentifierEmitter extends JSSubEmitter 
implements
                        String ns = 
((FunctionDefinition)nodeDef).getNamespaceReference().resolveAETNamespace(getProject()).getName();
                        write("[\"" + ns + "::" + qname + "\"]");
                     }
+                    else if (identifierIsAccessorFunction && isStatic)
+                    {
+                       write("[\"" +node.getName() + "\"]");                   
        
+                    }
                        else
                        {
                                write(node.getName());
@@ -307,6 +312,10 @@ public class IdentifierEmitter extends JSSubEmitter 
implements
                        String ns = 
((FunctionDefinition)nodeDef).getNamespaceReference().resolveAETNamespace(getProject()).getName();
                        write("[\"" + ns + "::" + qname + "\"]");
                 }
+                else if (identifierIsAccessorFunction && isStatic)
+                {
+                       write("[\"" + qname + "\"]");                           
+                }
                 else
                     write(qname);
                 endMapping(node);

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/ecd8e1cf/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSAccessorMembers.java
----------------------------------------------------------------------
diff --git 
a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSAccessorMembers.java
 
b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSAccessorMembers.java
index f4b0513..e7ad931 100644
--- 
a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSAccessorMembers.java
+++ 
b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSAccessorMembers.java
@@ -98,7 +98,7 @@ public class TestFlexJSAccessorMembers extends 
TestGoogAccessorMembers
         asBlockWalker.visitClass(node);
         assertOut("/**\n * @constructor\n */\nFalconTest_A = function() 
{\n};\n\n\n" +
                                "FalconTest_A.get__foo = function() {\n  return 
-1;\n};\n\n\n" +
-                       "Object.defineProperties(FalconTest_A, /** @lends 
{FalconTest_A} */ {\n/** @expose */\nfoo: {\nget: FalconTest_A.get__foo}}\n);");
+                       "Object.defineProperties(FalconTest_A, /** @lends 
{FalconTest_A} */ {\n/** @export */\nfoo: {\nget: FalconTest_A.get__foo}}\n);");
     }
 
     @Override
@@ -158,7 +158,7 @@ public class TestFlexJSAccessorMembers extends 
TestGoogAccessorMembers
         asBlockWalker.visitClass(node);
         assertOut("/**\n * @constructor\n */\nFalconTest_A = function() 
{\n};\n\n\n" +
                                "FalconTest_A.set__foo = function(value) 
{\n};\n\n\n" +
-                       "Object.defineProperties(FalconTest_A, /** @lends 
{FalconTest_A} */ {\n/** @expose */\nfoo: {\nset: FalconTest_A.set__foo}}\n);");
+                       "Object.defineProperties(FalconTest_A, /** @lends 
{FalconTest_A} */ {\n/** @export */\nfoo: {\nset: FalconTest_A.set__foo}}\n);");
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/ecd8e1cf/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSExpressions.java
----------------------------------------------------------------------
diff --git 
a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSExpressions.java
 
b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSExpressions.java
index def28f7..60fdb20 100644
--- 
a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSExpressions.java
+++ 
b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSExpressions.java
@@ -465,7 +465,7 @@ public class TestFlexJSExpressions extends 
TestGoogExpressions
         IBinaryOperatorNode bnode = (IBinaryOperatorNode) 
findFirstDescendantOfType(
                 node, IBinaryOperatorNode.class);
         asBlockWalker.visitBinaryOperator(bnode);
-        assertOut("foo.bar.B.b = 1");
+        assertOut("foo.bar.B[\"b\"] = 1");
     }
 
     @Test
@@ -477,7 +477,7 @@ public class TestFlexJSExpressions extends 
TestGoogExpressions
         IBinaryOperatorNode bnode = (IBinaryOperatorNode) 
findFirstDescendantOfType(
                 node, IBinaryOperatorNode.class);
         asBlockWalker.visitBinaryOperator(bnode);
-        assertOut("foo.bar.B.b = 1");
+        assertOut("foo.bar.B[\"b\"] = 1");
     }
 
     @Test
@@ -489,7 +489,7 @@ public class TestFlexJSExpressions extends 
TestGoogExpressions
         IBinaryOperatorNode bnode = (IBinaryOperatorNode) 
findFirstDescendantOfType(
                 node, IBinaryOperatorNode.class);
         asBlockWalker.visitBinaryOperator(bnode);
-        assertOut("foo.bar.B.d.b = 1");
+        assertOut("foo.bar.B[\"d\"].b = 1");
     }
 
     @Test
@@ -513,7 +513,7 @@ public class TestFlexJSExpressions extends 
TestGoogExpressions
 
         ((JSFlexJSEmitter)asEmitter).getModel().setCurrentClass(def);
         asBlockWalker.visitBinaryOperator(bnode);
-        assertOut("foo.bar.B.d.b = 1");
+        assertOut("foo.bar.B[\"d\"].b = 1");
     }
 
     @Test
@@ -525,7 +525,7 @@ public class TestFlexJSExpressions extends 
TestGoogExpressions
         IBinaryOperatorNode bnode = (IBinaryOperatorNode) 
findFirstDescendantOfType(
                 node, IBinaryOperatorNode.class);
         asBlockWalker.visitBinaryOperator(bnode);
-        assertOut("foo.bar.B.b = foo.bar.B.b + 1");
+        assertOut("foo.bar.B[\"b\"] = foo.bar.B[\"b\"] + 1");
     }
 
     @Test

Reply via email to