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
{