You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by er...@apache.org on 2014/11/21 13:10:21 UTC

[01/17] git commit: [flex-falcon] [refs/heads/develop] - Fix whitespace

Repository: flex-falcon
Updated Branches:
  refs/heads/develop 096bc8558 -> 75b555aeb


Fix whitespace

Signed-off-by: Erik de Bruin <er...@ixsoftware.nl>


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

Branch: refs/heads/develop
Commit: 92a5dfe5dc4fd986aba862b8667329d492d15bb0
Parents: 096bc85
Author: Erik de Bruin <er...@ixsoftware.nl>
Authored: Fri Nov 21 11:38:54 2014 +0100
Committer: Erik de Bruin <er...@ixsoftware.nl>
Committed: Fri Nov 21 11:38:54 2014 +0100

----------------------------------------------------------------------
 .../apache/flex/compiler/internal/graph/VF2JSDepsWriter.java   | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/92a5dfe5/compiler.jx/src/org/apache/flex/compiler/internal/graph/VF2JSDepsWriter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/graph/VF2JSDepsWriter.java b/compiler.jx/src/org/apache/flex/compiler/internal/graph/VF2JSDepsWriter.java
index b37f71a..5bb4013 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/graph/VF2JSDepsWriter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/graph/VF2JSDepsWriter.java
@@ -67,7 +67,8 @@ public class VF2JSDepsWriter {
 		return files;
 	}
 	
-	public boolean generateDeps(ProblemQuery problems, StringBuilder depsFileData) throws InterruptedException, FileNotFoundException
+	public boolean generateDeps(ProblemQuery problems, StringBuilder depsFileData)
+			throws InterruptedException, FileNotFoundException
 	{
 	    problemsFound = false;
 	    this.problems = problems;
@@ -169,7 +170,8 @@ public class VF2JSDepsWriter {
 		    // remove requires that would cause circularity
 		    try
             {
-                List<String> fileLines = Files.readLines(new File(gd.filePath), Charset.defaultCharset());
+                List<String> fileLines = Files.readLines(new File(gd.filePath), 
+                		Charset.defaultCharset());
                 ArrayList<String> finalLines = new ArrayList<String>();
                 
                 String inherits = getBaseClass(fileLines, className);


[09/17] git commit: [flex-falcon] [refs/heads/develop] - Test for 'int' to 'INT' cross compilation

Posted by er...@apache.org.
Test for 'int' to 'INT' cross compilation

Signed-off-by: Erik de Bruin <er...@ixsoftware.nl>


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

Branch: refs/heads/develop
Commit: 048623ebc604f82ecf81adc2828b6983e56274ad
Parents: 56b8886
Author: Erik de Bruin <er...@ixsoftware.nl>
Authored: Fri Nov 21 11:48:12 2014 +0100
Committer: Erik de Bruin <er...@ixsoftware.nl>
Committed: Fri Nov 21 11:48:12 2014 +0100

----------------------------------------------------------------------
 .../internal/codegen/js/vf2js/TestVF2JSStatements.java      | 9 +++++++++
 1 file changed, 9 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/048623eb/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSStatements.java
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSStatements.java b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSStatements.java
index 061be59..3487afb 100644
--- a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSStatements.java
+++ b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSStatements.java
@@ -47,6 +47,15 @@ public class TestVF2JSStatements extends TestGoogStatements
     }
     
     @Test
+    public void testVarDeclaration_withReservedWord()
+    {
+        IVariableNode node = (IVariableNode) getNode("var max:int = int.MAX_VALUE;",
+                IVariableNode.class);
+        asBlockWalker.visitVariable(node);
+        assertOut("var /** @type {number} */ max = INT.MAX_VALUE");
+    }
+    
+    @Test
     public void testVarDeclaration_withTypeAssignedStringWithNewLine()
     {
         IVariableNode node = (IVariableNode) getNode("var a:String = \"\\n\"",


[11/17] git commit: [flex-falcon] [refs/heads/develop] - For now, VF2JS doesn't output 'const'

Posted by er...@apache.org.
For now, VF2JS doesn't output 'const'

Signed-off-by: Erik de Bruin <er...@ixsoftware.nl>


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

Branch: refs/heads/develop
Commit: 4515e7b2b6c3d2b2e1c898d2062ad4d28b52f2b0
Parents: 9457afe
Author: Erik de Bruin <er...@ixsoftware.nl>
Authored: Fri Nov 21 12:08:18 2014 +0100
Committer: Erik de Bruin <er...@ixsoftware.nl>
Committed: Fri Nov 21 12:08:18 2014 +0100

----------------------------------------------------------------------
 .../internal/codegen/js/vf2js/TestVF2JSStatements.java      | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/4515e7b2/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSStatements.java
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSStatements.java b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSStatements.java
index 3487afb..431d01d 100644
--- a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSStatements.java
+++ b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSStatements.java
@@ -97,7 +97,8 @@ public class TestVF2JSStatements extends TestGoogStatements
         IVariableNode node = (IVariableNode) getNode("const a = 42;",
                 IVariableNode.class);
         asBlockWalker.visitVariable(node);
-        assertOut("const /** @type {*} */ a = 42");
+        assertOut("var /** @type {*} */ a = 42");
+        // ToDo (erikdebruin): assertOut("const /** @type {*} */ a = 42");
     }
 
     @Override
@@ -107,7 +108,8 @@ public class TestVF2JSStatements extends TestGoogStatements
         IVariableNode node = (IVariableNode) getNode("const a:int = 42;",
                 IVariableNode.class);
         asBlockWalker.visitVariable(node);
-        assertOut("const /** @type {number} */ a = 42");
+        assertOut("var /** @type {number} */ a = 42");
+        // ToDo (erikdebruin): assertOut("const /** @type {number} */ a = 42");
     }
 
     @Override
@@ -117,7 +119,8 @@ public class TestVF2JSStatements extends TestGoogStatements
         IVariableNode node = (IVariableNode) getNode(
                 "const a:int = 4, b:int = 11, c:int = 42;", IVariableNode.class);
         asBlockWalker.visitVariable(node);
-        assertOut("const /** @type {number} */ a = 4, /** @type {number} */ b = 11, /** @type {number} */ c = 42");
+        assertOut("var /** @type {number} */ a = 4, /** @type {number} */ b = 11, /** @type {number} */ c = 42");
+        // ToDo (erikdebruin): assertOut("const /** @type {number} */ a = 4, /** @type {number} */ b = 11, /** @type {number} */ c = 42");
     }
     
     //----------------------------------


[15/17] git commit: [flex-falcon] [refs/heads/develop] - Added some tokens

Posted by er...@apache.org.
Added some tokens

Signed-off-by: Erik de Bruin <er...@ixsoftware.nl>


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

Branch: refs/heads/develop
Commit: 34725a76bc3e542eab695a48ea1492b55ae5d8a6
Parents: 0d196c1
Author: Erik de Bruin <er...@ixsoftware.nl>
Authored: Fri Nov 21 13:05:19 2014 +0100
Committer: Erik de Bruin <er...@ixsoftware.nl>
Committed: Fri Nov 21 13:05:19 2014 +0100

----------------------------------------------------------------------
 .../compiler/internal/codegen/js/goog/JSGoogEmitterTokens.java   | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/34725a76/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogEmitterTokens.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogEmitterTokens.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogEmitterTokens.java
index d86aed2..fd41804 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogEmitterTokens.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogEmitterTokens.java
@@ -25,6 +25,7 @@ public enum JSGoogEmitterTokens implements IEmitterTokens
     AS3("__AS3__"),
     GOOG_ARRAY_FOREACH("goog.array.forEach"),
     GOOG_BASE("base"),
+    GOOG_CALL("call"),
     GOOG_BIND("goog.bind"),
     GOOG_CONSTRUCTOR("constructor"),
     GOOG_GOOG("goog"),
@@ -34,7 +35,8 @@ public enum JSGoogEmitterTokens implements IEmitterTokens
     OBJECT("Object"),
     ARRAY("Array"),
     ERROR("Error"),
-    SELF("self");
+    SELF("self"),
+    SUPERCLASS("superClass_");
 
     private String token;
 


[14/17] git commit: [flex-falcon] [refs/heads/develop] - No MXML object and property creation output, for now

Posted by er...@apache.org.
No MXML object and property creation output, for now

Signed-off-by: Erik de Bruin <er...@ixsoftware.nl>


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

Branch: refs/heads/develop
Commit: 0d196c18f0ae1aa736fb2ec70e0c06d01aa2e41b
Parents: 2d63f12
Author: Erik de Bruin <er...@ixsoftware.nl>
Authored: Fri Nov 21 12:19:43 2014 +0100
Committer: Erik de Bruin <er...@ixsoftware.nl>
Committed: Fri Nov 21 12:19:43 2014 +0100

----------------------------------------------------------------------
 .../test-files/vf2js/files/SimpleMXML_result.js           | 10 ----------
 .../projects/simpleMXML/src/SimpleMXML_Project_result.js  |  3 ---
 2 files changed, 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/0d196c18/compiler.jx.tests/test-files/vf2js/files/SimpleMXML_result.js
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/test-files/vf2js/files/SimpleMXML_result.js b/compiler.jx.tests/test-files/vf2js/files/SimpleMXML_result.js
index a092dd7..a5f84b7 100644
--- a/compiler.jx.tests/test-files/vf2js/files/SimpleMXML_result.js
+++ b/compiler.jx.tests/test-files/vf2js/files/SimpleMXML_result.js
@@ -63,15 +63,5 @@ SimpleMXML.prototype.FLEXJS_CLASS_INFO = { names: [{ name: 'SimpleMXML', qName:
  * @expose
  */
 SimpleMXML.prototype.start = function () {
-this.$ID0 = new spark.components.Button();
-this.$ID0.label = 'hello';
-this.$ID0.x = 100;
-this.$ID0.render();
-this.$ID1 = new spark.components.Button();
-this.$ID1.label = 'bye';
-this.$ID1.x = 200;
-this.$ID1.render();
-
-
 };
 

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/0d196c18/compiler.jx.tests/test-files/vf2js/projects/simpleMXML/src/SimpleMXML_Project_result.js
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/test-files/vf2js/projects/simpleMXML/src/SimpleMXML_Project_result.js b/compiler.jx.tests/test-files/vf2js/projects/simpleMXML/src/SimpleMXML_Project_result.js
index 2ad1ea6..258904a 100644
--- a/compiler.jx.tests/test-files/vf2js/projects/simpleMXML/src/SimpleMXML_Project_result.js
+++ b/compiler.jx.tests/test-files/vf2js/projects/simpleMXML/src/SimpleMXML_Project_result.js
@@ -59,7 +59,4 @@ SimpleMXML_Project.prototype.myComponent;
  * @expose
  */
 SimpleMXML_Project.prototype.start = function () {
-this.null.minHeight = 600;
-this.null.minWidth = 955;
-
 };
\ No newline at end of file


[12/17] git commit: [flex-falcon] [refs/heads/develop] - We need 'goog'!

Posted by er...@apache.org.
We need 'goog'!

;-)

Signed-off-by: Erik de Bruin <er...@ixsoftware.nl>


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

Branch: refs/heads/develop
Commit: 4b722a0db5b6baa9968e7f79f6cfa35d4b31c636
Parents: 4515e7b
Author: Erik de Bruin <er...@ixsoftware.nl>
Authored: Fri Nov 21 12:08:41 2014 +0100
Committer: Erik de Bruin <er...@ixsoftware.nl>
Committed: Fri Nov 21 12:08:41 2014 +0100

----------------------------------------------------------------------
 .../flex/compiler/internal/codegen/js/goog/JSGoogEmitterTokens.java | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/4b722a0d/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogEmitterTokens.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogEmitterTokens.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogEmitterTokens.java
index d6012d0..d86aed2 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogEmitterTokens.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogEmitterTokens.java
@@ -27,6 +27,7 @@ public enum JSGoogEmitterTokens implements IEmitterTokens
     GOOG_BASE("base"),
     GOOG_BIND("goog.bind"),
     GOOG_CONSTRUCTOR("constructor"),
+    GOOG_GOOG("goog"),
     GOOG_INHERITS("goog.inherits"),
     GOOG_PROVIDE("goog.provide"),
     GOOG_REQUIRE("goog.require"),


[17/17] git commit: [flex-falcon] [refs/heads/develop] - Changed tests to reflect new 'superClass_' calls

Posted by er...@apache.org.
Changed tests to reflect new 'superClass_' calls

Signed-off-by: Erik de Bruin <er...@ixsoftware.nl>


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

Branch: refs/heads/develop
Commit: 75b555aeb1cb2547a57d40b7ad597dd20f733c20
Parents: d27432a
Author: Erik de Bruin <er...@ixsoftware.nl>
Authored: Fri Nov 21 13:08:45 2014 +0100
Committer: Erik de Bruin <er...@ixsoftware.nl>
Committed: Fri Nov 21 13:08:45 2014 +0100

----------------------------------------------------------------------
 .../vf2js/projects/interfaces/Test_result.js    |  2 +-
 .../test-files/vf2js/projects/super/Base.as     | 65 +++++++++++---------
 .../vf2js/projects/super/Base_result.js         | 11 ++++
 .../test-files/vf2js/projects/super/Super.as    | 51 ++++++++-------
 .../vf2js/projects/super/Super_result.js        |  9 +++
 5 files changed, 87 insertions(+), 51 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/75b555ae/compiler.jx.tests/test-files/vf2js/projects/interfaces/Test_result.js
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/test-files/vf2js/projects/interfaces/Test_result.js b/compiler.jx.tests/test-files/vf2js/projects/interfaces/Test_result.js
index f6c5b6d..2d3c7a5 100644
--- a/compiler.jx.tests/test-files/vf2js/projects/interfaces/Test_result.js
+++ b/compiler.jx.tests/test-files/vf2js/projects/interfaces/Test_result.js
@@ -51,7 +51,7 @@ Test.prototype.doSomething = function(ic) {
   for (var /** @type {number} */ i = 0; i < 3; i++) {
     var /** @type {classes.A} */ a = null;
   }
-  Test.base(this, 'doStuff');
+  this.superClass_.doStuff.call(this);
   return ic;
 };
 

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/75b555ae/compiler.jx.tests/test-files/vf2js/projects/super/Base.as
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/test-files/vf2js/projects/super/Base.as b/compiler.jx.tests/test-files/vf2js/projects/super/Base.as
index 3cc5462..ee69d65 100644
--- a/compiler.jx.tests/test-files/vf2js/projects/super/Base.as
+++ b/compiler.jx.tests/test-files/vf2js/projects/super/Base.as
@@ -18,39 +18,48 @@
 ////////////////////////////////////////////////////////////////////////////////
 package
 {
-	import Super;
 
-	public class Base extends Super
+import Super;
+
+public class Base extends Super
+{
+	public static var myClassConst:String = new Number();
+	
+	public function Base() 
 	{
-		public static var myClassConst:String = new Number();
-		
-		public function Base() 
-		{
-			super();
-		}; 
+		super();
+	}; 
 
-		private var number:Number = this.getNumber(); 
-		
-		private var newText:String = this.text; 
-		
-		private var newTextAgain:String = text; 
-		
-		override public function get text():String 
-		{
-			return "A" + super.text;
-		};
+	private var number:Number = this.getNumber(); 
 	
-		override public function set text(value:String):void 
-		{
-			if (value != super.text)
-			{
-				super.text = "B" + value;
-			}
-		};
-		
-		public function getNumber():void
+	private var newText:String = this.text; 
+	
+	private var newTextAgain:String = text; 
+	
+	override public function get text():String 
+	{
+		return "A" + super.text;
+	};
+
+	override public function set text(value:String):void 
+	{
+		if (value != super.text)
 		{
-			var x:Number = super.x;
+			super.text = "B" + value;
 		}
+	};
+	
+	public function getNumber():void
+	{
+		alert(super.doStuff());
+		
+		var x:Number = super.x;
 	}
+	
+	override public function doStuff():Number 
+	{
+		throw new Error("No way!");
+	};
+
+}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/75b555ae/compiler.jx.tests/test-files/vf2js/projects/super/Base_result.js
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/test-files/vf2js/projects/super/Base_result.js b/compiler.jx.tests/test-files/vf2js/projects/super/Base_result.js
index b5063c6..db6e56d 100644
--- a/compiler.jx.tests/test-files/vf2js/projects/super/Base_result.js
+++ b/compiler.jx.tests/test-files/vf2js/projects/super/Base_result.js
@@ -97,11 +97,22 @@ Base.prototype.set_text = function(value) {
  * @expose
  */
 Base.prototype.getNumber = function() {
+  alert(this.superClass_.doStuff.call(this));
   var /** @type {number} */ x = this.get_x();
 };
 
 
 /**
+ * @expose
+ * @return {number}
+ * @override
+ */
+Base.prototype.doStuff = function() {
+  throw new Error("No way!");
+};
+
+
+/**
  * Metadata
  *
  * @type {Object.<string, Array.<Object>>}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/75b555ae/compiler.jx.tests/test-files/vf2js/projects/super/Super.as
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/test-files/vf2js/projects/super/Super.as b/compiler.jx.tests/test-files/vf2js/projects/super/Super.as
index 772c886..3a2bca2 100644
--- a/compiler.jx.tests/test-files/vf2js/projects/super/Super.as
+++ b/compiler.jx.tests/test-files/vf2js/projects/super/Super.as
@@ -18,30 +18,37 @@
 ////////////////////////////////////////////////////////////////////////////////
 package
 {
-	public class Super
+
+public class Super
+{
+	public function Super() {}; 
+
+	private var _text:String = '';
+
+	public function get text():String 
 	{
-		public function Super() {}; 
+		return _text;
+	};
 
-		private var _text:String = '';
-	
-		public function get text():String 
+	public function set text(value:String):void 
+	{
+		if (value != _text)
 		{
-			return _text;
-		};
+			_text = value;
+		}
+	};
 	
-		public function set text(value:String):void 
-		{
-			if (value != _text)
-			{
-				_text = value;
-			}
-		};
-		
-		private var _x:Number = 5;
-		
-		public function get x():Number 
-		{
-			return _x;
-		};
-	}
+	private var _x:Number = 5;
+	
+	public function get x():Number 
+	{
+		return _x;
+	};
+	
+	public function doStuff():Number 
+	{
+		return "Stuff is done";
+	};
+	
+}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/75b555ae/compiler.jx.tests/test-files/vf2js/projects/super/Super_result.js
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/test-files/vf2js/projects/super/Super_result.js b/compiler.jx.tests/test-files/vf2js/projects/super/Super_result.js
index f4fdb42..0ad1a30 100644
--- a/compiler.jx.tests/test-files/vf2js/projects/super/Super_result.js
+++ b/compiler.jx.tests/test-files/vf2js/projects/super/Super_result.js
@@ -73,6 +73,15 @@ Super.prototype.get_x = function() {
 
 
 /**
+ * @expose
+ * @return {number}
+ */
+Super.prototype.doStuff = function() {
+  return "Stuff is done";
+};
+
+
+/**
  * Metadata
  *
  * @type {Object.<string, Array.<Object>>}


[03/17] git commit: [flex-falcon] [refs/heads/develop] - Use VF2JS variations on deps writer and GCC wrapper

Posted by er...@apache.org.
Use VF2JS variations on deps writer and GCC wrapper

Signed-off-by: Erik de Bruin <er...@ixsoftware.nl>


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

Branch: refs/heads/develop
Commit: 773774c0a23db7d3ad84e61b1ac38bc7415876f1
Parents: 16c4b3e
Author: Erik de Bruin <er...@ixsoftware.nl>
Authored: Fri Nov 21 11:40:53 2014 +0100
Committer: Erik de Bruin <er...@ixsoftware.nl>
Committed: Fri Nov 21 11:40:53 2014 +0100

----------------------------------------------------------------------
 .../internal/codegen/mxml/vf2js/MXMLVF2JSPublisher.java      | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/773774c0/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/vf2js/MXMLVF2JSPublisher.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/vf2js/MXMLVF2JSPublisher.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/vf2js/MXMLVF2JSPublisher.java
index 3c44bd0..ef51e7d 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/vf2js/MXMLVF2JSPublisher.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/vf2js/MXMLVF2JSPublisher.java
@@ -44,9 +44,9 @@ import org.apache.flex.compiler.config.Configuration;
 import org.apache.flex.compiler.internal.codegen.js.JSSharedData;
 import org.apache.flex.compiler.internal.codegen.js.goog.JSGoogPublisher;
 import org.apache.flex.compiler.internal.driver.js.goog.JSGoogConfiguration;
-import org.apache.flex.compiler.internal.graph.GoogDepsWriter;
+import org.apache.flex.compiler.internal.graph.VF2JSDepsWriter;
 import org.apache.flex.compiler.internal.projects.FlexJSProject;
-import org.apache.flex.compiler.utils.JSClosureCompilerWrapper;
+import org.apache.flex.compiler.utils.VF2JSClosureCompilerWrapper;
 
 public class MXMLVF2JSPublisher extends JSGoogPublisher implements
         IJSPublisher
@@ -182,9 +182,9 @@ public class MXMLVF2JSPublisher extends JSGoogPublisher implements
             FileUtils.copyDirectory(new File(closureGoogSrcLibDirPath), new File(closureGoogTgtLibDirPath));
         }
         
-        JSClosureCompilerWrapper compilerWrapper = new JSClosureCompilerWrapper();
+        VF2JSClosureCompilerWrapper compilerWrapper = new VF2JSClosureCompilerWrapper();
 
-        GoogDepsWriter gdw = new GoogDepsWriter(intermediateDir, projectName, (JSGoogConfiguration) configuration);
+        VF2JSDepsWriter gdw = new VF2JSDepsWriter(intermediateDir, projectName, (JSGoogConfiguration) configuration);
         try
         {
             StringBuilder depsFileData = new StringBuilder();


[05/17] git commit: [flex-falcon] [refs/heads/develop] - Remove 'MXMLDescriptor array' output for VF2JS; will be replaced by 'native' JS solution, probably as pre-compilation step

Posted by er...@apache.org.
Remove 'MXMLDescriptor array' output for VF2JS; will be replaced by 'native' JS solution, probably as pre-compilation step

Signed-off-by: Erik de Bruin <er...@ixsoftware.nl>


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

Branch: refs/heads/develop
Commit: e7078ceb7bf65e9493df709a19830d6afd4d0a8c
Parents: 7e3efcf
Author: Erik de Bruin <er...@ixsoftware.nl>
Authored: Fri Nov 21 11:43:46 2014 +0100
Committer: Erik de Bruin <er...@ixsoftware.nl>
Committed: Fri Nov 21 11:43:46 2014 +0100

----------------------------------------------------------------------
 .../codegen/mxml/vf2js/MXMLVF2JSEmitter.java    | 40 +-------------------
 1 file changed, 2 insertions(+), 38 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e7078ceb/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/vf2js/MXMLVF2JSEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/vf2js/MXMLVF2JSEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/vf2js/MXMLVF2JSEmitter.java
index 4d1205d..04fb87d 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/vf2js/MXMLVF2JSEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/vf2js/MXMLVF2JSEmitter.java
@@ -740,43 +740,7 @@ public class MXMLVF2JSEmitter extends MXMLEmitter implements
             MXMLVF2JSDescriptorSpecifier root = descriptorTree.get(0);
             root.isTopNode = false;
     
-            writeNewline("/**");
-            writeNewline(" * @override");
-            writeNewline(" * @return {Array} the Array of UI element descriptors.");
-            writeNewline(" */");
-            writeNewline(cname + ".prototype.get_MXMLDescriptor = function()");
-            indentPush();
-            writeNewline("{");
-            writeNewline("if (this.mxmldd == undefined)");
-            indentPush();
-            writeNewline("{");
-            writeNewline("/** @type {Array} */");
-            writeNewline("var arr = " + cname + ".base(this, 'get_MXMLDescriptor');");
-            writeNewline("/** @type {Array} */");
-            indentPop();
-            indentPop();
-            writeNewline("var data = [");
-    
-            writeNewline(root.output(true));
-    
-            indentPush();
-            writeNewline("];");
-            indentPush();
-            writeNewline("");
-            indentPush();
-            writeNewline("if (arr)");
-            indentPop();
-            writeNewline("this.mxmldd = arr.concat(data);");
-            indentPush();
-            writeNewline("else");
-            indentPop();
-            indentPop();
-            writeNewline("this.mxmldd = data;");
-            writeNewline("}");
-            indentPop();
-            writeNewline("return this.mxmldd;");
-            writeNewline("};");
-            writeNewline();
+            //writeNewline(root.output(true));
         }
         
         if (propertiesTree.propertySpecifiers.size() > 0 ||
@@ -791,7 +755,7 @@ public class MXMLVF2JSEmitter extends MXMLEmitter implements
             writeNewline(" * @expose");
             writeNewline(" */");
             writeNewline(cname + ".prototype.start = function () {");
-            writeNewline(root.output(true));
+            //writeNewline(root.output(true));
             writeNewline("};");
         }
     }


[13/17] git commit: [flex-falcon] [refs/heads/develop] - Add some Expression tests to VF2JS

Posted by er...@apache.org.
Add some Expression tests to VF2JS

Signed-off-by: Erik de Bruin <er...@ixsoftware.nl>


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

Branch: refs/heads/develop
Commit: 2d63f123c742c793a9b85db384fc10bbf9ea100a
Parents: 4b722a0
Author: Erik de Bruin <er...@ixsoftware.nl>
Authored: Fri Nov 21 12:19:07 2014 +0100
Committer: Erik de Bruin <er...@ixsoftware.nl>
Committed: Fri Nov 21 12:19:07 2014 +0100

----------------------------------------------------------------------
 .../codegen/js/vf2js/TestVF2JSExpressions.java  | 124 +++++++++++++++++++
 1 file changed, 124 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2d63f123/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSExpressions.java
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSExpressions.java b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSExpressions.java
new file mode 100644
index 0000000..e340fc7
--- /dev/null
+++ b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSExpressions.java
@@ -0,0 +1,124 @@
+/*
+ *
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+
+package org.apache.flex.compiler.internal.codegen.js.vf2js;
+
+import org.apache.flex.compiler.driver.IBackend;
+import org.apache.flex.compiler.internal.codegen.js.goog.TestGoogExpressions;
+import org.apache.flex.compiler.internal.driver.js.vf2js.VF2JSBackend;
+import org.apache.flex.compiler.tree.as.IBinaryOperatorNode;
+import org.apache.flex.compiler.tree.as.IFunctionCallNode;
+import org.apache.flex.compiler.tree.as.IFunctionNode;
+import org.apache.flex.compiler.tree.as.IMemberAccessExpressionNode;
+import org.apache.flex.compiler.tree.as.IVariableNode;
+import org.junit.Ignore;
+import org.junit.Test;
+
+/**
+ * @author Erik de Bruin
+ */
+public class TestVF2JSExpressions extends TestGoogExpressions
+{
+
+    @Ignore
+    @Override
+    @Test
+    public void testVisitLanguageIdentifierNode_SuperMember()
+    {
+        // (erikdebruin) this test doesn't make sense in VF2JS context
+        IMemberAccessExpressionNode node = (IMemberAccessExpressionNode) getNode(
+                "if (a) super.foo;", IMemberAccessExpressionNode.class);
+        asBlockWalker.visitMemberAccessExpression(node);
+        assertOut("super.foo");
+    }
+
+    @Override
+    @Test
+    public void testVisitLanguageIdentifierNode_SuperMethod_1()
+    {
+        IFunctionNode node = getMethod("function foo(){if (a) super.foo();}");
+        asBlockWalker.visitFunction(node);
+        assertOut("FalconTest_A.prototype.foo = function() {\n  if (a)\n    FalconTest_A.base(this, 'foo');\n}");
+    }
+
+    @Override
+    @Test
+    public void testVisitLanguageIdentifierNode_SuperMethod_2()
+    {
+        IFunctionNode node = getMethod("function foo(){if (a) super.foo(a, b, c);}");
+        asBlockWalker.visitFunction(node);
+        assertOut("FalconTest_A.prototype.foo = function() {\n  if (a)\n    FalconTest_A.base(this, 'foo', a, b, c);\n}");
+    }
+
+    @Override
+    @Test
+    public void testAnonymousFunctionWithParamsReturn()
+    {
+        IVariableNode node = (IVariableNode) getNode(
+                "var a:Object = function(foo:int, bar:String = 'goo'):int{return -1;};",
+                IVariableNode.class);
+        asBlockWalker.visitVariable(node);
+        assertOut("var /** @type {Object} */ a = function(foo, bar) {\n  bar = typeof bar !== 'undefined' ? bar : 'goo';\n  return -1;\n}");
+    }
+
+    @Override
+    @Test
+    public void testAnonymousFunctionAsArgument()
+    {
+        IFunctionCallNode node = (IFunctionCallNode) getNode(
+                "addListener('foo', function(event:Object):void{doit();})",
+                IFunctionCallNode.class);
+        asBlockWalker.visitFunctionCall(node);
+        assertOut("addListener('foo', function(event) {\n  doit();\n})");
+    }
+
+    @Override
+    @Test
+    public void testVisitAs()
+    {
+        IBinaryOperatorNode node = getBinaryNode("a as b");
+        asBlockWalker.visitBinaryOperator(node);
+        assertOut("org.apache.flex.utils.Language.as(a, b)");
+    }
+
+    @Test
+    public void testVisitAs2()
+    {
+        IFunctionNode node = (IFunctionNode) getNode(
+                "public class B {public function b(o:Object):int { var a:B; a = o as B; }}",
+                IFunctionNode.class, WRAP_LEVEL_PACKAGE, true);
+        asBlockWalker.visitFunction(node);
+        assertOut("/**\n * @expose\n * @param {Object} o\n * @return {number}\n */\nfoo.bar.B.prototype.b = function(o) {\n  var /** @type {foo.bar.B} */ a;\n  a = org.apache.flex.utils.Language.as(o, foo.bar.B);\n}");
+    }
+
+    @Override
+    @Test
+    public void testVisitBinaryOperator_Is()
+    {
+        IBinaryOperatorNode node = getBinaryNode("a is b");
+        asBlockWalker.visitBinaryOperator(node);
+        assertOut("org.apache.flex.utils.Language.is(a, b)");
+    }
+
+    protected IBackend createBackend()
+    {
+        return new VF2JSBackend();
+    }
+
+}


[04/17] git commit: [flex-falcon] [refs/heads/develop] - 'byte' is a reserved word in JS (according to GCC)

Posted by er...@apache.org.
'byte' is a reserved word in JS (according to GCC)

Signed-off-by: Erik de Bruin <er...@ixsoftware.nl>


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

Branch: refs/heads/develop
Commit: 7e3efcf0040a4332988da6c3e8ffe4f8d91e299b
Parents: 773774c
Author: Erik de Bruin <er...@ixsoftware.nl>
Authored: Fri Nov 21 11:42:06 2014 +0100
Committer: Erik de Bruin <er...@ixsoftware.nl>
Committed: Fri Nov 21 11:42:06 2014 +0100

----------------------------------------------------------------------
 compiler.jx/src/org/apache/flex/compiler/utils/NativeUtils.java | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/7e3efcf0/compiler.jx/src/org/apache/flex/compiler/utils/NativeUtils.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/utils/NativeUtils.java b/compiler.jx/src/org/apache/flex/compiler/utils/NativeUtils.java
index 4f53496..9ea630b 100644
--- a/compiler.jx/src/org/apache/flex/compiler/utils/NativeUtils.java
+++ b/compiler.jx/src/org/apache/flex/compiler/utils/NativeUtils.java
@@ -120,6 +120,8 @@ public class NativeUtils
         XMLList("XMLList"),
         */
         
+        _byte("byte"),
+        
         ;
         private final String value;
 


[02/17] git commit: [flex-falcon] [refs/heads/develop] - 'goog.require' for super classes were causing circular dependencies in SDK

Posted by er...@apache.org.
'goog.require' for super classes were causing circular dependencies in SDK

Signed-off-by: Erik de Bruin <er...@ixsoftware.nl>


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

Branch: refs/heads/develop
Commit: 16c4b3e6f8f42369a27ad8497744e220c7326918
Parents: 92a5dfe
Author: Erik de Bruin <er...@ixsoftware.nl>
Authored: Fri Nov 21 11:39:54 2014 +0100
Committer: Erik de Bruin <er...@ixsoftware.nl>
Committed: Fri Nov 21 11:39:54 2014 +0100

----------------------------------------------------------------------
 .../org/apache/flex/compiler/internal/graph/VF2JSDepsWriter.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/16c4b3e6/compiler.jx/src/org/apache/flex/compiler/internal/graph/VF2JSDepsWriter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/graph/VF2JSDepsWriter.java b/compiler.jx/src/org/apache/flex/compiler/internal/graph/VF2JSDepsWriter.java
index 5bb4013..4d625d4 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/graph/VF2JSDepsWriter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/graph/VF2JSDepsWriter.java
@@ -174,7 +174,7 @@ public class VF2JSDepsWriter {
                 		Charset.defaultCharset());
                 ArrayList<String> finalLines = new ArrayList<String>();
                 
-                String inherits = getBaseClass(fileLines, className);
+                //String inherits = getBaseClass(fileLines, className);
                 
                 for (String line : fileLines)
                 {
@@ -183,7 +183,7 @@ public class VF2JSDepsWriter {
                     {
                         int c2 = line.indexOf(")");
                         String s = line.substring(c + 14, c2 - 1);
-                        if (circulars.contains(s) && !s.equals(inherits))
+                        if (circulars.contains(s) /* && !s.equals(inherits) */ )
                             continue;
                     }
                     finalLines.add(line);


[06/17] git commit: [flex-falcon] [refs/heads/develop] - Run 'all' qualified name requests through subroutine, to allow modification (for now: int -> INT and byte -> 'byte_')

Posted by er...@apache.org.
Run 'all' qualified name requests through subroutine, to allow modification (for now: int -> INT and byte -> 'byte_')

Signed-off-by: Erik de Bruin <er...@ixsoftware.nl>


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

Branch: refs/heads/develop
Commit: 6ff35ec9589003aa0479bf95e148cb7bf06cbc6b
Parents: e7078ce
Author: Erik de Bruin <er...@ixsoftware.nl>
Authored: Fri Nov 21 11:46:34 2014 +0100
Committer: Erik de Bruin <er...@ixsoftware.nl>
Committed: Fri Nov 21 11:46:34 2014 +0100

----------------------------------------------------------------------
 .../codegen/js/vf2js/JSVF2JSEmitter.java        | 85 +++++++++++++-------
 1 file changed, 55 insertions(+), 30 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6ff35ec9/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/vf2js/JSVF2JSEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/vf2js/JSVF2JSEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/vf2js/JSVF2JSEmitter.java
index 939b2bf..5d182b9 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/vf2js/JSVF2JSEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/vf2js/JSVF2JSEmitter.java
@@ -151,7 +151,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
             }
             else
             {
-                String qname = definition.getQualifiedName();
+                String qname = parseQualifiedName(definition);
                 if (qname != null && !qname.equals(""))
                 {
                     write(qname);
@@ -210,7 +210,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
 
         getDoc().emitInterfaceDoc(node, project);
 
-        String qname = node.getQualifiedName();
+        String qname = parseQualifiedName(node);
         if (qname != null && !qname.equals(""))
         {
             write(qname);
@@ -247,7 +247,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
             {
                 writeGetSetPrefix(mnode.getNodeID() == ASTNodeID.GetterID);
             }
-            write(mnode.getQualifiedName());
+            write(parseQualifiedName(mnode));
             write(ASEmitterTokens.SPACE);
             writeToken(ASEmitterTokens.EQUAL);
             write(ASEmitterTokens.FUNCTION);
@@ -306,7 +306,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
                 	writeNewline("", true);
                 	if (vnode.hasModifier(ASModifier.STATIC))
                 	{
-                		write(cdnode.getQualifiedName());
+                		write(parseQualifiedName(cdnode));
                 	}
                 	else
                 	{
@@ -401,7 +401,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
         if (definition == null)
             definition = ndef.getContainingScope().getDefinition();
 
-        write(definition.getQualifiedName()
+        write(parseQualifiedName(definition)
                 + ASEmitterTokens.MEMBER_ACCESS.getToken() + root
                 + node.getName());
 
@@ -435,7 +435,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
             writeNewline("/**");
             writeNewline("@expose");
             writeNewline(" */");
-            writeNewline(definition.getQualifiedName()
+            writeNewline(parseQualifiedName(definition)
                     + ASEmitterTokens.MEMBER_ACCESS.getToken() + root
                     + "get_" + node.getName()
                     + ASEmitterTokens.SPACE.getToken() + ASEmitterTokens.EQUAL.getToken()
@@ -450,7 +450,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
             writeNewline("/**");
             writeNewline("@expose");
             writeNewline(" */");
-            writeNewline(definition.getQualifiedName()
+            writeNewline(parseQualifiedName(definition)
                     + ASEmitterTokens.MEMBER_ACCESS.getToken() + root
                     + "set_" + node.getName()
                     + ASEmitterTokens.SPACE.getToken() + ASEmitterTokens.EQUAL.getToken()
@@ -498,7 +498,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
 
         boolean isConstructor = node.isConstructor();
 
-        String qname = getTypeDefinition(node).getQualifiedName();
+        String qname = parseQualifiedName(getTypeDefinition(node));
         if (qname != null && !qname.equals(""))
         {
             write(qname);
@@ -547,8 +547,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
             write(ASEmitterTokens.PAREN_OPEN);
             write(qname);
             writeToken(ASEmitterTokens.COMMA);
-            String sname = getSuperClassDefinition(node, project)
-                    .getQualifiedName();
+            String sname = parseQualifiedName(getSuperClassDefinition(node, project));
             if (sname.equals(IASLanguageConstants.Object))
             	sname = IASLanguageConstants.Class;
             write(sname);
@@ -566,16 +565,16 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
         if (superClassDefinition == null)
             return false;
         
-        String qname = superClassDefinition.getQualifiedName();
+        String qname = parseQualifiedName(superClassDefinition);
 
         // ToDo (erikdebruin): need this to get the JS version of the SDK in 
         //                     shape?
         boolean useClassAsSuperClass = !qname.equals(IASLanguageConstants.Object);
         if (!useClassAsSuperClass)
         {
-        	if (node.getQualifiedName().equals("mx.core.EmbeddedFontRegistry") ||
-    			node.getQualifiedName().equals("mx.managers.HistoryManagerImpl") ||
-    			node.getQualifiedName().equals("mx.core.TextFieldFactory"))
+        	if (parseQualifiedName(node).equals("mx.core.EmbeddedFontRegistry") ||
+        		parseQualifiedName(node).equals("mx.managers.HistoryManagerImpl") ||
+        		parseQualifiedName(node).equals("mx.core.TextFieldFactory"))
         	{
         		useClassAsSuperClass = true;
         	}
@@ -624,7 +623,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
                 def = node.resolveCalledExpression(project);
                 // all new calls to a class should be fully qualified names
                 if (def instanceof ClassDefinition)
-                    write(def.getQualifiedName());
+                    write(parseQualifiedName(def));
                 else
                     // I think we still need this for "new someVarOfTypeClass"
                     getWalker().walk(node.getNameNode());
@@ -780,8 +779,8 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
         Iterator<IDefinition> visiblePropertiesIterator = defs.iterator();
         while (visiblePropertiesIterator.hasNext())
         {
-            if (nodeDef.getQualifiedName().equals(
-                    visiblePropertiesIterator.next().getQualifiedName()))
+            if (parseQualifiedName(nodeDef).equals(
+            		parseQualifiedName(visiblePropertiesIterator.next())))
                 return true;
         }
 
@@ -825,7 +824,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
         if (nodeDef != null
                 && nodeDef.isStatic() && nodeDef.getParent() != null)
         {
-            String sname = nodeDef.getParent().getQualifiedName();
+            String sname = parseQualifiedName(nodeDef.getParent());
             if (sname.length() > 0)
             {
                 write(sname);
@@ -926,7 +925,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
                 if (cnode == null)
                     return;
                 
-                write(cnode.getQualifiedName());
+                write(parseQualifiedName(cnode));
                 write(ASEmitterTokens.MEMBER_ACCESS);
                 write(JSGoogEmitterTokens.GOOG_BASE);
                 write(ASEmitterTokens.PAREN_OPEN);
@@ -934,7 +933,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
                 writeToken(ASEmitterTokens.COMMA);
                 write(ASEmitterTokens.SINGLE_QUOTE);
                 writeGetSetPrefix(!isAssignment);
-                write(nodeDef.getQualifiedName());
+                write(parseQualifiedName(nodeDef));
                 write(ASEmitterTokens.SINGLE_QUOTE);
                 if (isAssignment)
                 {
@@ -964,7 +963,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
         else if (emitName)
         {
             if (nodeDef != null)    
-                write(nodeDef.getQualifiedName());
+                write(parseQualifiedName(nodeDef));
             else
                 write(node.getName());
         }
@@ -1187,7 +1186,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
             
             IDefinition dnode = (node.getRightOperandNode()).resolve(project);
             if (dnode != null)
-                write(dnode.getQualifiedName());
+                write(parseQualifiedName(dnode));
             else
                 getWalker().walk(node.getRightOperandNode());
         }
@@ -1268,7 +1267,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
 
         IDefinition dnode = (right).resolve(project);
         if (dnode != null)
-            write(dnode.getQualifiedName());
+            write(parseQualifiedName(dnode));
         else
             getWalker().walk(right);
         
@@ -1379,7 +1378,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
             project = getWalker().getProject();
 
         getDoc().emitMethodDoc(fn, project);
-        write(type.getQualifiedName());
+        write(parseQualifiedName(type));
         if (!node.hasModifier(ASModifier.STATIC))
         {
             write(ASEmitterTokens.MEMBER_ACCESS);
@@ -1420,7 +1419,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
             return;
 
         writeNewline("/**");
-        writeNewline(" * " + type.getQualifiedName());
+        writeNewline(" * " + parseQualifiedName(type));
         writeNewline(" *");
         writeNewline(" * @fileoverview");
         writeNewline(" *");
@@ -1432,7 +1431,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
         write(JSGoogEmitterTokens.GOOG_PROVIDE);
         write(ASEmitterTokens.PAREN_OPEN);
         write(ASEmitterTokens.SINGLE_QUOTE);
-        write(type.getQualifiedName());
+        write(parseQualifiedName(type));
         write(ASEmitterTokens.SINGLE_QUOTE);
         write(ASEmitterTokens.PAREN_CLOSE);
         writeNewline(ASEmitterTokens.SEMICOLON);
@@ -1459,7 +1458,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
         ArrayList<String> requiresList = flexProject.getRequires(cu);
         ArrayList<String> interfacesList = flexProject.getInterfaces(cu);
 
-        String cname = type.getQualifiedName();
+        String cname = parseQualifiedName(type);
         ArrayList<String> writtenInstances = new ArrayList<String>();
         writtenInstances.add(cname); // make sure we don't add ourselves
 
@@ -1565,7 +1564,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
             getDoc().end();
 
             // a.B.prototype.AFJS_CLASS_INFO = {  };
-            write(type.getQualifiedName());
+            write(parseQualifiedName(type));
             write(ASEmitterTokens.MEMBER_ACCESS);
             write(JSEmitterTokens.PROTOTYPE);
             write(ASEmitterTokens.MEMBER_ACCESS);
@@ -1587,7 +1586,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
             write(JSFlexJSEmitterTokens.QNAME);
             writeToken(ASEmitterTokens.COLON);
             write(ASEmitterTokens.SINGLE_QUOTE);
-            write(tnode.getQualifiedName());
+            write(parseQualifiedName(tnode));
             write(ASEmitterTokens.SINGLE_QUOTE);
             write(ASEmitterTokens.BLOCK_CLOSE);
             write(ASEmitterTokens.SQUARE_CLOSE);
@@ -1609,7 +1608,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
                 int i = 0;
                 for (IExpressionNode enode : enodes)
                 { 
-                    write(enode.resolve(project).getQualifiedName());
+                    write(parseQualifiedName(enode.resolve(project)));
                     if (i < enodes.length - 1)
                         writeToken(ASEmitterTokens.COMMA);
                     i++;
@@ -1840,5 +1839,31 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
             	writeToken(ASEmitterTokens.COMMA);
         }
     }
+    
+    private String parseQualifiedName(IDefinitionNode def)
+    {
+    	return parseQualifiedNameString(def.getQualifiedName());
+    }
+    
+    private String parseQualifiedName(IDefinition def)
+    {
+    	return parseQualifiedNameString(def.getQualifiedName());
+    }
+
+    private String parseQualifiedNameString(String qNameString)
+    {
+    	// ToDo (erikdebruin): Ugly hacks for VF2JS ...
+    	if (qNameString.equals(IASLanguageConstants._int))
+    	{
+    		qNameString = qNameString.toUpperCase();
+    	}
+    	
+    	if (qNameString.equals("byte"))
+    	{
+    		qNameString = "$" + qNameString;
+    	}
+    	
+    	return qNameString;
+    }
 
 }


[07/17] git commit: [flex-falcon] [refs/heads/develop] - Override method to allow 'var' instead of 'const' while waiting for full ES6 support

Posted by er...@apache.org.
Override method to allow 'var' instead of 'const' while waiting for full ES6 support

Signed-off-by: Erik de Bruin <er...@ixsoftware.nl>


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

Branch: refs/heads/develop
Commit: 68206bcf65fcf9bdc92a882011e6747ffc2857c0
Parents: 6ff35ec
Author: Erik de Bruin <er...@ixsoftware.nl>
Authored: Fri Nov 21 11:47:17 2014 +0100
Committer: Erik de Bruin <er...@ixsoftware.nl>
Committed: Fri Nov 21 11:47:17 2014 +0100

----------------------------------------------------------------------
 .../internal/codegen/js/vf2js/JSVF2JSEmitter.java      | 13 +++++++++++++
 1 file changed, 13 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/68206bcf/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/vf2js/JSVF2JSEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/vf2js/JSVF2JSEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/vf2js/JSVF2JSEmitter.java
index 5d182b9..f6276d3 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/vf2js/JSVF2JSEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/vf2js/JSVF2JSEmitter.java
@@ -372,6 +372,19 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
     }
 
     @Override
+    protected void emitMemberKeyword(IDefinitionNode node)
+    {
+        if (node instanceof IFunctionNode)
+        {
+            writeToken(ASEmitterTokens.FUNCTION);
+        }
+        else if (node instanceof IVariableNode)
+        {
+            writeToken(ASEmitterTokens.VAR);
+        }
+    }
+
+    @Override
     public void emitField(IVariableNode node)
     {
         IDefinition definition = getClassDefinition(node);


[16/17] git commit: [flex-falcon] [refs/heads/develop] - Use 'superClass_.[method].call()' instead of '[Class].base()' when calling super method outside its subclass counterpart

Posted by er...@apache.org.
Use 'superClass_.[method].call()' instead of '[Class].base()' when calling super method outside its subclass counterpart

Signed-off-by: Erik de Bruin <er...@ixsoftware.nl>


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

Branch: refs/heads/develop
Commit: d27432aeac4b3f25e30385b416d54a6aa1e3fdef
Parents: 34725a7
Author: Erik de Bruin <er...@ixsoftware.nl>
Authored: Fri Nov 21 13:08:22 2014 +0100
Committer: Erik de Bruin <er...@ixsoftware.nl>
Committed: Fri Nov 21 13:08:22 2014 +0100

----------------------------------------------------------------------
 .../codegen/js/vf2js/JSVF2JSEmitter.java        | 58 +++++++++++++++++---
 1 file changed, 50 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/d27432ae/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/vf2js/JSVF2JSEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/vf2js/JSVF2JSEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/vf2js/JSVF2JSEmitter.java
index f6276d3..9a9a2c5 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/vf2js/JSVF2JSEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/vf2js/JSVF2JSEmitter.java
@@ -1025,11 +1025,39 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
         if (cnode == null)
             return;
         
-        write(cnode.getQualifiedName());
-        write(ASEmitterTokens.MEMBER_ACCESS);
-        write(JSGoogEmitterTokens.GOOG_BASE);
-        write(ASEmitterTokens.PAREN_OPEN);
-        write(ASEmitterTokens.THIS);
+        // (erikdebruin): Catch when a 'super' call does NOT match the enclosing
+        //                function call. The GCC only allows '.base()' calls
+        //                to matching super methods, so we need to use 
+        //                'goog.base' for these ...
+        boolean isCallToOtherSuperMethod = false;
+        try
+        {
+        	IExpressionNode d = fcnode.getNameNode();
+		    if (d != null && d instanceof IMemberAccessExpressionNode)
+		    {
+		    	IIdentifierNode b = (IIdentifierNode) ((IMemberAccessExpressionNode) d).getRightOperandNode();
+		    	
+		    	isCallToOtherSuperMethod = 
+		    			b != null && !b.getName().equals(fnode.getName());
+		    }
+        }
+		catch (Exception e) { /* Eat it! */ }
+        
+        if (isCallToOtherSuperMethod)
+        {
+        	write(ASEmitterTokens.THIS);
+            write(ASEmitterTokens.MEMBER_ACCESS);
+            write(JSGoogEmitterTokens.SUPERCLASS);
+            write(ASEmitterTokens.MEMBER_ACCESS);
+        }
+        else
+        {
+            write(parseQualifiedName(cnode));
+            write(ASEmitterTokens.MEMBER_ACCESS);
+            write(JSGoogEmitterTokens.GOOG_BASE);
+            write(ASEmitterTokens.PAREN_OPEN);
+            write(ASEmitterTokens.THIS);
+        }
 
         if (fnode != null && fnode.isConstructor())
         {
@@ -1041,8 +1069,12 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
 
         if (fnode != null && !fnode.isConstructor())
         {
-            writeToken(ASEmitterTokens.COMMA);
-            write(ASEmitterTokens.SINGLE_QUOTE);
+            if (!isCallToOtherSuperMethod)
+            {
+            	writeToken(ASEmitterTokens.COMMA);
+            	write(ASEmitterTokens.SINGLE_QUOTE);
+            }
+            
             if (fnode.getNodeID() == ASTNodeID.GetterID
                     || fnode.getNodeID() == ASTNodeID.SetterID)
                 writeGetSetPrefix(fnode.getNodeID() == ASTNodeID.GetterID);
@@ -1052,7 +1084,17 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
             		(IMemberAccessExpressionNode) fcnode.getNameNode();
             write(((IIdentifierNode) aenode.getRightOperandNode()).getName());
             
-            write(ASEmitterTokens.SINGLE_QUOTE);
+            if (!isCallToOtherSuperMethod)
+            {
+            	write(ASEmitterTokens.SINGLE_QUOTE);
+            }
+            else
+            {
+                write(ASEmitterTokens.MEMBER_ACCESS);
+                write(JSGoogEmitterTokens.GOOG_CALL);
+                write(ASEmitterTokens.PAREN_OPEN);
+                write(ASEmitterTokens.THIS);
+            }
         }
 
         IASNode[] anodes = null;


[08/17] git commit: [flex-falcon] [refs/heads/develop] - Disable ES6 'support' for now

Posted by er...@apache.org.
Disable ES6 'support' for now

Signed-off-by: Erik de Bruin <er...@ixsoftware.nl>


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

Branch: refs/heads/develop
Commit: 56b888675a8721940e09a0768ddfb7a1ad7a2882
Parents: 68206bc
Author: Erik de Bruin <er...@ixsoftware.nl>
Authored: Fri Nov 21 11:47:38 2014 +0100
Committer: Erik de Bruin <er...@ixsoftware.nl>
Committed: Fri Nov 21 11:47:38 2014 +0100

----------------------------------------------------------------------
 .../apache/flex/compiler/utils/VF2JSClosureCompilerWrapper.java    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/56b88867/compiler.jx/src/org/apache/flex/compiler/utils/VF2JSClosureCompilerWrapper.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/utils/VF2JSClosureCompilerWrapper.java b/compiler.jx/src/org/apache/flex/compiler/utils/VF2JSClosureCompilerWrapper.java
index 9fdf8d3..cdbdba6 100644
--- a/compiler.jx/src/org/apache/flex/compiler/utils/VF2JSClosureCompilerWrapper.java
+++ b/compiler.jx/src/org/apache/flex/compiler/utils/VF2JSClosureCompilerWrapper.java
@@ -138,7 +138,7 @@ public class VF2JSClosureCompilerWrapper
                     "goog.DEBUG", new Node(Token.TRUE));
             
             // ToDo (erikdebruin): re-evaluate this option on future GC release
-            options_.setLanguageIn(LanguageMode.ECMASCRIPT6_STRICT);
+            //options_.setLanguageIn(LanguageMode.ECMASCRIPT6_STRICT);
             
             options_.setPreferSingleQuotes(true);
             


[10/17] git commit: [flex-falcon] [refs/heads/develop] - Make nagging warning in Eclipse go away ...

Posted by er...@apache.org.
Make nagging warning in Eclipse go away ...

Signed-off-by: Erik de Bruin <er...@ixsoftware.nl>


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

Branch: refs/heads/develop
Commit: 9457afef5e1b50b83d1c1dfb9434dd6ab2cd2cff
Parents: 048623e
Author: Erik de Bruin <er...@ixsoftware.nl>
Authored: Fri Nov 21 11:54:42 2014 +0100
Committer: Erik de Bruin <er...@ixsoftware.nl>
Committed: Fri Nov 21 11:54:42 2014 +0100

----------------------------------------------------------------------
 compiler/src/org/apache/flex/swf/io/SWFDump.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/9457afef/compiler/src/org/apache/flex/swf/io/SWFDump.java
----------------------------------------------------------------------
diff --git a/compiler/src/org/apache/flex/swf/io/SWFDump.java b/compiler/src/org/apache/flex/swf/io/SWFDump.java
index 090b2a2..2f500ae 100644
--- a/compiler/src/org/apache/flex/swf/io/SWFDump.java
+++ b/compiler/src/org/apache/flex/swf/io/SWFDump.java
@@ -98,7 +98,7 @@ public final class SWFDump
      * Dump a SWF at a given URL.
      * 
      * @param url URL of the SWF to dump.
-     * @throws IOException
+     * @throws IOException Any IO error ;-)
      */
     public void dump(URL url) throws IOException
     {