You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ms...@apache.org on 2012/12/18 12:00:11 UTC

svn commit: r1423407 - in /incubator/flex/whiteboard/mschmalle/falconjx: compiler.jx.tests/src/org/apache/flex/js/internal/driver/TestAccessorMembers.java compiler.jx/src/org/apache/flex/compiler/internal/as/codegen/ASEmitter.java

Author: mschmalle
Date: Tue Dec 18 11:00:10 2012
New Revision: 1423407

URL: http://svn.apache.org/viewvc?rev=1423407&view=rev
Log:
Flex:FalconJx
- Added a couple more tests to the accessors (override/static)

Modified:
    incubator/flex/whiteboard/mschmalle/falconjx/compiler.jx.tests/src/org/apache/flex/js/internal/driver/TestAccessorMembers.java
    incubator/flex/whiteboard/mschmalle/falconjx/compiler.jx/src/org/apache/flex/compiler/internal/as/codegen/ASEmitter.java

Modified: incubator/flex/whiteboard/mschmalle/falconjx/compiler.jx.tests/src/org/apache/flex/js/internal/driver/TestAccessorMembers.java
URL: http://svn.apache.org/viewvc/incubator/flex/whiteboard/mschmalle/falconjx/compiler.jx.tests/src/org/apache/flex/js/internal/driver/TestAccessorMembers.java?rev=1423407&r1=1423406&r2=1423407&view=diff
==============================================================================
--- incubator/flex/whiteboard/mschmalle/falconjx/compiler.jx.tests/src/org/apache/flex/js/internal/driver/TestAccessorMembers.java (original)
+++ incubator/flex/whiteboard/mschmalle/falconjx/compiler.jx.tests/src/org/apache/flex/js/internal/driver/TestAccessorMembers.java Tue Dec 18 11:00:10 2012
@@ -21,7 +21,6 @@ package org.apache.flex.js.internal.driv
 
 import org.apache.flex.compiler.tree.as.IAccessorNode;
 import org.apache.flex.compiler.tree.as.IFileNode;
-import org.apache.flex.compiler.tree.as.IFunctionNode;
 import org.junit.Test;
 
 /**
@@ -39,7 +38,7 @@ public class TestAccessorMembers extends
     @Test
     public void testGetAccessor()
     {
-        IFunctionNode node = getAccessor("function get foo():int{return -1;}");
+        IAccessorNode node = getAccessor("function get foo():int{return -1;}");
         visitor.visitFunction(node);
         assertOut("function get foo():int {\n\treturn -1;\n}");
     }
@@ -47,15 +46,31 @@ public class TestAccessorMembers extends
     @Test
     public void testGetAccessor_withNamespace()
     {
-        IFunctionNode node = getAccessor("public function get foo():int{return -1;}");
+        IAccessorNode node = getAccessor("public function get foo():int{return -1;}");
         visitor.visitFunction(node);
         assertOut("public function get foo():int {\n\treturn -1;\n}");
     }
 
     @Test
+    public void testGetAccessor_withNamespaceOverride()
+    {
+        IAccessorNode node = getAccessor("public override function get foo():int{return -1;}");
+        visitor.visitFunction(node);
+        assertOut("public override function get foo():int {\n\treturn -1;\n}");
+    }
+
+    @Test
+    public void testGetAccessor_withStatic()
+    {
+        IAccessorNode node = getAccessor("public static function get foo():int{return -1;}");
+        visitor.visitFunction(node);
+        assertOut("public static function get foo():int {\n\treturn -1;\n}");
+    }
+
+    @Test
     public void testSetAccessor()
     {
-        IFunctionNode node = getAccessor("function set foo(value:int):void{}");
+        IAccessorNode node = getAccessor("function set foo(value:int):void{}");
         visitor.visitFunction(node);
         assertOut("function set foo(value:int):void {\n}");
     }
@@ -63,11 +78,27 @@ public class TestAccessorMembers extends
     @Test
     public void testSetAccessor_withNamespace()
     {
-        IFunctionNode node = getAccessor("public function set foo(value:int):void{}");
+        IAccessorNode node = getAccessor("public function set foo(value:int):void{}");
         visitor.visitFunction(node);
         assertOut("public function set foo(value:int):void {\n}");
     }
 
+    @Test
+    public void testSetAccessor_withNamespaceOverride()
+    {
+        IAccessorNode node = getAccessor("public override function set foo(value:int):void{}");
+        visitor.visitFunction(node);
+        assertOut("public override function set foo(value:int):void {\n}");
+    }
+
+    @Test
+    public void testSetAccessor_withStatic()
+    {
+        IAccessorNode node = getAccessor("public override function set foo(value:int):void{}");
+        visitor.visitFunction(node);
+        assertOut("public static function set foo(value:int):void {\n}");
+    }
+
     protected IAccessorNode getAccessor(String code)
     {
         String source = "package {public class A {" + code + "}}";

Modified: incubator/flex/whiteboard/mschmalle/falconjx/compiler.jx/src/org/apache/flex/compiler/internal/as/codegen/ASEmitter.java
URL: http://svn.apache.org/viewvc/incubator/flex/whiteboard/mschmalle/falconjx/compiler.jx/src/org/apache/flex/compiler/internal/as/codegen/ASEmitter.java?rev=1423407&r1=1423406&r2=1423407&view=diff
==============================================================================
--- incubator/flex/whiteboard/mschmalle/falconjx/compiler.jx/src/org/apache/flex/compiler/internal/as/codegen/ASEmitter.java (original)
+++ incubator/flex/whiteboard/mschmalle/falconjx/compiler.jx/src/org/apache/flex/compiler/internal/as/codegen/ASEmitter.java Tue Dec 18 11:00:10 2012
@@ -173,7 +173,20 @@ public class ASEmitter implements IASEmi
     @Override
     public void emitMethod(IFunctionNode node)
     {
-        emitMethodDocumentation(node);
+        // see below, this is temp, I don't want a bunch of duplicated code
+        // at them moment, subclasses can refine anyways, we are generalizing
+        if (node instanceof IGetterNode)
+        {
+            emitGetAccessorDocumentation((IGetterNode) node);
+        }
+        else if (node instanceof ISetterNode)
+        {
+            emitSetAccessorDocumentation((ISetterNode) node);
+        }
+        else
+        {
+            emitMethodDocumentation(node);
+        }
 
         FunctionNode fn = (FunctionNode) node;
         // XXX (mschmalle) parseFunctionBody() TEMP until I figure out the correct way to do this