flex-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cd...@apache.org
Subject [2/7] git commit: [flex-falcon] [refs/heads/feature-autobuild/closure-classpath-sources] - - Greatly worked on cleaning up the compiler code
Date Mon, 31 Oct 2016 14:00:42 GMT
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/3724c2ff/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSClass.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSClass.java b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSClass.java
deleted file mode 100644
index b947740..0000000
--- a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSClass.java
+++ /dev/null
@@ -1,401 +0,0 @@
-/*
- *
- *  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 java.io.File;
-import java.util.List;
-
-import org.apache.flex.compiler.driver.IBackend;
-import org.apache.flex.compiler.internal.codegen.js.goog.TestGoogClass;
-import org.apache.flex.compiler.internal.driver.js.vf2js.VF2JSBackend;
-import org.apache.flex.compiler.tree.as.IClassNode;
-import org.apache.flex.compiler.tree.as.IFileNode;
-import org.junit.Test;
-
-/**
- * @author Erik de Bruin
- */
-public class TestVF2JSClass extends TestGoogClass
-{
-
-    @Override
-    @Test
-    public void testSimple()
-    {
-        IClassNode node = getClassNode("public class A{}");
-        asBlockWalker.visitClass(node);
-        assertOut("/**\n * @constructor\n */\norg.apache.flex.A = function() {};");
-    }
-
-    @Override
-    @Test
-    public void testSimpleInternal()
-    {
-        // (erikdebruin) the AS compiler will enforce 'internal' namespace, 
-        //               in JS we ignore it
-        IClassNode node = getClassNode("internal class A{}");
-        asBlockWalker.visitClass(node);
-        assertOut("/**\n * @constructor\n */\norg.apache.flex.A = function() {};");
-    }
-
-    @Override
-    @Test
-    public void testSimpleFinal()
-    {
-        // (erikdebruin) the AS compiler will enforce the 'final' keyword, 
-        //               in JS we ignore it
-        IClassNode node = getClassNode("public final class A{}");
-        asBlockWalker.visitClass(node);
-        assertOut("/**\n * @constructor\n */\norg.apache.flex.A = function() {};");
-    }
-
-    @Override
-    @Test
-    public void testSimpleDynamic()
-    {
-        // (erikdebruin) all JS objects are 'dynamic' by design
-        IClassNode node = getClassNode("public dynamic class A{}");
-        asBlockWalker.visitClass(node);
-        assertOut("/**\n * @constructor\n */\norg.apache.flex.A = function() {};");
-    }
-
-    @Override
-    @Test
-    public void testConstructor_super()
-    {
-        IClassNode node = getClassNode("public class A {public function A() { super(); }}");
-        asBlockWalker.visitClass(node);
-        assertOut("/**\n * @constructor\n */\norg.apache.flex.A = function() {\n  ;\n};");
-    }
-
-    @Override
-    @Test
-    public void testSimpleExtends()
-    {
-        IClassNode node = getClassNode("public class A extends Button {public function A() {}}");
-        asBlockWalker.visitClass(node);
-        assertOut("/**\n * @constructor\n * @extends {spark.components.Button}\n */\norg.apache.flex.A = function() {\n  org.apache.flex.A.base(this, 'constructor');\n};\ngoog.inherits(org.apache.flex.A, spark.components.Button);");
-    }
-
-    @Override
-    @Test
-    public void testSimpleImplements()
-    {
-        IClassNode node = getClassNode("public class A implements IEventDispatcher {public function A() {}}");
-        asBlockWalker.visitClass(node);
-        assertOut("/**\n * @constructor\n * @implements {flash.events.IEventDispatcher}\n */\norg.apache.flex.A = function() {};");
-    }
-
-    @Override
-    @Test
-    public void testSimpleImplementsMultiple()
-    {
-        IClassNode node = getClassNode("public class A implements IEventDispatcher, ILogger {public function A() {}}");
-        asBlockWalker.visitClass(node);
-        assertOut("/**\n * @constructor\n * @implements {flash.events.IEventDispatcher}\n * @implements {mx.logging.ILogger}\n */\norg.apache.flex.A = function() {};");
-    }
-
-    @Override
-    @Test
-    public void testSimpleExtendsImplements()
-    {
-        IClassNode node = getClassNode("public class A extends Button implements IEventDispatcher {public function A() {}}");
-        asBlockWalker.visitClass(node);
-        assertOut("/**\n * @constructor\n * @extends {spark.components.Button}\n * @implements {flash.events.IEventDispatcher}\n */\norg.apache.flex.A = function() {\n  org.apache.flex.A.base(this, 'constructor');\n};\ngoog.inherits(org.apache.flex.A, spark.components.Button);");
-    }
-
-    @Override
-    @Test
-    public void testSimpleExtendsImplementsMultiple()
-    {
-        IClassNode node = getClassNode("public class A extends Button implements IEventDispatcher, ILogger {public function A() {}}");
-        asBlockWalker.visitClass(node);
-        assertOut("/**\n * @constructor\n * @extends {spark.components.Button}\n * @implements {flash.events.IEventDispatcher}\n * @implements {mx.logging.ILogger}\n */\norg.apache.flex.A = function() {\n  org.apache.flex.A.base(this, 'constructor');\n};\ngoog.inherits(org.apache.flex.A, spark.components.Button);");
-    }
-
-    @Override
-    @Test
-    public void testSimpleFinalExtendsImplementsMultiple()
-    {
-        IClassNode node = getClassNode("public final class A extends Button implements IEventDispatcher, ILogger {public function A() {}}");
-        asBlockWalker.visitClass(node);
-        assertOut("/**\n * @constructor\n * @extends {spark.components.Button}\n * @implements {flash.events.IEventDispatcher}\n * @implements {mx.logging.ILogger}\n */\norg.apache.flex.A = function() {\n  org.apache.flex.A.base(this, 'constructor');\n};\ngoog.inherits(org.apache.flex.A, spark.components.Button);");
-    }
-
-    @Override
-    @Test
-    public void testQualifiedExtendsImplementsMultiple()
-    {
-        IClassNode node = getClassNode("public class A extends spark.components.Button implements flash.events.IEventDispatcher, mx.logging.ILogger {public function A() {}}");
-        asBlockWalker.visitClass(node);
-        assertOut("/**\n * @constructor\n * @extends {spark.components.Button}\n * @implements {flash.events.IEventDispatcher}\n * @implements {mx.logging.ILogger}\n */\norg.apache.flex.A = function() {\n  org.apache.flex.A.base(this, 'constructor');\n};\ngoog.inherits(org.apache.flex.A, spark.components.Button);");
-    }
-
-    @Override
-    @Test
-    public void testConstructor()
-    {
-        IClassNode node = getClassNode("public class A {public function A() { }}");
-        asBlockWalker.visitClass(node);
-        assertOut("/**\n * @constructor\n */\norg.apache.flex.A = function() {};");
-    }
-
-    @Override
-    @Test
-    public void testExtendsConstructor_super()
-    {
-        IClassNode node = getClassNode("public class A extends spark.components.Button { public function A() { super('foo', 42);}}");
-        asBlockWalker.visitClass(node);
-        assertOut("/**\n * @constructor\n * @extends {spark.components.Button}\n */\norg.apache.flex.A = function() {\n  org.apache.flex.A.base(this, 'constructor', 'foo', 42);\n};\ngoog.inherits(org.apache.flex.A, spark.components.Button);");
-    }
-
-    @Override
-    @Test
-    public void testConstructor_withArguments()
-    {
-        IClassNode node = getClassNode("public class A {public function A(arg1:String, arg2:int) {}}");
-        asBlockWalker.visitClass(node);
-        assertOut("/**\n * @constructor\n * @param {string} arg1\n * @param {number} arg2\n */\norg.apache.flex.A = function(arg1, arg2) {};");
-    }
-
-    @Test
-    public void testConstructor_withArgumentNameMatchingMemberName()
-    {
-        IClassNode node = getClassNode("public class B {public function B(arg1:String) {this.arg1 = arg1}; public var arg1:String;}");
-        asBlockWalker.visitClass(node);
-        String expected = "/**\n * @constructor\n * @param {string} arg1\n */\norg.apache.flex.B = function(arg1) {\n  this.arg1 = arg1;\n};\n\n\n/**\n * @type {string}\n */\norg.apache.flex.B.prototype.arg1;";
-        assertOut(expected);
-    }
-
-    @Test
-    public void testMethod_withImplicitSelfInReturnValue()
-    {
-        IClassNode node = getClassNode("public class B {public function B() {}; public var button:Button = new Button(); public function foo():String {return button.label;};}");
-        asBlockWalker.visitClass(node);
-        String expected = "/**\n * @constructor\n */\norg.apache.flex.B = function() {\n  this.button = new spark.components.Button();\n};\n\n\n/**\n * @type {spark.components.Button}\n */\norg.apache.flex.B.prototype.button;\n\n\n/**\n * @export\n * @return {string}\n */\norg.apache.flex.B.prototype.foo = function() {\n  return this.button.get_label();\n};";
-        assertOut(expected);
-    }
-
-    @Test
-    public void testMethod_noArgsNoReturn()
-    {
-        IClassNode node = getClassNode("public class B {public function B() {}; public function foo():void {};}");
-        asBlockWalker.visitClass(node);
-        String expected = "/**\n * @constructor\n */\norg.apache.flex.B = function() {};\n\n\n/**\n * @export\n */\norg.apache.flex.B.prototype.foo = function() {\n};";
-        assertOut(expected);
-    }
-
-    @Test
-    public void testMethod_override()
-    {
-        IClassNode node = getClassNode("public class B {public function B() {}; override public function foo():void {};}");
-        asBlockWalker.visitClass(node);
-        String expected = "/**\n * @constructor\n */\norg.apache.flex.B = function() {};\n\n\n/**\n * @export\n * @override\n */\norg.apache.flex.B.prototype.foo = function() {\n};";
-        assertOut(expected);
-    }
-
-    @Test
-    public void testMethod_overrideWithFunctionBody()
-    {
-        IClassNode node = getClassNode("public class B {public function B() {}; override public function foo(value:Object):void {baz = ''};}");
-        asBlockWalker.visitClass(node);
-        String expected = "/**\n * @constructor\n */\norg.apache.flex.B = function() {};\n\n\n/**\n * @export\n * @param {Object} value\n * @override\n */\norg.apache.flex.B.prototype.foo = function(value) {\n  baz = '';\n};";
-        assertOut(expected);
-    }
-
-    @Test
-    public void testMethod_overrideSuperCall()
-    {
-        IClassNode node = getClassNode("public class B {public function B() {}; override public function foo():void {super.foo();};}");
-        asBlockWalker.visitClass(node);
-        String expected = "/**\n * @constructor\n */\norg.apache.flex.B = function() {};\n\n\n/**\n * @export\n * @override\n */\norg.apache.flex.B.prototype.foo = function() {\n  org.apache.flex.B.base(this, 'foo');\n};";
-        assertOut(expected);
-    }
-
-    @Test
-    public void testMethod_setterCall()
-    {
-        IClassNode node = getClassNode("public class B {public function B() {}; public function set baz(value:Object):void {}; public function set foo(value:Object):void {baz = value;};}");
-        asBlockWalker.visitClass(node);
-        String expected = "/**\n * @constructor\n */\norg.apache.flex.B = function() {};\n\n\n/**\n * @export\n * @param {Object} value\n */\norg.apache.flex.B.prototype.set_baz = function(value) {\n};\n\n\n/**\n * @export\n * @param {Object} value\n */\norg.apache.flex.B.prototype.set_foo = function(value) {\n  this.set_baz(value);\n};";
-        assertOut(expected);
-    }
-
-    @Test
-    public void testMethod_overrideSetterSuperCall()
-    {
-        IClassNode node = getClassNode("public class B {public function B() {}; override public function set foo(value:Object):void {super.foo = value;};}");
-        asBlockWalker.visitClass(node);
-        String expected = "/**\n * @constructor\n */\norg.apache.flex.B = function() {};\n\n\n/**\n * @export\n * @param {Object} value\n * @override\n */\norg.apache.flex.B.prototype.set_foo = function(value) {\n  org.apache.flex.B.base(this, 'set_foo', value);\n};";
-        assertOut(expected);
-    }
-
-    @Override
-    @Test
-    public void testExtendsConstructor_withArguments()
-    {
-        IClassNode node = getClassNode("public class A extends spark.components.Button {public function A(arg1:String, arg2:int) {}}");
-        asBlockWalker.visitClass(node);
-        assertOut("/**\n * @constructor\n * @extends {spark.components.Button}\n * @param {string} arg1\n * @param {number} arg2\n */\norg.apache.flex.A = function(arg1, arg2) {\n  org.apache.flex.A.base(this, 'constructor', arg1, arg2);\n};\ngoog.inherits(org.apache.flex.A, spark.components.Button);");
-    }
-
-    @Override
-    @Test
-    public void testFields()
-    {
-        IClassNode node = getClassNode("public class A {public var a:Object;protected var b:String; "
-                + "private var c:int; internal var d:uint; var e:Number}");
-        asBlockWalker.visitClass(node);
-        assertOut("/**\n * @constructor\n */\norg.apache.flex.A = function() {};\n\n\n/**\n * @type {Object}\n */\norg.apache.flex.A.prototype.a;\n\n\n/**\n * @protected\n * @type {string}\n */\norg.apache.flex.A.prototype.b;\n\n\n/**\n * @private\n * @type {number}\n */\norg.apache.flex.A.prototype.c;\n\n\n/**\n * @type {number}\n */\norg.apache.flex.A.prototype.d;\n\n\n/**\n * @type {number}\n */\norg.apache.flex.A.prototype.e;");
-    }
-
-    @Test
-    public void testFieldWithEmbed()
-    {
-        IClassNode node = getClassNode("public class A {[Embed(source=\"LuminosityMaskFilter.pbj\", mimeType=\"application/octet-stream\")]\nprivate static var ShaderClass:Class;}");
-        asBlockWalker.visitClass(node);
-        assertOut("/**\n * @constructor\n */\norg.apache.flex.A = function() {};\n\n\n/**\n * @private\n * @type {Object}\n */\norg.apache.flex.A.ShaderClass;");
-    }
-    
-    @Test
-    public void testFieldWithObjectAssignment()
-    {
-    	IClassNode node = getClassNode("public class A {private var controlBarGroupProperties:Object = { visible: true }; private var _visible:Boolean; public function get visible():Boolean { return _visible; }; public function set visible(value:Boolean):void { _visible = value; };}");
-    	asBlockWalker.visitClass(node);
-    	assertOut("/**\n * @constructor\n */\norg.apache.flex.A = function() {};\n\n\n/**\n * @private\n * @type {Object}\n */\norg.apache.flex.A.prototype.controlBarGroupProperties = {visible:true};\n\n\n/**\n * @private\n * @type {boolean}\n */\norg.apache.flex.A.prototype._visible;\n\n\n/**\n * @export\n * @return {boolean}\n */\norg.apache.flex.A.prototype.get_visible = function() {\n  return this._visible;\n};\n\n\n/**\n * @export\n * @param {boolean} value\n */\norg.apache.flex.A.prototype.set_visible = function(value) {\n  this._visible = value;\n};");
-    }
-
-    @Override
-    @Test
-    public void testConstants()
-    {
-        IClassNode node = getClassNode("public class A {"
-                + "public static const A:int = 42;"
-                + "protected static const B:Number = 42;"
-                + "private static const C:Number = 42;"
-                + "foo_bar static const C:String = 'me' + 'you';");
-        asBlockWalker.visitClass(node);
-        assertOut("/**\n * @constructor\n */\norg.apache.flex.A = function() {\n  org.apache.flex.A.C = 'me' + 'you';\n};\n\n\n/**\n * @const\n * @type {number}\n */\norg.apache.flex.A.A = 42;\n\n\n/**\n * @protected\n * @const\n * @type {number}\n */\norg.apache.flex.A.B = 42;\n\n\n/**\n * @private\n * @const\n * @type {number}\n */\norg.apache.flex.A.C = 42;\n\n\n/**\n * @const\n * @type {string}\n */\norg.apache.flex.A.C;");
-    }
-
-    @Override
-    @Test
-    public void testAccessors()
-    {
-        IClassNode node = getClassNode("public class A {"
-                + "public function get foo1():Object{return null;}"
-                + "public function set foo1(value:Object):void{}"
-                + "protected function get foo2():Object{return null;}"
-                + "protected function set foo2(value:Object):void{}"
-                + "private function get foo3():Object{return null;}"
-                + "private function set foo3(value:Object):void{}"
-                + "internal function get foo5():Object{return null;}"
-                + "internal function set foo5(value:Object):void{}"
-                + "foo_bar function get foo6():Object{return null;}"
-                + "foo_bar function set foo6(value:Object):void{}" + "}");
-        asBlockWalker.visitClass(node);
-        assertOut("/**\n * @constructor\n */\norg.apache.flex.A = function() {};\n\n\n/**\n * @export\n * @return {Object}\n */\norg.apache.flex.A.prototype.get_foo1 = function() {\n  return null;\n};\n\n\n/**\n * @export\n * @param {Object} value\n */\norg.apache.flex.A.prototype.set_foo1 = function(value) {\n};\n\n\n/**\n * @protected\n * @return {Object}\n */\norg.apache.flex.A.prototype.get_foo2 = function() {\n  return null;\n};\n\n\n/**\n * @protected\n * @param {Object} value\n */\norg.apache.flex.A.prototype.set_foo2 = function(value) {\n};\n\n\n/**\n * @private\n * @return {Object}\n */\norg.apache.flex.A.prototype.get_foo3 = function() {\n  return null;\n};\n\n\n/**\n * @private\n * @param {Object} value\n */\norg.apache.flex.A.prototype.set_foo3 = function(value) {\n};\n\n\n/**\n * @return {Object}\n */\norg.apache.flex.A.prototype.get_foo5 = function() {\n  return null;\n};\n\n\n/**\n * @param {Object} value\n */\norg.apache.flex.A.prototype.set_foo5 = function(value) {\
 n};\n\n\n/**\n * @return {Object}\n */\norg.apache.flex.A.prototype.get_foo6 = function() {\n  return null;\n};\n\n\n/**\n * @param {Object} value\n */\norg.apache.flex.A.prototype.set_foo6 = function(value) {\n};");
-    }
-
-    @Override
-    @Test
-    public void testMethods()
-    {
-        IClassNode node = getClassNode("public class A {"
-                + "public function foo1():Object{return null;}"
-                + "public final function foo1a():Object{return null;}"
-                + "override public function foo1b():Object{return super.foo1b();}"
-                + "protected function foo2(value:Object):void{}"
-                + "private function foo3(value:Object):void{}"
-                + "internal function foo5(value:Object):void{}"
-                + "foo_bar function foo6(value:Object):void{}"
-                + "public static function foo7(value:Object):void{}"
-                + "foo_bar static function foo7(value:Object):void{}" + "}");
-        asBlockWalker.visitClass(node);
-        assertOut("/**\n * @constructor\n */\norg.apache.flex.A = function() {};\n\n\n/**\n * @export\n * @return {Object}\n */\norg.apache.flex.A.prototype.foo1 = function() {\n  return null;\n};\n\n\n/**\n * @export\n * @return {Object}\n */\norg.apache.flex.A.prototype.foo1a = function() {\n  return null;\n};\n\n\n/**\n * @export\n * @return {Object}\n * @override\n */\norg.apache.flex.A.prototype.foo1b = function() {\n  return org.apache.flex.A.base(this, 'foo1b');\n};\n\n\n/**\n * @protected\n * @param {Object} value\n */\norg.apache.flex.A.prototype.foo2 = function(value) {\n};\n\n\n/**\n * @private\n * @param {Object} value\n */\norg.apache.flex.A.prototype.foo3 = function(value) {\n};\n\n\n/**\n * @param {Object} value\n */\norg.apache.flex.A.prototype.foo5 = function(value) {\n};\n\n\n/**\n * @param {Object} value\n */\norg.apache.flex.A.prototype.foo6 = function(value) {\n};\n\n\n/**\n * @export\n * @param {Object} value\n */\norg.apache.flex.A.foo7 = function(value) {\n};
 \n\n\n/**\n * @param {Object} value\n */\norg.apache.flex.A.foo7 = function(value) {\n};");
-    }
-
-    @Test
-    public void testMethodsWithLocalFunctions()
-    {
-        IClassNode node = getClassNode("public class B {"
-                + "public function foo1():Object{function bar1():Object {return null;}; return bar1()}"
-                + "public function foo2():Object{function bar2(param1:Object):Object {return null;}; return bar2('foo');}"
-                + "}");
-        asBlockWalker.visitClass(node);
-        assertOut("/**\n * @constructor\n */\norg.apache.flex.B = function() {};\n\n\n/**\n * @export\n * @return {Object}\n */\norg.apache.flex.B.prototype.foo1 = function() {\n  function bar1() {\n    return null;\n  };\n  return goog.bind(bar1, this)();\n};\n\n\n/**\n * @export\n * @return {Object}\n */\norg.apache.flex.B.prototype.foo2 = function() {\n  function bar2(param1) {\n    return null;\n  };\n  return goog.bind(bar2, this)('foo');\n};");
-    }
-
-    @Test
-    public void testMethodsWithLocalFunctions2()
-    {
-        IClassNode node = getClassNode("public class B {"
-                + "public var baz1:String;"
-                + "public function foo1():String{function bar1():String {return baz1;}; return bar1()}"
-                + "public function foo2():String{function bar2(param1:String):String {return param1 + baz1;}; return bar2('foo');}"
-                + "}");
-        asBlockWalker.visitClass(node);
-        assertOut("/**\n * @constructor\n */\norg.apache.flex.B = function() {};\n\n\n/**\n * @type {string}\n */\norg.apache.flex.B.prototype.baz1;\n\n\n/**\n * @export\n * @return {string}\n */\norg.apache.flex.B.prototype.foo1 = function() {\n  function bar1() {\n    return this.baz1;\n  };\n  return goog.bind(bar1, this)();\n};\n\n\n/**\n * @export\n * @return {string}\n */\norg.apache.flex.B.prototype.foo2 = function() {\n  function bar2(param1) {\n    return param1 + this.baz1;\n  };\n  return goog.bind(bar2, this)('foo');\n};");
-    }
-
-    @Test
-    public void testClassWithoutConstructor()
-    {
-        /* AJH couldn't find a way to reproduce the code paths
-         * in a simple test case.  May require multiple compilation
-         * units in the same package.
-         */
-        
-        // (erikdebruin) what's wrong with this test case and/or the resulting code?
-        
-        // (erikdebruin) if you're looking for a way to test multiple cu's 
-        //               (a project), look in 'TestGoogProject' for an example
-        
-        IClassNode node = getClassNode("public class B {"
-                + "public function clone():B { return new B() }"
-                + "}");
-        asBlockWalker.visitClass(node);
-        assertOut("/**\n * @constructor\n */\norg.apache.flex.B = function() {};\n\n\n/**\n * @export\n * @return {org.apache.flex.B}\n */\norg.apache.flex.B.prototype.clone = function() {\n  return new org.apache.flex.B();\n};");
-    }
-
-    @Override
-    protected void addLibraries(List<File> libraries)
-    {
-        libraries.addAll(testAdapter.getLibraries(true));
-    }
-    
-    @Override
-    protected IClassNode getClassNode(String code)
-    {
-        String source = "package org.apache.flex {import flash.events.IEventDispatcher;import mx.logging.ILogger;import spark.components.Button;"
-                + code + "}";
-        IFileNode node = compileAS(source);
-        IClassNode child = (IClassNode) findFirstDescendantOfType(node,
-                IClassNode.class);
-        return child;
-    }
-
-
-    protected IBackend createBackend()
-    {
-        return new VF2JSBackend();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/3724c2ff/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSExpressions.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSExpressions.java b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSExpressions.java
deleted file mode 100644
index 3ba79e7..0000000
--- a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSExpressions.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- *
- *  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 * @export\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();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/3724c2ff/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSFile.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSFile.java b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSFile.java
deleted file mode 100644
index eaa79d3..0000000
--- a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSFile.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- *
- *  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 java.io.File;
-import java.util.List;
-
-import org.apache.flex.compiler.driver.IBackend;
-import org.apache.flex.compiler.internal.driver.js.vf2js.VF2JSBackend;
-import org.apache.flex.compiler.internal.test.VF2JSTestBase;
-import org.apache.flex.compiler.tree.as.IFileNode;
-import org.apache.flex.utils.ITestAdapter;
-import org.apache.flex.utils.TestAdapterFactory;
-import org.junit.Ignore;
-import org.junit.Test;
-
-/**
- * This class tests the production of valid 'goog' JS code from an external
- * file.
- * 
- * @author Erik de Bruin
- */
-public class TestVF2JSFile extends VF2JSTestBase
-{
-    private static ITestAdapter testAdapter = TestAdapterFactory.getTestAdapter();
-
-    @Ignore
-    @Test
-    public void testSimple()
-    {
-        String fileName = "SimpleAS";
-
-        IFileNode node = compileAS(fileName, true,
-                new File(testAdapter.getUnitTestBaseDir(), "vf2js/files").getPath(),
-                false);
-        
-        asBlockWalker.visitFile(node);
-        
-        //writeResultToFile(writer.toString(), fileName);
-        
-        assertOut(getCodeFromFile(fileName + "_result", true,
-                "vf2js" + File.separator + "files"));
-    }
-	
-    @Test
-    public void testVersion()
-    {
-        String fileName = "Version";
-
-        IFileNode node = compileAS(fileName, true,
-                new File(testAdapter.getUnitTestBaseDir(), "vf2js/files").getPath(),
-                false);
-        
-        asBlockWalker.visitFile(node);
-        
-        //writeResultToFile(writer.toString(), fileName);
-        
-        assertOut(getCodeFromFile(fileName + "_result", true,
-                "vf2js" + File.separator + "files"));
-    }
-
-    @Override
-    protected void addSourcePaths(List<File> sourcePaths)
-    {
-        sourcePaths.add(new File(testAdapter.getUnitTestBaseDir(), "vf2js/files"));
-
-        super.addSourcePaths(sourcePaths);
-    }
-
-    @Override
-    protected IBackend createBackend()
-    {
-        return new VF2JSBackend();
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/3724c2ff/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSProject.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSProject.java b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSProject.java
deleted file mode 100644
index fad2b93..0000000
--- a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSProject.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- *
- *  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 java.io.File;
-import java.util.List;
-
-import org.apache.flex.compiler.driver.IBackend;
-import org.apache.flex.compiler.internal.codegen.js.goog.TestGoogProject;
-import org.apache.flex.compiler.internal.driver.js.vf2js.VF2JSBackend;
-import org.apache.flex.compiler.internal.projects.FlexJSProject;
-import org.apache.flex.utils.FilenameNormalization;
-import org.apache.flex.utils.TestAdapterFactory;
-import org.junit.Ignore;
-import org.junit.Test;
-
-/**
- * This class tests the production of valid 'vf2js' JS code from an external
- * project.
- * 
- * @author Erik de Bruin
- */
-public class TestVF2JSProject extends TestGoogProject
-{
-
-    private static String projectDirPath = "vf2js/projects";
-
-    @Override
-    public void setUp()
-    {
-        project = new FlexJSProject(workspace);
-
-        super.setUp();
-    }
-    
-    @Ignore
-    @Test
-    public void test_imports()
-    {
-        // crude bypass to allow for successful inheritance
-    }
-
-    @Test
-    public void test_Test()
-    {
-        String testDirPath = projectDirPath + "/interfaces";
-
-        String fileName = "Test";
-
-        List<String> compiledFileNames = compileProject(fileName, testDirPath);
-
-        assertProjectOut(compiledFileNames, testDirPath);
-    }
-
-    @Test
-    @Ignore
-    public void test_SDKTricks()
-    {
-        String testDirPath = projectDirPath + "/sdk";
-
-        String fileName = "SomeSDKClass";
-
-        List<String> compiledFileNames = compileProject(fileName, testDirPath);
-
-        assertProjectOut(compiledFileNames, testDirPath);
-    }
-
-    @Test
-    public void test_Super()
-    {
-        String testDirPath = projectDirPath + "/super";
-
-        String fileName = "Base";
-
-        List<String> compiledFileNames = compileProject(fileName, testDirPath);
-
-        assertProjectOut(compiledFileNames, testDirPath);
-    }
-
-    @Override
-    protected void addSourcePaths(List<File> sourcePaths)
-    {
-        sourcePaths.add(new File(TestAdapterFactory.getTestAdapter().getUnitTestBaseDir(),
-                projectDirPath + "/interfaces"));
-
-        sourcePaths.add(new File(TestAdapterFactory.getTestAdapter().getUnitTestBaseDir(),
-                projectDirPath + "/sdk"));
-
-        sourcePaths.add(new File(TestAdapterFactory.getTestAdapter().getUnitTestBaseDir(),
-                projectDirPath + "/super"));
-
-        super.addSourcePaths(sourcePaths);
-    }
-
-    @Override
-    protected void addLibraries(List<File> libraries)
-    {
-        libraries.add(new File(FilenameNormalization.normalize(env.FPSDK
-                + "/" + env.FPVER + "/playerglobal.swc")));
-        libraries.add(new File(FilenameNormalization.normalize(env.SDK
-                + "/frameworks/libs/framework.swc")));
-        libraries.add(new File(FilenameNormalization.normalize(env.SDK
-                + "/frameworks/libs/spark.swc")));
-
-        super.addLibraries(libraries);
-    }
-
-    @Override
-    protected IBackend createBackend()
-    {
-        return new VF2JSBackend();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/3724c2ff/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSStatements.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSStatements.java b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSStatements.java
deleted file mode 100644
index 2d59b6a..0000000
--- a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/vf2js/TestVF2JSStatements.java
+++ /dev/null
@@ -1,549 +0,0 @@
-/*
- *
- *  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.TestGoogStatements;
-import org.apache.flex.compiler.internal.driver.js.vf2js.VF2JSBackend;
-import org.apache.flex.compiler.internal.projects.FlexJSProject;
-import org.apache.flex.compiler.internal.tree.as.LabeledStatementNode;
-import org.apache.flex.compiler.tree.as.IFileNode;
-import org.apache.flex.compiler.tree.as.IForLoopNode;
-import org.apache.flex.compiler.tree.as.IIfNode;
-import org.apache.flex.compiler.tree.as.ISwitchNode;
-import org.apache.flex.compiler.tree.as.ITryNode;
-import org.apache.flex.compiler.tree.as.IVariableNode;
-import org.apache.flex.compiler.tree.as.IWhileLoopNode;
-import org.apache.flex.compiler.tree.as.IWithNode;
-import org.junit.Test;
-
-/**
- * @author Erik de Bruin
- */
-public class TestVF2JSStatements extends TestGoogStatements
-{
-    @Override
-    public void setUp()
-    {
-    	project = new FlexJSProject(workspace);
-        super.setUp();
-    }
-    
-    @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\"",
-                IVariableNode.class);
-        asBlockWalker.visitVariable(node);
-        assertOut("var /** @type {string} */ a = \"\\n\"");
-    }
-
-    @Test
-    public void testVarDeclaration_withXMLList()
-    {
-    	IVariableNode node = (IVariableNode) getNode(
-    			"var childDesc:XMLList = typeDescription.accessor."
-    			+ "(@name == childName) + typeDescription.method."
-    			+ "(@name == childName);",
-    			IVariableNode.class);
-    	asBlockWalker.visitVariable(node);
-    	assertOut("var /** @type {XMLList} */ childDesc = 'E4XFilter' + 'E4XFilter'");
-    }
-
-    @Test
-    public void testVarDeclaration_withEmbed()
-    {
-    	IVariableNode node = (IVariableNode) getNode(
-    			"[Embed(source=\"LuminosityMaskFilter.pbj\", mimeType=\"application/octet-stream\")]\nprivate static var ShaderClass:Class;",
-    			IVariableNode.class);
-    	asBlockWalker.visitVariable(node);
-    	assertOut("var /** @type {Object} */ falconTest_a.ShaderClass");
-    }
-
-    //----------------------------------
-    // const declaration
-    //----------------------------------
-
-    @Override
-    @Test
-    public void testConstDeclaration()
-    {
-        IVariableNode node = (IVariableNode) getNode("const a = 42;",
-                IVariableNode.class);
-        asBlockWalker.visitVariable(node);
-        assertOut("var /** @type {*} */ a = 42");
-        // ToDo (erikdebruin): assertOut("const /** @type {*} */ a = 42");
-    }
-
-    @Override
-    @Test
-    public void testConstDeclaration_withType()
-    {
-        IVariableNode node = (IVariableNode) getNode("const a:int = 42;",
-                IVariableNode.class);
-        asBlockWalker.visitVariable(node);
-        assertOut("var /** @type {number} */ a = 42");
-        // ToDo (erikdebruin): assertOut("const /** @type {number} */ a = 42");
-    }
-
-    @Override
-    @Test
-    public void testConstDeclaration_withList()
-    {
-        IVariableNode node = (IVariableNode) getNode(
-                "const a:int = 4, b:int = 11, c:int = 42;", IVariableNode.class);
-        asBlockWalker.visitVariable(node);
-        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");
-    }
-    
-    //----------------------------------
-    // for () { }
-    //----------------------------------
-
-    @Override
-    @Test
-    public void testVisitFor_1a()
-    {
-        IForLoopNode node = (IForLoopNode) getNode(
-                "for (var i:int = 0; i < len; i++) { break; }",
-                IForLoopNode.class);
-        asBlockWalker.visitForLoop(node);
-        assertOut("for (var /** @type {number} */ i = 0; i < len; i++) {\n  break;\n}");
-    }
-
-    @Override
-    @Test
-    public void testVisitFor_1b()
-    {
-        IForLoopNode node = (IForLoopNode) getNode(
-                "for (var i:int = 0; i < len; i++) break;", IForLoopNode.class);
-        asBlockWalker.visitForLoop(node);
-        assertOut("for (var /** @type {number} */ i = 0; i < len; i++)\n  break;");
-    }
-    
-    @Test
-    public void testVisitFor_1c()
-    {
-    	IForLoopNode node = (IForLoopNode) getNode(
-    			"for (var i:int = 0, j:int = 3; i < j; i++) break;", IForLoopNode.class);
-    	asBlockWalker.visitForLoop(node);
-    	assertOut("for (var /** @type {number} */ i = 0, /** @type {number} */ j = 3; i < j; i++)\n  break;");
-    }
-
-    @Override
-    @Test
-    public void testVisitForIn_1()
-    {
-        IForLoopNode node = (IForLoopNode) getNode(
-                "for (var i:int in obj) { break; }", IForLoopNode.class);
-        asBlockWalker.visitForLoop(node);
-        assertOut("for (var /** @type {number} */ i in obj) {\n  break;\n}");
-    }
-
-    @Override
-    @Test
-    public void testVisitForIn_1a()
-    {
-        IForLoopNode node = (IForLoopNode) getNode(
-                "for (var i:int in obj)  break; ", IForLoopNode.class);
-        asBlockWalker.visitForLoop(node);
-        assertOut("for (var /** @type {number} */ i in obj)\n  break;");
-    }
-
-    @Override
-    @Test
-    public void testVisitForEach_1()
-    {
-        IForLoopNode node = (IForLoopNode) getNode(
-                "for each(var i:int in obj) { break; }", IForLoopNode.class);
-        asBlockWalker.visitForLoop(node);
-        assertOut("for (var foreachiter0 in obj) \n{\nvar i = obj[foreachiter0];\n{\n  break;\n}}\n");
-    }
-
-    @Override
-    @Test
-    public void testVisitForEach_1a()
-    {
-        IForLoopNode node = (IForLoopNode) getNode(
-                "for each(var i:int in obj)  break; ", IForLoopNode.class);
-        asBlockWalker.visitForLoop(node);
-        assertOut("for (var foreachiter0 in obj) \n{\nvar i = obj[foreachiter0];\n\n  break;}\n");
-    }
-
-    @Test
-    public void testVisitForEach_HoistedVar()
-    {
-        IForLoopNode node = (IForLoopNode) getNode(
-                "var i:int; for each(i in obj)  break; ", IForLoopNode.class);
-        asBlockWalker.visitForLoop(node);
-        assertOut("for (var foreachiter0 in obj) \n{\ni = obj[foreachiter0];\n\n  break;}\n");
-    }
-
-    //----------------------------------
-    // try {} catch () {} finally {}
-    //----------------------------------
-
-    @Override
-    @Test
-    public void testVisitTry_Catch()
-    {
-        ITryNode node = (ITryNode) getNode("try { a; } catch (e:Error) { b; }",
-                ITryNode.class);
-        asBlockWalker.visitTry(node);
-        assertOut("try {\n  a;\n} catch (e) {\n  b;\n}");
-    }
-
-    @Override
-    @Test
-    public void testVisitTry_Catch_Finally()
-    {
-        ITryNode node = (ITryNode) getNode(
-                "try { a; } catch (e:Error) { b; } finally { c; }",
-                ITryNode.class);
-        asBlockWalker.visitTry(node);
-        assertOut("try {\n  a;\n} catch (e) {\n  b;\n} finally {\n  c;\n}");
-    }
-
-    @Override
-    @Test
-    public void testVisitTry_Catch_Catch_Finally()
-    {
-        // TODO (erikdebruin) handle multiple 'catch' statements (FW in Wiki)
-        ITryNode node = (ITryNode) getNode(
-                "try { a; } catch (e:Error) { b; } catch (f:Error) { c; } finally { d; }",
-                ITryNode.class);
-        asBlockWalker.visitTry(node);
-        assertOut("try {\n  a;\n} catch (e) {\n  b;\n} catch (f) {\n  c;\n} finally {\n  d;\n}");
-    }
-
-    @Override
-    @Test
-    public void testVisitTry_CatchEmpty_FinallyEmpty_()
-    {
-        ITryNode node = (ITryNode) getNode(
-                "try { a; } catch (e:Error) {  } finally {  }", ITryNode.class);
-        asBlockWalker.visitTry(node);
-        assertOut("try {\n  a;\n} catch (e) {\n} finally {\n}");
-    }
-
-    //----------------------------------
-    // switch {}
-    //----------------------------------
-
-    @Override
-    @Test
-    public void testVisitSwitch_1()
-    {
-        ISwitchNode node = (ISwitchNode) getNode("switch(i){case 1: break;}",
-                ISwitchNode.class);
-        asBlockWalker.visitSwitch(node);
-        assertOut("switch (i) {\n  case 1:\n    break;\n}");
-    }
-
-    @Override
-    @Test
-    public void testVisitSwitch_1a()
-    {
-        ISwitchNode node = (ISwitchNode) getNode(
-                "switch(i){case 1: { break; }}", ISwitchNode.class);
-        asBlockWalker.visitSwitch(node);
-        // (erikdebruin) the code is valid without the extra braces, 
-        //               i.e. we're good, we "don't care"
-        assertOut("switch (i) {\n  case 1:\n    break;\n}");
-    }
-
-    @Override
-    @Test
-    public void testVisitSwitch_2()
-    {
-        ISwitchNode node = (ISwitchNode) getNode(
-                "switch(i){case 1: break; default: return;}", ISwitchNode.class);
-        asBlockWalker.visitSwitch(node);
-        assertOut("switch (i) {\n  case 1:\n    break;\n  default:\n    return;\n}");
-    }
-
-    @Override
-    @Test
-    public void testVisitSwitch_3()
-    {
-        ISwitchNode node = (ISwitchNode) getNode(
-                "switch(i){case 1: { var x:int = 42; break; }; case 2: { var y:int = 66; break; }}", ISwitchNode.class);
-        asBlockWalker.visitSwitch(node);
-        assertOut("switch (i) {\n  case 1:\n    var /** @type {number} */ x = 42;\n    break;\n  case 2:\n    var /** @type {number} */ y = 66;\n    break;\n}");
-    }
-
-    @Test
-    public void testVisitSwitch_EscapedQuotes()
-    {
-    	ISwitchNode node = (ISwitchNode) getNode(
-    			"switch (type) { case \"string\": { return \"\\\"\" + value.toString() + \"\\\"\"; } }", ISwitchNode.class);
-    	asBlockWalker.visitSwitch(node);
-    	assertOut("switch (type) {\n  case \"string\":\n    return \"\\\"\" + value.toString() + \"\\\"\";\n}");
-    }
-    
-    //----------------------------------
-    // if ()
-    //----------------------------------
-
-    @Override
-    @Test
-    public void testVisitIf_1()
-    {
-        IIfNode node = (IIfNode) getNode("if (a) b++;", IIfNode.class);
-        asBlockWalker.visitIf(node);
-        assertOut("if (a)\n  b++;");
-    }
-
-    @Override
-    @Test
-    public void testVisitIf_2()
-    {
-        IIfNode node = (IIfNode) getNode("if (a) b++; else c++;", IIfNode.class);
-        asBlockWalker.visitIf(node);
-        assertOut("if (a)\n  b++;\nelse\n  c++;");
-    }
-
-    @Override
-    @Test
-    public void testVisitIf_4()
-    {
-        IIfNode node = (IIfNode) getNode(
-                "if (a) b++; else if (c) d++; else if(e) --f;", IIfNode.class);
-        asBlockWalker.visitIf(node);
-        assertOut("if (a)\n  b++;\nelse if (c)\n  d++;\nelse if (e)\n  --f;");
-    }
-
-    @Test
-    public void testVisitIf_E4X()
-    {
-        IIfNode node = (IIfNode) getNode(
-                "if (numChildren == 0) { if (!typeDescription.@dynamic) { trace(\"warning: no describeType entry for '\" + childName + \"' on non-dynamic type '\" + typeDescription.@name + \"'\"); } }", IIfNode.class);
-        asBlockWalker.visitIf(node);
-        assertOut("if (numChildren == 0) {\n  if (!this.typeDescription['E4XOperator']) {\n    org.apache.flex.utils.Language.trace(\"warning: no describeType entry for '\" + childName + \"' on non-dynamic type '\" + this.typeDescription['E4XOperator'] + \"'\");\n  }\n}");
-    }
-    
-    @Test
-    public void testVisitIf_E4X_Again()
-    {
-    	IIfNode node = (IIfNode) getNode(
-    			"if (options.includeReadOnly) { properties = classInfo..accessor.(@access != \"writeonly\") + classInfo..variable; }", IIfNode.class);
-    	asBlockWalker.visitIf(node);
-    	assertOut("if (options.includeReadOnly) {\n  properties = 'E4XFilter' + this.classInfo['E4XSelector'];\n}");
-    }
-    
-    @Test
-    public void testVisitIf_UnescapedBackSlash()
-    {
-    	IIfNode node = (IIfNode) getNode(
-    			"if (rootURL && !(url.indexOf(\":\") > -1 || url.indexOf(\"/\") == 0 || url.indexOf(\"\\\\\") == 0)) { var index:int; }", IIfNode.class);
-    	asBlockWalker.visitIf(node);
-    	assertOut("if (rootURL && !(url.indexOf(\":\") > -1 || url.indexOf(\"/\") == 0 || url.indexOf(\"\\\\\") == 0)) {\n  var /** @type {number} */ index;\n}");
-    }
-
-    //----------------------------------
-    // if () { }
-    //----------------------------------
-
-    @Override
-    @Test
-    public void testVisitIf_1a()
-    {
-        IIfNode node = (IIfNode) getNode("if (a) { b++; }", IIfNode.class);
-        asBlockWalker.visitIf(node);
-        assertOut("if (a) {\n  b++;\n}");
-    }
-
-    @Override
-    @Test
-    public void testVisitIf_1b()
-    {
-        IIfNode node = (IIfNode) getNode("if (a) { b++; } else { c++; }",
-                IIfNode.class);
-        asBlockWalker.visitIf(node);
-        assertOut("if (a) {\n  b++;\n} else {\n  c++;\n}");
-    }
-
-    @Override
-    @Test
-    public void testVisitIf_1c()
-    {
-        IIfNode node = (IIfNode) getNode(
-                "if (a) { b++; } else if (b) { c++; } else { d++; }",
-                IIfNode.class);
-        asBlockWalker.visitIf(node);
-        assertOut("if (a) {\n  b++;\n} else if (b) {\n  c++;\n} else {\n  d++;\n}");
-    }
-
-    @Override
-    @Test
-    public void testVisitIf_3()
-    {
-        IIfNode node = (IIfNode) getNode(
-                "if (a) b++; else if (c) d++; else --e;", IIfNode.class);
-        asBlockWalker.visitIf(node);
-        assertOut("if (a)\n  b++;\nelse if (c)\n  d++;\nelse\n  --e;");
-    }
-
-    //----------------------------------
-    // label : for () {}
-    //----------------------------------
-
-    @Override
-    @Test
-    public void testVisitFor_2()
-    {
-        IForLoopNode node = (IForLoopNode) getNode("for (;;) { break; }",
-                IForLoopNode.class);
-        asBlockWalker.visitForLoop(node);
-        assertOut("for (;;) {\n  break;\n}");
-    }
-    
-    //----------------------------------
-    // while () { }
-    //----------------------------------
-
-    @Override
-    @Test
-    public void testVisitWhileLoop_1()
-    {
-        IWhileLoopNode node = (IWhileLoopNode) getNode(
-                "while(a > b){a++;--b;}", IWhileLoopNode.class);
-        asBlockWalker.visitWhileLoop(node);
-        assertOut("while (a > b) {\n  a++;\n  --b;\n}");
-    }
-
-    @Override
-    @Test
-    public void testVisitWhileLoop_1a()
-    {
-        IWhileLoopNode node = (IWhileLoopNode) getNode("while(a > b) a++;",
-                IWhileLoopNode.class);
-        asBlockWalker.visitWhileLoop(node);
-        assertOut("while (a > b)\n  a++;");
-    }
-
-    //----------------------------------
-    // do {} while ()
-    //----------------------------------
-
-    @Override
-    @Test
-    public void testVisitWhileLoop_Do_1()
-    {
-        IWhileLoopNode node = (IWhileLoopNode) getNode(
-                "do {a++;--b;} while(a > b);", IWhileLoopNode.class);
-        asBlockWalker.visitWhileLoop(node);
-        assertOut("do {\n  a++;\n  --b;\n} while (a > b);");
-    }
-
-    @Override
-    @Test
-    public void testVisitWhileLoop_Do_1a()
-    {
-        IWhileLoopNode node = (IWhileLoopNode) getNode("do a++; while(a > b);",
-                IWhileLoopNode.class);
-        asBlockWalker.visitWhileLoop(node);
-        assertOut("do\n  a++;\nwhile (a > b);");
-    }
-
-    //----------------------------------
-    // label : for () {}
-    //----------------------------------
-
-    @Override
-    @Test
-    public void testVisitLabel_1()
-    {
-        LabeledStatementNode node = (LabeledStatementNode) getNode(
-                "foo: for each(var i:int in obj) { break foo; }",
-                LabeledStatementNode.class);
-        asBlockWalker.visitLabeledStatement(node);
-        assertOut("foo : for (var foreachiter0 in obj) \n{\nvar i = obj[foreachiter0];\n{\n  break foo;\n}}\n");
-    }
-
-    @Override
-    @Test
-    public void testVisitLabel_1a()
-    {
-        // TODO (mschmalle) LabelStatement messes up in finally{} block, something is wrong there
-        LabeledStatementNode node = (LabeledStatementNode) getNode(
-                "foo: for each(var i:int in obj) break foo;",
-                LabeledStatementNode.class);
-        asBlockWalker.visitLabeledStatement(node);
-        assertOut("foo : for (var foreachiter0 in obj) \n{\nvar i = obj[foreachiter0];\n\n  break foo;}\n");
-    }
-
-    //----------------------------------
-    // with () {}
-    //----------------------------------
-
-    @Test
-    public void testVisitWith()
-    {
-        IWithNode node = (IWithNode) getNode("with (a) { b; }", IWithNode.class);
-        asBlockWalker.visitWith(node);
-        assertOut("with (a) {\n  b;\n}");
-    }
-
-    @Test
-    public void testVisitWith_1a()
-    {
-        IWithNode node = (IWithNode) getNode("with (a) b;", IWithNode.class);
-        asBlockWalker.visitWith(node);
-        assertOut("with (a)\n  b;");
-    }
-
-    @Override
-    @Test
-    public void testVisit()
-    {
-        IFileNode node = (IFileNode) getNode(
-                "try { a; } catch (e:Error) { if (a) { if (b) { if (c) b; else if (f) a; else e; }} } finally {  }"
-                        + "if (d) for (var i:int = 0; i < len; i++) break;"
-                        + "if (a) { with (ab) { c(); } "
-                        + "do {a++;do a++; while(a > b);} while(c > d); }"
-                        + "if (b) { try { a; throw new Error('foo'); } catch (e:Error) { "
-                        + " switch(i){case 1: break; default: return;}"
-                        + " } finally { "
-                        + "  d;  var a:Object = function(foo:int, bar:String = 'goo'):int{return -1;};"
-                        + "  eee.dd; eee.dd; eee.dd; eee.dd;} }"
-                        + "foo: for each(var i:int in obj) break foo;",
-                IFileNode.class);
-        asBlockWalker.visitFile(node);
-        assertOutWithMetadata("/**\n * FalconTest_A\n *\n * @fileoverview\n *\n * @suppress {checkTypes}\n */\n\ngoog.provide('FalconTest_A');\n\n\n\n/**\n * @constructor\n */\nFalconTest_A = function() {};\n\n\nFalconTest_A.prototype.falconTest_a = function() {\n  try {\n    a;\n  } catch (e) {\n    if (a) {\n      if (b) {\n        if (c)\n          b;\n        else if (f)\n          a;\n        else\n          e;\n      }\n    }\n  } finally {\n  }\n  if (d)\n    for (var /** @type {number} */ i = 0; i < len; i++)\n      break;\n  if (a) {\n    with (ab) {\n      c();\n    }\n    do {\n      a++;\n      do\n        a++;\n      while (a > b);\n    } while (c > d);\n  }\n  if (b) {\n    try {\n      a;\n      throw new Error('foo');\n    } catch (e) {\n      switch (i) {\n        case 1:\n          break;\n        default:\n          return;\n      }\n    } finally {\n      d;\n      var /** @type {Object} */ a = function(foo, bar) {\n        bar = typeof bar !== 'undefined' ? bar 
 : 'goo';\n        return -1;\n      };\n      eee.dd;\n      eee.dd;\n      eee.dd;\n      eee.dd;\n    }\n  }\n  foo : for (var foreachiter0 in obj) \n  {\n  var i = obj[foreachiter0];\n  \n    break foo;}\n  ;\n};\n\n\n/**\n * Metadata\n *\n * @type {Object.<string, Array.<Object>>}\n */\nFalconTest_A.prototype.FLEXJS_CLASS_INFO = { names: [{ name: 'FalconTest_A', qName: 'FalconTest_A'}] };\n");
-    }
-
-    @Override
-    protected IBackend createBackend()
-    {
-        return new VF2JSBackend();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/3724c2ff/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/mxml/vf2js/TestVF2JSMXMLApplication.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/mxml/vf2js/TestVF2JSMXMLApplication.java b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/mxml/vf2js/TestVF2JSMXMLApplication.java
deleted file mode 100644
index 93f2a6b..0000000
--- a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/mxml/vf2js/TestVF2JSMXMLApplication.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- *
- *  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.mxml.vf2js;
-
-import static org.hamcrest.core.Is.is;
-import static org.junit.Assert.assertThat;
-
-import java.io.File;
-import java.util.List;
-
-import org.apache.flex.compiler.internal.test.VF2JSMXMLTestBase;
-import org.apache.flex.compiler.tree.mxml.IMXMLFileNode;
-import org.apache.flex.utils.ITestAdapter;
-import org.apache.flex.utils.TestAdapterFactory;
-import org.junit.Test;
-
-public class TestVF2JSMXMLApplication extends VF2JSMXMLTestBase
-{
-    private static ITestAdapter testAdapter = TestAdapterFactory.getTestAdapter();
-
-    @Override
-    protected void addSourcePaths(List<File> sourcePaths)
-    {
-        sourcePaths.add(new File(testAdapter.getUnitTestBaseDir(), "vf2js/files"));
-        sourcePaths.add(new File(testAdapter.getUnitTestBaseDir(), "vf2js/projects/simpleMXML/src"));
-
-        super.addSourcePaths(sourcePaths);
-    }
-
-    @Test
-    public void testSimple()
-    {
-        String fileName = "SimpleMXML";
-
-        IMXMLFileNode node = compileMXML(fileName, true,
-                new File(testAdapter.getUnitTestBaseDir(), "vf2js/files").getPath(), false);
-
-        mxmlBlockWalker.visitFile(node);
-        
-        //writeResultToFile(writer.toxString(), fileName);
-
-        assertOutWithMetadata(getCodeFromFile(fileName + "_result", true, "vf2js/files"));
-    }
-
-
-    @Test
-    public void testSimpleMXMLProject()
-    {
-        String testDirPath = "vf2js/projects/simpleMXML/src";
-
-        String fileName = "SimpleMXML_Project";
-
-        List<String> compiledFileNames = compileProject(fileName, testDirPath);
-
-        // ToDo (erikdebruin): MXML property initialized with a FunctionCall
-        //                     are not included in the output (the assignment 
-        //                     should be handled in the constructor, like in AS
-        assertProjectOut(compiledFileNames, testDirPath);
-    }
-
-    protected void assertProjectOut(List<String> compiledFileNames,
-            String testDirPath)
-    {
-        for (String compiledFileName : compiledFileNames)
-        {
-            String compiledFilePath = tempDir.getAbsolutePath()
-                    + File.separator + testDirPath + File.separator
-                    + compiledFileName + "_output" + "."
-                    + backend.getOutputExtension();
-            String compiledResult = readCodeFile(new File(compiledFilePath));
-
-            //System.out.println(compiledResult);
-
-            String expectedFilePath = new File(TestAdapterFactory.getTestAdapter().getUnitTestBaseDir(),
-                    testDirPath + "/" + compiledFileName + "_result" + "." + backend.getOutputExtension()).getPath();
-            String expectedResult = readCodeFile(new File(expectedFilePath));
-
-            assertThat(compiledResult, is(expectedResult));
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/3724c2ff/compiler-jx/src/test/java/org/apache/flex/compiler/internal/test/VF2JSMXMLTestBase.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/test/VF2JSMXMLTestBase.java b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/test/VF2JSMXMLTestBase.java
deleted file mode 100644
index a421d5e..0000000
--- a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/test/VF2JSMXMLTestBase.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- *
- *  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.test;
-
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.apache.flex.compiler.config.Configurator;
-import org.apache.flex.compiler.driver.IBackend;
-import org.apache.flex.compiler.internal.codegen.as.ASFilterWriter;
-import org.apache.flex.compiler.internal.driver.mxml.vf2js.MXMLVF2JSBackend;
-import org.apache.flex.compiler.internal.projects.FlexJSProject;
-import org.apache.flex.compiler.internal.targets.JSTarget;
-import org.apache.flex.compiler.problems.ICompilerProblem;
-import org.apache.flex.compiler.tree.mxml.IMXMLFileNode;
-import org.apache.flex.compiler.tree.mxml.IMXMLNode;
-import org.apache.flex.compiler.units.ICompilationUnit;
-import org.apache.flex.utils.FilenameNormalization;
-import org.apache.flex.utils.TestAdapterFactory;
-import org.junit.Ignore;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-
-@Ignore
-public class VF2JSMXMLTestBase extends MXMLTestBase
-{
-
-    @Override
-    public void setUp()
-    {
-    	project = new FlexJSProject(workspace);
-    	
-        super.setUp();
-    }
-
-    @Override
-    protected IBackend createBackend()
-    {
-        return new MXMLVF2JSBackend();
-    }
-
-
-    @Override
-    protected List<String> compileProject(String inputFileName,
-            String inputDirName)
-    {
-        List<String> compiledFileNames = new ArrayList<String>();
-
-        String mainFileName = new File(TestAdapterFactory.getTestAdapter().getUnitTestBaseDir(),
-                inputDirName + "/" + inputFileName + inputFileExtension).getPath();
-
-        addDependencies();
-
-        String normalizedFileName = FilenameNormalization.normalize(
-                mainFileName);
-        Collection<ICompilationUnit> compilationUnits = 
-                workspace.getCompilationUnits(normalizedFileName, project);
-        ICompilationUnit mainCU = Iterables.getOnlyElement(
-                compilationUnits);
-        
-        if (project instanceof FlexJSProject)
-            ((FlexJSProject) project).mainCU = mainCU;
-        
-        Configurator projectConfigurator = backend.createConfigurator();
-
-        JSTarget target = (JSTarget) backend.createTarget(project,
-                projectConfigurator.getTargetSettings(null), null);
-
-        target.build(mainCU, new ArrayList<ICompilerProblem>());
-
-        List<ICompilationUnit> reachableCompilationUnits = project
-                .getReachableCompilationUnitsInSWFOrder(ImmutableSet.of(mainCU));
-        for (final ICompilationUnit cu : reachableCompilationUnits)
-        {
-            ICompilationUnit.UnitType cuType = cu.getCompilationUnitType();
-
-            if (cuType == ICompilationUnit.UnitType.AS_UNIT
-                    || cuType == ICompilationUnit.UnitType.MXML_UNIT)
-            {
-                File outputRootDir = new File(
-                        FilenameNormalization.normalize(tempDir
-                                + File.separator + inputDirName));
-
-                String qname = "";
-                try
-                {
-                    qname = cu.getQualifiedNames().get(0);
-                }
-                catch (InterruptedException error)
-                {
-                    System.out.println(error);
-                }
-
-                compiledFileNames.add(qname.replace(".", "/"));
-
-                final File outputClassFile = getOutputClassFile(qname
-                        + "_output", outputRootDir);
-
-                ASFilterWriter outputWriter = backend.createWriterBuffer(project);
-
-                if (cuType == ICompilationUnit.UnitType.AS_UNIT)
-                {
-                    asEmitter = backend.createEmitter(outputWriter);
-                    asBlockWalker = backend.createWalker(project, errors, asEmitter);
-
-                	asBlockWalker.visitCompilationUnit(cu);
-                }
-                else
-                {
-                    mxmlEmitter = backend.createMXMLEmitter(outputWriter);
-                    
-                    mxmlBlockWalker = backend.createMXMLWalker(project, errors,
-                            mxmlEmitter, asEmitter, asBlockWalker);
-
-                    mxmlBlockWalker.visitCompilationUnit(cu);
-                }
-                
-                //System.out.println(outputWriter.toString());
-
-                try
-                {
-                    BufferedOutputStream out = new BufferedOutputStream(
-                            new FileOutputStream(outputClassFile));
-
-                    out.write(outputWriter.toString().getBytes());
-                    out.flush();
-                    out.close();
-                }
-                catch (Exception error)
-                {
-                    System.out.println(error);
-                }
-                
-                outputWriter = null;
-            }
-        }
-
-        return compiledFileNames;
-    }
-
-    //--------------------------------------------------------------------------
-    // Node "factory"
-    //--------------------------------------------------------------------------
-
-    public static final int WRAP_LEVEL_DOCUMENT = 1;
-    public static final int WRAP_LEVEL_NODE = 2;
-
-    protected IMXMLNode getNode(String code, Class<? extends IMXMLNode> type,
-            int wrapLevel)
-    {
-        if (wrapLevel >= WRAP_LEVEL_NODE)
-            code = "<s:Button " + code + "></s:Button>";
-
-        if (wrapLevel >= WRAP_LEVEL_DOCUMENT)
-            code = ""
-                    + "<s:Application xmlns:fx=\"http://ns.adobe.com/mxml/2009\""
-                    + "               xmlns:s=\"library://ns.adobe.com/flex/spark\"" 
-                    + "               xmlns:mx=\"library://ns.adobe.com/flex/mx\">\n"
-                    + code + "\n"
-                    + "</s:Application>";
-        
-        IMXMLFileNode node = compileMXML(code);
-
-        if (wrapLevel >= WRAP_LEVEL_NODE) // for now: attributes
-        {
-            IMXMLNode pnode = findFirstDescendantOfType(node, type);
-
-            IMXMLNode cnode = findFirstDescendantOfType(pnode, type);
-
-            return cnode;
-        }
-        else
-        {
-            return findFirstDescendantOfType(node, type);
-        }
-    }
-
-    protected IMXMLNode findFirstDescendantOfType(IMXMLNode node,
-            Class<? extends IMXMLNode> nodeType)
-    {
-
-        int n = node.getChildCount();
-        for (int i = 0; i < n; i++)
-        {
-            IMXMLNode child = (IMXMLNode) node.getChild(i);
-            if (nodeType.isInstance(child))
-                return child;
-
-            IMXMLNode found = findFirstDescendantOfType(child,
-                    nodeType);
-            if (found != null)
-                return found;
-        }
-
-        return null;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/3724c2ff/compiler-jx/src/test/java/org/apache/flex/compiler/internal/test/VF2JSTestBase.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/test/VF2JSTestBase.java b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/test/VF2JSTestBase.java
deleted file mode 100644
index f6cbf58..0000000
--- a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/test/VF2JSTestBase.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*
- *
- *  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.test;
-
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.apache.flex.compiler.config.Configurator;
-import org.apache.flex.compiler.driver.IBackend;
-import org.apache.flex.compiler.internal.codegen.as.ASFilterWriter;
-import org.apache.flex.compiler.internal.driver.js.vf2js.VF2JSBackend;
-import org.apache.flex.compiler.internal.projects.FlexJSProject;
-import org.apache.flex.compiler.internal.targets.JSTarget;
-import org.apache.flex.compiler.problems.ICompilerProblem;
-import org.apache.flex.compiler.tree.mxml.IMXMLFileNode;
-import org.apache.flex.compiler.tree.mxml.IMXMLNode;
-import org.apache.flex.compiler.units.ICompilationUnit;
-import org.apache.flex.utils.FilenameNormalization;
-import org.apache.flex.utils.ITestAdapter;
-import org.apache.flex.utils.TestAdapterFactory;
-import org.junit.Ignore;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-
-@Ignore
-public class VF2JSTestBase extends MXMLTestBase
-{
-    private static ITestAdapter testAdapter = TestAdapterFactory.getTestAdapter();
-
-    @Override
-    public void setUp()
-    {
-    	project = new FlexJSProject(workspace);
-
-    	super.setUp();
-    }
-
-    @Override
-    public void tearDown()
-    {
-        asEmitter = null;
-        asBlockWalker = null;
-        mxmlEmitter = null;
-        mxmlBlockWalker = null;
-        
-        super.tearDown();
-    }
-
-    @Override
-    protected void addSourcePaths(List<File> sourcePaths)
-    {
-        //sourcePaths.add(new File(FilenameNormalization.normalize("")));
-
-        super.addSourcePaths(sourcePaths);
-    }
-
-    @Override
-    protected IBackend createBackend()
-    {
-        return new VF2JSBackend();
-    }
-
-    @Override
-    protected List<String> compileProject(String inputFileName,
-            String inputDirName)
-    {
-        List<String> compiledFileNames = new ArrayList<String>();
-
-        String mainFileName = new File(testAdapter.getUnitTestBaseDir(),
-                inputDirName + "/" + inputFileName + inputFileExtension).getPath();
-
-        addDependencies();
-
-        String normalizedFileName = FilenameNormalization.normalize(
-                mainFileName);
-        Collection<ICompilationUnit> compilationUnits = 
-                workspace.getCompilationUnits(normalizedFileName, project);
-        ICompilationUnit mainCU = Iterables.getOnlyElement(
-                compilationUnits);
-        
-        if (project instanceof FlexJSProject)
-            ((FlexJSProject) project).mainCU = mainCU;
-        
-        Configurator projectConfigurator = backend.createConfigurator();
-
-        JSTarget target = (JSTarget) backend.createTarget(project,
-                projectConfigurator.getTargetSettings(null), null);
-
-        target.build(mainCU, new ArrayList<ICompilerProblem>());
-
-        List<ICompilationUnit> reachableCompilationUnits = project
-                .getReachableCompilationUnitsInSWFOrder(ImmutableSet.of(mainCU));
-        for (final ICompilationUnit cu : reachableCompilationUnits)
-        {
-            ICompilationUnit.UnitType cuType = cu.getCompilationUnitType();
-
-            if (cuType == ICompilationUnit.UnitType.AS_UNIT
-                    || cuType == ICompilationUnit.UnitType.MXML_UNIT)
-            {
-                File outputRootDir = new File(
-                        FilenameNormalization.normalize(tempDir
-                                + File.separator + inputDirName));
-
-                String qname = "";
-                try
-                {
-                    qname = cu.getQualifiedNames().get(0);
-                }
-                catch (InterruptedException error)
-                {
-                    System.out.println(error);
-                }
-
-                compiledFileNames.add(qname.replace(".", "/"));
-
-                final File outputClassFile = getOutputClassFile(qname
-                        + "_output", outputRootDir);
-
-                ASFilterWriter outputWriter = backend.createWriterBuffer(project);
-
-                //asEmitter = backend.createEmitter(outputWriter);
-                //asBlockWalker = backend.createWalker(project, errors, asEmitter);
-
-                if (cuType == ICompilationUnit.UnitType.AS_UNIT)
-                {
-                    asBlockWalker.visitCompilationUnit(cu);
-                }
-                else
-                {
-                    //mxmlEmitter = backend.createMXMLEmitter(outputWriter);
-                    
-                    //mxmlBlockWalker = backend.createMXMLWalker(project, errors,
-                    //        mxmlEmitter, asEmitter, asBlockWalker);
-
-                    mxmlBlockWalker.visitCompilationUnit(cu);
-                }
-                
-                System.out.println(outputWriter.toString());
-
-                try
-                {
-                    BufferedOutputStream out = new BufferedOutputStream(
-                            new FileOutputStream(outputClassFile));
-
-                    out.write(outputWriter.toString().getBytes());
-                    out.flush();
-                    out.close();
-                }
-                catch (Exception error)
-                {
-                    System.out.println(error);
-                }
-                
-                outputWriter = null;
-            }
-        }
-
-        return compiledFileNames;
-    }
-
-    //--------------------------------------------------------------------------
-    // Node "factory"
-    //--------------------------------------------------------------------------
-
-    public static final int WRAP_LEVEL_DOCUMENT = 1;
-    public static final int WRAP_LEVEL_NODE = 2;
-
-    protected IMXMLNode getNode(String code, Class<? extends IMXMLNode> type,
-            int wrapLevel)
-    {
-        if (wrapLevel >= WRAP_LEVEL_NODE)
-            code = "<s:Button " + code + "></s:Button>";
-
-        if (wrapLevel >= WRAP_LEVEL_DOCUMENT)
-            code = ""
-                    + "<s:Application xmlns:fx=\"http://ns.adobe.com/mxml/2009\""
-                    + "               xmlns:s=\"library://ns.adobe.com/flex/spark\"" 
-                    + "               xmlns:mx=\"library://ns.adobe.com/flex/mx\">\n"
-                    + code + "\n"
-                    + "</s:Application>";
-        
-        IMXMLFileNode node = compileMXML(code);
-
-        if (wrapLevel >= WRAP_LEVEL_NODE) // for now: attributes
-        {
-            IMXMLNode pnode = findFirstDescendantOfType(node, type);
-
-            IMXMLNode cnode = findFirstDescendantOfType(pnode, type);
-
-            return cnode;
-        }
-        else
-        {
-            return findFirstDescendantOfType(node, type);
-        }
-    }
-
-    protected IMXMLNode findFirstDescendantOfType(IMXMLNode node,
-            Class<? extends IMXMLNode> nodeType)
-    {
-
-        int n = node.getChildCount();
-        for (int i = 0; i < n; i++)
-        {
-            IMXMLNode child = (IMXMLNode) node.getChild(i);
-            if (nodeType.isInstance(child))
-                return child;
-
-            IMXMLNode found = findFirstDescendantOfType(child,
-                    nodeType);
-            if (found != null)
-                return found;
-        }
-
-        return null;
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/3724c2ff/compiler-jx/src/test/resources/vf2js/files/SimpleAS.as
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/resources/vf2js/files/SimpleAS.as b/compiler-jx/src/test/resources/vf2js/files/SimpleAS.as
deleted file mode 100644
index c4bd427..0000000
--- a/compiler-jx/src/test/resources/vf2js/files/SimpleAS.as
+++ /dev/null
@@ -1,43 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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
-{
-
-import flash.events.IEventDispatcher;
-
-import mx.components.Button;
-
-import spark.components.Button;
-
-public dynamic class A extends spark.components.Button implements IEventDispatcher
-{
-	public static const MY_CLASS_CONST:String = "myClassConst";
-	
-	public function A()
-	{
-		trace(typeof "a");
-	}
-	
-	private var _a:ArgumentError = new ArgumentError();
-
-	private var _mxButton:mx.components.Button = new mx.components.Button();
-
-	public const MY_INSTANCE_CONST:String = "myInstanceConst";
-}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/3724c2ff/compiler-jx/src/test/resources/vf2js/files/SimpleAS_result.js
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/resources/vf2js/files/SimpleAS_result.js b/compiler-jx/src/test/resources/vf2js/files/SimpleAS_result.js
deleted file mode 100644
index a063d87..0000000
--- a/compiler-jx/src/test/resources/vf2js/files/SimpleAS_result.js
+++ /dev/null
@@ -1,72 +0,0 @@
-/**
- * Licensed 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.
- */
-/**
- * org.apache.flex.A
- *
- * @fileoverview
- *
- * @suppress {checkTypes}
- */
-
-goog.provide('org.apache.flex.A');
-
-
-
-/**
- * @constructor
- * @extends {vf2js_s.components.Button}
- * @implements {flash.events.IEventDispatcher}
- */
-org.apache.flex.A = function() {
-  org.apache.flex.A.base(this, 'constructor');
-  org.apache.flex.utils.Language.trace(typeof("a"));
-};
-goog.inherits(org.apache.flex.A, vf2js_s.components.Button);
-
-
-/**
- * @const
- * @type {string}
- */
-org.apache.flex.A.MY_CLASS_CONST = "myClassConst";
-
-
-/**
- * @private
- * @type {ArgumentError}
- */
-org.apache.flex.A.prototype._a = new ArgumentError();
-
-
-/**
- * @private
- * @type {vf2js_mx.components.Button}
- */
-org.apache.flex.A.prototype._mxButton = new vf2js_mx.components.Button();
-
-
-/**
- * @const
- * @type {string}
- */
-org.apache.flex.A.prototype.MY_INSTANCE_CONST = "myInstanceConst";
-
-
-/**
- * Metadata
- *
- * @type {Object.<string, Array.<Object>>}
- */
-org.apache.flex.A.prototype.FLEXJS_CLASS_INFO = { names: [{ name: 'A', qName: 'org.apache.flex.A'}], interfaces: [flash.events.IEventDispatcher] };
-

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/3724c2ff/compiler-jx/src/test/resources/vf2js/files/SimpleMXML.mxml
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/resources/vf2js/files/SimpleMXML.mxml b/compiler-jx/src/test/resources/vf2js/files/SimpleMXML.mxml
deleted file mode 100644
index a403052..0000000
--- a/compiler-jx/src/test/resources/vf2js/files/SimpleMXML.mxml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-
-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.
-
--->
-<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
-               xmlns:s="library://ns.adobe.com/flex/spark"
-               xmlns:mx="library://ns.adobe.com/flex/mx">
-
-  <s:Button label="hello" x="100" />
-
-  <s:Button label="bye" x="200" />
-
-</vf2js_s:Application>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/3724c2ff/compiler-jx/src/test/resources/vf2js/files/SimpleMXML_result.js
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/resources/vf2js/files/SimpleMXML_result.js b/compiler-jx/src/test/resources/vf2js/files/SimpleMXML_result.js
deleted file mode 100644
index 0beed58..0000000
--- a/compiler-jx/src/test/resources/vf2js/files/SimpleMXML_result.js
+++ /dev/null
@@ -1,67 +0,0 @@
-/**
- * Licensed 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.
- */
-/**
- * SimpleMXML
- *
- * @fileoverview
- *
- * @suppress {checkTypes}
- */
-
-goog.provide('SimpleMXML');
-
-goog.require('spark.components.Application');
-goog.require('spark.components.Button');
-
-
-
-
-/**
- * @constructor
- * @extends {spark.components.Application}
- */
-SimpleMXML = function() {
-  SimpleMXML.base(this, 'constructor');
-  
-  /**
-   * @private
-   * @type {spark.components.Button}
-   */
-  this.$ID0;
-
-  /**
-   * @private
-   * @type {spark.components.Button}
-   */
-  this.$ID1;
-};
-goog.inherits(SimpleMXML, spark.components.Application);
-
-
-/**
- * Metadata
- *
- * @type {Object.<string, Array.<Object>>}
- */
-SimpleMXML.prototype.FLEXJS_CLASS_INFO = { names: [{ name: 'SimpleMXML', qName: 'SimpleMXML' }] };
-
-
-/**
- * start
- *
- * @export
- */
-SimpleMXML.prototype.start = function () {
-};
-


Mime
View raw message