You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by jo...@apache.org on 2016/01/12 22:11:57 UTC

[1/4] git commit: [flex-falcon] [refs/heads/develop] - ASBlockWalker: internal classes, interfaces, functions, and variables that aren't in a package must appear after a package

Repository: flex-falcon
Updated Branches:
  refs/heads/develop 3044c462a -> 498716d12


ASBlockWalker: internal classes, interfaces, functions, and variables that aren't in a package must appear after a package


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

Branch: refs/heads/develop
Commit: 0df8a51808bb539122729bf93b8471bdb8b59287
Parents: b74b09d
Author: Josh Tynjala <jo...@apache.org>
Authored: Tue Jan 12 11:56:03 2016 -0800
Committer: Josh Tynjala <jo...@apache.org>
Committed: Tue Jan 12 11:56:24 2016 -0800

----------------------------------------------------------------------
 .../internal/codegen/as/ASBlockWalker.java      | 44 +++++++++++++-------
 1 file changed, 28 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/0df8a518/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASBlockWalker.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASBlockWalker.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASBlockWalker.java
index b405bb0..d31ea74 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASBlockWalker.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASBlockWalker.java
@@ -179,6 +179,7 @@ public class ASBlockWalker implements IASBlockVisitor, IASBlockWalker
     {
         debug("visitFile()");
         
+        boolean foundPackage = false;
         int nodeCount = node.getChildCount();
         for (int i = 0; i < nodeCount; i++)
         {
@@ -187,22 +188,33 @@ public class ASBlockWalker implements IASBlockVisitor, IASBlockWalker
 	        // ToDo (erikdebruin): handle other types of root node, such as when
 	        //                     there is no wrapping Package or Class, like
 	        //                     in mx.core.Version
-	        if (pnode != null && 
-	        	(pnode instanceof IPackageNode || 
-	        	 pnode instanceof IInterfaceNode ||
-	        	 pnode instanceof IClassNode ||
-                 pnode instanceof IFunctionNode ||
-                 pnode instanceof IVariableNode))
-	        {
-	            walk(pnode);
-	            
-		        if (i < nodeCount - 1)
-		        {
-		        	emitter.writeNewline();
-		        	emitter.writeNewline();
-		        	emitter.writeNewline();
-		        }
-	        }
+	        if (pnode != null)
+            { 
+                boolean isPackage = pnode instanceof IPackageNode;
+                boolean isAllowedAfterPackage = false;
+                if(isPackage)
+                {
+                    foundPackage = true;
+                }
+                else if(foundPackage)
+                {
+                    isAllowedAfterPackage = pnode instanceof IInterfaceNode
+                        || pnode instanceof IClassNode
+                        || pnode instanceof IFunctionNode
+                        || pnode instanceof IVariableNode;
+                }
+                if(isPackage || isAllowedAfterPackage)
+                {
+                    walk(pnode);
+                    
+                    if (i < nodeCount - 1)
+                    {
+                        emitter.writeNewline();
+                        emitter.writeNewline();
+                        emitter.writeNewline();
+                    }
+                }
+            }
         }
     }
 


[2/4] git commit: [flex-falcon] [refs/heads/develop] - compiler.jx.tests: added tests for internal file-level functions and variables after package

Posted by jo...@apache.org.
compiler.jx.tests: added tests for internal file-level functions and variables after package


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

Branch: refs/heads/develop
Commit: 2d9c9441187cd48e1d81df7668da81c3bcf5e56c
Parents: 0df8a51
Author: Josh Tynjala <jo...@apache.org>
Authored: Tue Jan 12 12:12:20 2016 -0800
Committer: Josh Tynjala <jo...@apache.org>
Committed: Tue Jan 12 12:12:20 2016 -0800

----------------------------------------------------------------------
 .../codegen/js/flexjs/TestFlexJSPackage.java    | 89 ++++++++++++++++++++
 1 file changed, 89 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2d9c9441/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSPackage.java
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSPackage.java b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSPackage.java
index dfb4b75..6469c6e 100644
--- a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSPackage.java
+++ b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSPackage.java
@@ -141,6 +141,95 @@ public class TestFlexJSPackage extends TestGoogPackage
         		  "foo.bar.baz.A.InternalClass.prototype.FLEXJS_CLASS_INFO = { names: [{ name: 'InternalClass', qName: 'foo.bar.baz.A.InternalClass'}] };\n");
     }
 
+	@Test
+	public void testPackageQualified_ClassAndInternalFunction()
+	{
+		IFileNode node = compileAS("package foo.bar.baz {\n" +
+				"public class A {\n" +
+				"public function A(){\n" +
+				"internalFunction();\n" +
+				"}}}\n" +
+				"function internalFunction(){}");
+		asBlockWalker.visitFile(node);
+		assertOutWithMetadata("/**\n" +
+				" * foo.bar.baz.A\n" +
+				" *\n" +
+				" * @fileoverview\n" +
+				" *\n" +
+				" * @suppress {checkTypes|accessControls}\n" +
+				" */\n" +
+				"\n" +
+				"goog.provide('foo.bar.baz.A');\n" +
+				"\n" +
+				"\n" +
+				"\n" +
+				"/**\n" +
+				" * @constructor\n" +
+				" */\n" +
+				"foo.bar.baz.A = function() {\n" +
+				"  foo.bar.baz.A.internalFunction();\n" +
+				"};\n" +
+				"\n" +
+				"\n/" +
+				"**\n" +
+				" * Metadata\n" +
+				" *\n" +
+				" * @type {Object.<string, Array.<Object>>}\n" +
+				" */\n" +
+				"foo.bar.baz.A.prototype.FLEXJS_CLASS_INFO = { names: [{ name: 'A', qName: 'foo.bar.baz.A'}] };\n" +
+				"\n" +
+				"\n" +
+				"\n" +
+				"foo.bar.baz.A.internalFunction = function() {\n" +
+				"}");
+	}
+
+	@Test
+	public void testPackageQualified_ClassAndInternalVariable()
+	{
+		IFileNode node = compileAS("package foo.bar.baz {\n" +
+				"public class A {\n" +
+				"public function A(){\n" +
+				"internalVar = 3;\n" +
+				"}}}\n" +
+				"var internalVar:Number = 2;");
+		asBlockWalker.visitFile(node);
+		assertOutWithMetadata("/**\n" +
+				" * foo.bar.baz.A\n" +
+				" *\n" +
+				" * @fileoverview\n" +
+				" *\n" +
+				" * @suppress {checkTypes|accessControls}\n" +
+				" */\n" +
+				"\n" +
+				"goog.provide('foo.bar.baz.A');\n" +
+				"\n" +
+				"\n" +
+				"\n" +
+				"/**\n" +
+				" * @constructor\n" +
+				" */\n" +
+				"foo.bar.baz.A = function() {\n" +
+				"  foo.bar.baz.A.internalVar = 3;\n" +
+				"};\n" +
+				"\n" +
+				"\n/" +
+				"**\n" +
+				" * Metadata\n" +
+				" *\n" +
+				" * @type {Object.<string, Array.<Object>>}\n" +
+				" */\n" +
+				"foo.bar.baz.A.prototype.FLEXJS_CLASS_INFO = { names: [{ name: 'A', qName: 'foo.bar.baz.A'}] };\n" +
+				"\n" +
+				"\n" +
+				"\n" +
+				"/**\n" +
+				" * @export\n" +
+				" * @type {number}\n" +
+				" */\n" +
+				"foo.bar.baz.A.internalVar = 2");
+	}
+
     @Test
     public void testPackageQualified_ClassAndInternalClassMethods()
     {


[3/4] git commit: [flex-falcon] [refs/heads/develop] - compiler.jx.tests: added tests for package-level functions and variables

Posted by jo...@apache.org.
compiler.jx.tests: added tests for package-level functions and variables


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

Branch: refs/heads/develop
Commit: 118764df7226dfa836610f11e0b87882f13742a6
Parents: 2d9c944
Author: Josh Tynjala <jo...@apache.org>
Authored: Tue Jan 12 13:10:46 2016 -0800
Committer: Josh Tynjala <jo...@apache.org>
Committed: Tue Jan 12 13:10:46 2016 -0800

----------------------------------------------------------------------
 .../codegen/js/flexjs/TestFlexJSPackage.java    | 32 ++++++++++++++++++++
 1 file changed, 32 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/118764df/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSPackage.java
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSPackage.java b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSPackage.java
index 6469c6e..3d9fe41 100644
--- a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSPackage.java
+++ b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSPackage.java
@@ -502,6 +502,38 @@ public class TestFlexJSPackage extends TestGoogPackage
         		  " */\n" +
         		  "foo.bar.baz.A.InternalClass.prototype.FLEXJS_CLASS_INFO = { names: [{ name: 'InternalClass', qName: 'foo.bar.baz.A.InternalClass'}], interfaces: [foo.bar.baz.A.ITestInterface] };\n");
     }
+
+	@Test
+	public void testPackageSimple_Function()
+	{
+		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 * @export\n */\nA = function() {\n}");
+	}
+
+	@Test
+	public void testPackageQualified_Function()
+	{
+		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 * @export\n */\nfoo.bar.baz.A = function() {\n}");
+	}
+
+	@Test
+	public void testPackageSimple_Variable()
+	{
+		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 * @export\n * @type {string}\n */\nA = \"Hello\"");
+	}
+
+	@Test
+	public void testPackageQualified_Variable()
+	{
+		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 * @export\n * @type {string}\n */\nfoo.bar.baz.A = \"Hello\"");
+	}
     
     @Override
     protected IBackend createBackend()


[4/4] git commit: [flex-falcon] [refs/heads/develop] - Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/flex-falcon into develop

Posted by jo...@apache.org.
Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/flex-falcon into develop


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

Branch: refs/heads/develop
Commit: 498716d124ab4e4221eedb860a2f954cf71eb801
Parents: 118764d 3044c46
Author: Josh Tynjala <jo...@apache.org>
Authored: Tue Jan 12 13:11:04 2016 -0800
Committer: Josh Tynjala <jo...@apache.org>
Committed: Tue Jan 12 13:11:04 2016 -0800

----------------------------------------------------------------------
 build.xml | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)
----------------------------------------------------------------------