You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by jo...@apache.org on 2016/01/12 22:11:57 UTC
[1/4] git commit: [flex-falcon] [refs/heads/develop] - ASBlockWalker:
internal classes, interfaces, functions,
and variables that aren't in a package must appear after a package
Repository: flex-falcon
Updated Branches:
refs/heads/develop 3044c462a -> 498716d12
ASBlockWalker: internal classes, interfaces, functions, and variables that aren't in a package must appear after a package
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/0df8a518
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/0df8a518
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/0df8a518
Branch: refs/heads/develop
Commit: 0df8a51808bb539122729bf93b8471bdb8b59287
Parents: b74b09d
Author: Josh Tynjala <jo...@apache.org>
Authored: Tue Jan 12 11:56:03 2016 -0800
Committer: Josh Tynjala <jo...@apache.org>
Committed: Tue Jan 12 11:56:24 2016 -0800
----------------------------------------------------------------------
.../internal/codegen/as/ASBlockWalker.java | 44 +++++++++++++-------
1 file changed, 28 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/0df8a518/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASBlockWalker.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASBlockWalker.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASBlockWalker.java
index b405bb0..d31ea74 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASBlockWalker.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASBlockWalker.java
@@ -179,6 +179,7 @@ public class ASBlockWalker implements IASBlockVisitor, IASBlockWalker
{
debug("visitFile()");
+ boolean foundPackage = false;
int nodeCount = node.getChildCount();
for (int i = 0; i < nodeCount; i++)
{
@@ -187,22 +188,33 @@ public class ASBlockWalker implements IASBlockVisitor, IASBlockWalker
// ToDo (erikdebruin): handle other types of root node, such as when
// there is no wrapping Package or Class, like
// in mx.core.Version
- if (pnode != null &&
- (pnode instanceof IPackageNode ||
- pnode instanceof IInterfaceNode ||
- pnode instanceof IClassNode ||
- pnode instanceof IFunctionNode ||
- pnode instanceof IVariableNode))
- {
- walk(pnode);
-
- if (i < nodeCount - 1)
- {
- emitter.writeNewline();
- emitter.writeNewline();
- emitter.writeNewline();
- }
- }
+ if (pnode != null)
+ {
+ boolean isPackage = pnode instanceof IPackageNode;
+ boolean isAllowedAfterPackage = false;
+ if(isPackage)
+ {
+ foundPackage = true;
+ }
+ else if(foundPackage)
+ {
+ isAllowedAfterPackage = pnode instanceof IInterfaceNode
+ || pnode instanceof IClassNode
+ || pnode instanceof IFunctionNode
+ || pnode instanceof IVariableNode;
+ }
+ if(isPackage || isAllowedAfterPackage)
+ {
+ walk(pnode);
+
+ if (i < nodeCount - 1)
+ {
+ emitter.writeNewline();
+ emitter.writeNewline();
+ emitter.writeNewline();
+ }
+ }
+ }
}
}
[2/4] git commit: [flex-falcon] [refs/heads/develop] -
compiler.jx.tests: added tests for internal file-level functions and
variables after package
Posted by jo...@apache.org.
compiler.jx.tests: added tests for internal file-level functions and variables after package
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/2d9c9441
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/2d9c9441
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/2d9c9441
Branch: refs/heads/develop
Commit: 2d9c9441187cd48e1d81df7668da81c3bcf5e56c
Parents: 0df8a51
Author: Josh Tynjala <jo...@apache.org>
Authored: Tue Jan 12 12:12:20 2016 -0800
Committer: Josh Tynjala <jo...@apache.org>
Committed: Tue Jan 12 12:12:20 2016 -0800
----------------------------------------------------------------------
.../codegen/js/flexjs/TestFlexJSPackage.java | 89 ++++++++++++++++++++
1 file changed, 89 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2d9c9441/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSPackage.java
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSPackage.java b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSPackage.java
index dfb4b75..6469c6e 100644
--- a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSPackage.java
+++ b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSPackage.java
@@ -141,6 +141,95 @@ public class TestFlexJSPackage extends TestGoogPackage
"foo.bar.baz.A.InternalClass.prototype.FLEXJS_CLASS_INFO = { names: [{ name: 'InternalClass', qName: 'foo.bar.baz.A.InternalClass'}] };\n");
}
+ @Test
+ public void testPackageQualified_ClassAndInternalFunction()
+ {
+ IFileNode node = compileAS("package foo.bar.baz {\n" +
+ "public class A {\n" +
+ "public function A(){\n" +
+ "internalFunction();\n" +
+ "}}}\n" +
+ "function internalFunction(){}");
+ asBlockWalker.visitFile(node);
+ assertOutWithMetadata("/**\n" +
+ " * foo.bar.baz.A\n" +
+ " *\n" +
+ " * @fileoverview\n" +
+ " *\n" +
+ " * @suppress {checkTypes|accessControls}\n" +
+ " */\n" +
+ "\n" +
+ "goog.provide('foo.bar.baz.A');\n" +
+ "\n" +
+ "\n" +
+ "\n" +
+ "/**\n" +
+ " * @constructor\n" +
+ " */\n" +
+ "foo.bar.baz.A = function() {\n" +
+ " foo.bar.baz.A.internalFunction();\n" +
+ "};\n" +
+ "\n" +
+ "\n/" +
+ "**\n" +
+ " * Metadata\n" +
+ " *\n" +
+ " * @type {Object.<string, Array.<Object>>}\n" +
+ " */\n" +
+ "foo.bar.baz.A.prototype.FLEXJS_CLASS_INFO = { names: [{ name: 'A', qName: 'foo.bar.baz.A'}] };\n" +
+ "\n" +
+ "\n" +
+ "\n" +
+ "foo.bar.baz.A.internalFunction = function() {\n" +
+ "}");
+ }
+
+ @Test
+ public void testPackageQualified_ClassAndInternalVariable()
+ {
+ IFileNode node = compileAS("package foo.bar.baz {\n" +
+ "public class A {\n" +
+ "public function A(){\n" +
+ "internalVar = 3;\n" +
+ "}}}\n" +
+ "var internalVar:Number = 2;");
+ asBlockWalker.visitFile(node);
+ assertOutWithMetadata("/**\n" +
+ " * foo.bar.baz.A\n" +
+ " *\n" +
+ " * @fileoverview\n" +
+ " *\n" +
+ " * @suppress {checkTypes|accessControls}\n" +
+ " */\n" +
+ "\n" +
+ "goog.provide('foo.bar.baz.A');\n" +
+ "\n" +
+ "\n" +
+ "\n" +
+ "/**\n" +
+ " * @constructor\n" +
+ " */\n" +
+ "foo.bar.baz.A = function() {\n" +
+ " foo.bar.baz.A.internalVar = 3;\n" +
+ "};\n" +
+ "\n" +
+ "\n/" +
+ "**\n" +
+ " * Metadata\n" +
+ " *\n" +
+ " * @type {Object.<string, Array.<Object>>}\n" +
+ " */\n" +
+ "foo.bar.baz.A.prototype.FLEXJS_CLASS_INFO = { names: [{ name: 'A', qName: 'foo.bar.baz.A'}] };\n" +
+ "\n" +
+ "\n" +
+ "\n" +
+ "/**\n" +
+ " * @export\n" +
+ " * @type {number}\n" +
+ " */\n" +
+ "foo.bar.baz.A.internalVar = 2");
+ }
+
@Test
public void testPackageQualified_ClassAndInternalClassMethods()
{
[3/4] git commit: [flex-falcon] [refs/heads/develop] -
compiler.jx.tests: added tests for package-level functions and variables
Posted by jo...@apache.org.
compiler.jx.tests: added tests for package-level functions and variables
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/118764df
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/118764df
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/118764df
Branch: refs/heads/develop
Commit: 118764df7226dfa836610f11e0b87882f13742a6
Parents: 2d9c944
Author: Josh Tynjala <jo...@apache.org>
Authored: Tue Jan 12 13:10:46 2016 -0800
Committer: Josh Tynjala <jo...@apache.org>
Committed: Tue Jan 12 13:10:46 2016 -0800
----------------------------------------------------------------------
.../codegen/js/flexjs/TestFlexJSPackage.java | 32 ++++++++++++++++++++
1 file changed, 32 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/118764df/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSPackage.java
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSPackage.java b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSPackage.java
index 6469c6e..3d9fe41 100644
--- a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSPackage.java
+++ b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSPackage.java
@@ -502,6 +502,38 @@ public class TestFlexJSPackage extends TestGoogPackage
" */\n" +
"foo.bar.baz.A.InternalClass.prototype.FLEXJS_CLASS_INFO = { names: [{ name: 'InternalClass', qName: 'foo.bar.baz.A.InternalClass'}], interfaces: [foo.bar.baz.A.ITestInterface] };\n");
}
+
+ @Test
+ public void testPackageSimple_Function()
+ {
+ IFileNode node = compileAS("package {public function A(){}}");
+ asBlockWalker.visitFile(node);
+ assertOutWithMetadata("/**\n * A\n *\n * @fileoverview\n *\n * @suppress {checkTypes|accessControls}\n */\n\ngoog.provide('A');\n\n/**\n * @export\n */\nA = function() {\n}");
+ }
+
+ @Test
+ public void testPackageQualified_Function()
+ {
+ IFileNode node = compileAS("package foo.bar.baz {public function A(){}}");
+ asBlockWalker.visitFile(node);
+ assertOutWithMetadata("/**\n * foo.bar.baz.A\n *\n * @fileoverview\n *\n * @suppress {checkTypes|accessControls}\n */\n\ngoog.provide('foo.bar.baz.A');\n\n/**\n * @export\n */\nfoo.bar.baz.A = function() {\n}");
+ }
+
+ @Test
+ public void testPackageSimple_Variable()
+ {
+ IFileNode node = compileAS("package {public var A:String = \"Hello\";");
+ asBlockWalker.visitFile(node);
+ assertOutWithMetadata("/**\n * A\n *\n * @fileoverview\n *\n * @suppress {checkTypes|accessControls}\n */\n\ngoog.provide('A');\n\n/**\n * @export\n * @type {string}\n */\nA = \"Hello\"");
+ }
+
+ @Test
+ public void testPackageQualified_Variable()
+ {
+ IFileNode node = compileAS("package foo.bar.baz {public var A:String = \"Hello\";");
+ asBlockWalker.visitFile(node);
+ assertOutWithMetadata("/**\n * foo.bar.baz.A\n *\n * @fileoverview\n *\n * @suppress {checkTypes|accessControls}\n */\n\ngoog.provide('foo.bar.baz.A');\n\n/**\n * @export\n * @type {string}\n */\nfoo.bar.baz.A = \"Hello\"");
+ }
@Override
protected IBackend createBackend()
[4/4] git commit: [flex-falcon] [refs/heads/develop] - Merge branch
'develop' of https://git-wip-us.apache.org/repos/asf/flex-falcon into develop
Posted by jo...@apache.org.
Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/flex-falcon into develop
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/498716d1
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/498716d1
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/498716d1
Branch: refs/heads/develop
Commit: 498716d124ab4e4221eedb860a2f954cf71eb801
Parents: 118764d 3044c46
Author: Josh Tynjala <jo...@apache.org>
Authored: Tue Jan 12 13:11:04 2016 -0800
Committer: Josh Tynjala <jo...@apache.org>
Committed: Tue Jan 12 13:11:04 2016 -0800
----------------------------------------------------------------------
build.xml | 22 +++++++++++++---------
1 file changed, 13 insertions(+), 9 deletions(-)
----------------------------------------------------------------------