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

svn commit: r1435629 - in /flex/falcon/trunk: compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/ compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/ compiler.jx/src/org/apache/flex/compiler/internal/js/codegen/goog/

Author: erikdebruin
Date: Sat Jan 19 18:12:10 2013
New Revision: 1435629

URL: http://svn.apache.org/viewvc?rev=1435629&view=rev
Log:
- fixed a few TODOs
- removed some TODOs that were no longer relevant
- added some comments where I made some 'educated' guesses about JS behavior

Modified:
    flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestExpressions.java
    flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestGlobalClasses.java
    flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestGlobalFunctions.java
    flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestMethodMembers.java
    flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestStatements.java
    flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestWalkerBase.java
    flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogClass.java
    flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogExpressions.java
    flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogFieldMembers.java
    flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogGlobalClasses.java
    flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogInterface.java
    flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogMethodMembers.java
    flex/falcon/trunk/compiler.jx/src/org/apache/flex/compiler/internal/js/codegen/goog/JSGoogDocEmitter.java

Modified: flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestExpressions.java
URL: http://svn.apache.org/viewvc/flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestExpressions.java?rev=1435629&r1=1435628&r2=1435629&view=diff
==============================================================================
--- flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestExpressions.java (original)
+++ flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestExpressions.java Sat Jan 19 18:12:10 2013
@@ -470,7 +470,8 @@ public class TestExpressions extends Tes
     @Test
     public void testParentheses_1()
     {
-    	// TODO (erikdebruin/mschmalle) why aren't parentheses preserved?
+    	// TODO (mschmalle) why aren't parentheses preserved, various math 
+    	//                  will come out wrong if they aren't?
         IVariableNode node = (IVariableNode) getNode("var a = (a + b);",
                 IVariableNode.class);
         visitor.visitVariable(node);
@@ -695,7 +696,8 @@ public class TestExpressions extends Tes
     @Test
     public void testVisitUnaryOperatorNode_Typeof_NoParens()
     {
-    	// TODO (erikdebruin/mschmalle) this notation is also valid in AS/JS
+    	// TODO (mschmalle) the notation without parenthesis is 
+    	//                  also valid in AS/JS
         IUnaryOperatorNode node = getUnaryNode("typeof a");
         visitor.visitUnaryOperator(node);
         assertOut("typeof a");

Modified: flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestGlobalClasses.java
URL: http://svn.apache.org/viewvc/flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestGlobalClasses.java?rev=1435629&r1=1435628&r2=1435629&view=diff
==============================================================================
--- flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestGlobalClasses.java (original)
+++ flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestGlobalClasses.java Sat Jan 19 18:12:10 2013
@@ -251,8 +251,6 @@ public class TestGlobalClasses extends T
     @Test
     public void testVector()
     {
-    	// TODO (erikdebruin/mschmalle) the space between the comma and 'World'
-    	//                              is lost in translation?
     	IVariableNode node = getVariable("var a:Vector.<String> = new Vector.<String>(['Hello', 'World']);");
     	visitor.visitVariable(node);
     	assertOut("var a:Vector.<String> = new Vector.<String>(['Hello','World'])");

Modified: flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestGlobalFunctions.java
URL: http://svn.apache.org/viewvc/flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestGlobalFunctions.java?rev=1435629&r1=1435628&r2=1435629&view=diff
==============================================================================
--- flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestGlobalFunctions.java (original)
+++ flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestGlobalFunctions.java Sat Jan 19 18:12:10 2013
@@ -184,8 +184,6 @@ public class TestGlobalFunctions extends
     @Test
     public void testVector()
     {
-    	// TODO (erikdebruin/mschmalle) the space between the comma and 'World'
-    	//                              is lost in translation?
     	IVariableNode node = getVariable("var a:Vector.<String> = Vector.<String>(['Hello', 'World']);");
     	visitor.visitVariable(node);
     	assertOut("var a:Vector.<String> = Vector.<String>(['Hello','World'])");

Modified: flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestMethodMembers.java
URL: http://svn.apache.org/viewvc/flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestMethodMembers.java?rev=1435629&r1=1435628&r2=1435629&view=diff
==============================================================================
--- flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestMethodMembers.java (original)
+++ flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestMethodMembers.java Sat Jan 19 18:12:10 2013
@@ -101,7 +101,7 @@ public class TestMethodMembers extends T
     @Test
     public void testMethod_withRestParameterTypeReturnType()
     {
-    	// TODO (erikdebruin/mschmalle) handle ...rest parameter correctly
+    	// TODO (mschmalle) handle ...rest parameter correctly
         IFunctionNode node = getMethod("function foo(bar:String, ...rest):int{\treturn -1;}");
         visitor.visitFunction(node);
         assertOut("function foo(bar:String, ...rest):int {\n\treturn -1;\n}");

Modified: flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestStatements.java
URL: http://svn.apache.org/viewvc/flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestStatements.java?rev=1435629&r1=1435628&r2=1435629&view=diff
==============================================================================
--- flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestStatements.java (original)
+++ flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestStatements.java Sat Jan 19 18:12:10 2013
@@ -437,8 +437,6 @@ public class TestStatements extends Test
     @Test
     public void testVisit()
     {
-    	// TODO (erikdebruin) there is an 'extra' semi-colon at the end (in the 
-    	//                    'foo' block that doesn't seem to belong there...
         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;"

Modified: flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestWalkerBase.java
URL: http://svn.apache.org/viewvc/flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestWalkerBase.java?rev=1435629&r1=1435628&r2=1435629&view=diff
==============================================================================
--- flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestWalkerBase.java (original)
+++ flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/as/codegen/TestWalkerBase.java Sat Jan 19 18:12:10 2013
@@ -46,6 +46,7 @@ public class TestWalkerBase extends Test
     protected void assertOut(String code)
     {
         mCode = writer.toString();
+        //System.out.println(mCode);
         assertThat(writer.toString(), is(code));
     }
 }

Modified: flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogClass.java
URL: http://svn.apache.org/viewvc/flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogClass.java?rev=1435629&r1=1435628&r2=1435629&view=diff
==============================================================================
--- flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogClass.java (original)
+++ flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogClass.java Sat Jan 19 18:12:10 2013
@@ -24,7 +24,6 @@ import org.apache.flex.compiler.internal
 import org.apache.flex.compiler.internal.js.driver.goog.GoogBackend;
 import org.apache.flex.compiler.tree.as.IClassNode;
 import org.apache.flex.compiler.tree.as.IFileNode;
-import org.junit.Ignore;
 import org.junit.Test;
 
 /**
@@ -48,8 +47,8 @@ public class TestGoogClass extends TestC
     @Test
     public void testSimpleInternal()
     {
-		// TODO (erikdebruin) is there a 'goog' equivalent for the 
-		//                    'internal' namespace?
+		// (erikdebruin) the AS compiler will enforce 'internal' namespace, 
+		//               in JS we ignore it
         IClassNode node = getClassNode("internal class A{}");
         visitor.visitClass(node);
         assertOut("/**\n * @constructor\n */\norg.apache.flex.A = function() {\n};");
@@ -59,8 +58,8 @@ public class TestGoogClass extends TestC
     @Test
     public void testSimpleFinal()
     {
-		// TODO (erikdebruin) is there a 'goog' equivalent for the 
-		//                    'final' keyword?
+		// (erikdebruin) the AS compiler will enforce the 'final' keyword, 
+		//               in JS we ignore it
         IClassNode node = getClassNode("public final class A{}");
         visitor.visitClass(node);
         assertOut("/**\n * @constructor\n */\norg.apache.flex.A = function() {\n};");
@@ -70,8 +69,7 @@ public class TestGoogClass extends TestC
     @Test
     public void testSimpleDynamic()
     {
-		// TODO (erikdebruin) is there a 'goog' equivalent for the 
-		//                    'dynamic' keyword?
+		// (erikdebruin) all JS objects are 'dynamic' by design
         IClassNode node = getClassNode("public dynamic class A{}");
         visitor.visitClass(node);
         assertOut("/**\n * @constructor\n */\norg.apache.flex.A = function() {\n};");
@@ -81,10 +79,7 @@ public class TestGoogClass extends TestC
     @Test
     public void testSimpleExtends()
     {
-		// TODO (erikdebruin) why do we need to put use an 'actual' component 
-		//                    (e.g. spark.components.Button) here if we want to 
-		//                    trigger the '@extends' notation?
-        IClassNode node = getClassNode("public class A extends Button {public function A() {}}");
+       IClassNode node = getClassNode("public class A extends Button {public function A() {}}");
         visitor.visitClass(node);
         assertOut("/**\n * @constructor\n * @extends {spark.components.Button}\n */\norg.apache.flex.A = function() {\n\tgoog.base(this);\n}\ngoog.inherits(org.apache.flex.A, spark.components.Button);");
     }
@@ -129,7 +124,6 @@ public class TestGoogClass extends TestC
     @Test
     public void testSimpleFinalExtendsImplementsMultiple()
     {
-		// TODO (erikdebruin) 'final' keyword: see 'testSimpleFinal' above
         IClassNode node = getClassNode("public final class A extends Button implements IEventDispatcher, ILogger {public function A() {}}");
         visitor.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\tgoog.base(this);\n}\ngoog.inherits(org.apache.flex.A, spark.components.Button);");
@@ -148,8 +142,6 @@ public class TestGoogClass extends TestC
     @Test
     public void testConstructor()
     {
-		// TODO (erikdebruin) replace 'super' call with 'goog.base()'... Can you
-		//                    call 'super' if the class doesn't extend any other?
         IClassNode node = getClassNode("public class A {public function A() {super('foo', 42);}}");
         visitor.visitClass(node);
         assertOut("/**\n * @constructor\n */\norg.apache.flex.A = function() {\n\tgoog.base(this, 'foo', 42);\n};");
@@ -178,12 +170,10 @@ public class TestGoogClass extends TestC
         assertOut("/**\n * @constructor\n */\norg.apache.flex.A = function() {\n};\n\n/**\n * @const\n * @type {number}\n */\norg.apache.flex.A.A = 42;\n\n/**\n * @protected\n * @const\n * @type {number}\n */\norg.apache.flex.A.B = 42;\n\n/**\n * @private\n * @const\n * @type {number}\n */\norg.apache.flex.A.C = 42;\n\n/**\n * @const\n * @type {string}\n */\norg.apache.flex.A.C = 'me' + 'you';");
     }
     
-	@Ignore
 	@Override
     @Test
     public void testAccessors()
     {
-		// TODO (erikdebruin) fix accessor handling first
         IClassNode node = getClassNode("public class A {"
                 + "public function get foo1():Object{return null;}"
                 + "public function set foo1(value:Object):void{}"
@@ -196,16 +186,13 @@ public class TestGoogClass extends TestC
                 + "foo_bar function get foo6():Object{return null;}"
                 + "foo_bar function set foo6(value:Object):void{}" + "}");
         visitor.visitClass(node);
-        assertOut("");
+        assertOut("/**\n * @constructor\n */\norg.apache.flex.A = function() {\n};\n\n/**\n * @type {Object}\n */\norg.apache.flex.A.prototype.foo1;\n\nObject.defineProperty(\n\torg.apache.flex.A.prototype, \n\t'foo1', \n\t{get:function() {\n\t\treturn null;\n\t}, configurable:true}\n);\n\nObject.defineProperty(\n\torg.apache.flex.A.prototype, \n\t'foo1', \n\t{set:function(value) {\n\t}, configurable:true}\n);\n\n/**\n * @protected\n * @type {Object}\n */\norg.apache.flex.A.prototype.foo2;\n\nObject.defineProperty(\n\torg.apache.flex.A.prototype, \n\t'foo2', \n\t{get:function() {\n\t\treturn null;\n\t}, configurable:true}\n);\n\nObject.defineProperty(\n\torg.apache.flex.A.prototype, \n\t'foo2', \n\t{set:function(value) {\n\t}, configurable:true}\n);\n\n/**\n * @private\n * @type {Object}\n */\norg.apache.flex.A.prototype.foo3;\n\nObject.defineProperty(\n\torg.apache.flex.A.prototype, \n\t'foo3', \n\t{get:function() {\n\t\treturn null;\n\t}, configurable:true}\n);\n\nObject.d
 efineProperty(\n\torg.apache.flex.A.prototype, \n\t'foo3', \n\t{set:function(value) {\n\t}, configurable:true}\n);\n\n/**\n * @type {Object}\n */\norg.apache.flex.A.prototype.foo5;\n\nObject.defineProperty(\n\torg.apache.flex.A.prototype, \n\t'foo5', \n\t{get:function() {\n\t\treturn null;\n\t}, configurable:true}\n);\n\nObject.defineProperty(\n\torg.apache.flex.A.prototype, \n\t'foo5', \n\t{set:function(value) {\n\t}, configurable:true}\n);\n\n/**\n * @type {Object}\n */\norg.apache.flex.A.prototype.foo6;\n\nObject.defineProperty(\n\torg.apache.flex.A.prototype, \n\t'foo6', \n\t{get:function() {\n\t\treturn null;\n\t}, configurable:true}\n);\n\nObject.defineProperty(\n\torg.apache.flex.A.prototype, \n\t'foo6', \n\t{set:function(value) {\n\t}, configurable:true}\n);");
     }
 
-	@Ignore
 	@Override
     @Test
     public void testMethods()
     {
-		// TODO (erikdebruin) 1) handle namespaces (private, protected, custom)
-		//                    2) handle 'super' calls
         IClassNode node = getClassNode("public class A {"
                 + "public function foo1():Object{return null;}"
                 + "public final function foo1a():Object{return null;}"
@@ -217,7 +204,7 @@ public class TestGoogClass extends TestC
                 + "public static function foo7(value:Object):void{}"
                 + "foo_bar static function foo7(value:Object):void{}" + "}");
         visitor.visitClass(node);
-        assertOut("");
+        assertOut("/**\n * @constructor\n */\norg.apache.flex.A = function() {\n};\n\n/**\n * @return {Object}\n */\norg.apache.flex.A.prototype.foo1 = function() {\n\treturn null;\n};\n\n/**\n * @return {Object}\n */\norg.apache.flex.A.prototype.foo1a = function() {\n\treturn null;\n};\n\n/**\n * @return {Object}\n * @override\n */\norg.apache.flex.A.prototype.foo1b = function() {\n\treturn goog.base(this, 'foo1b');\n};\n\n/**\n * @param {Object} value\n */\norg.apache.flex.A.prototype.foo2 = function(value) {\n};\n\n/**\n * @param {Object} value\n */\norg.apache.flex.A.prototype.foo3 = function(value) {\n};\n\n/**\n * @param {Object} value\n */\norg.apache.flex.A.prototype.foo5 = function(value) {\n};\n\n/**\n * @param {Object} value\n */\norg.apache.flex.A.prototype.foo6 = function(value) {\n};\n\n/**\n * @param {Object} value\n */\norg.apache.flex.A.foo7 = function(value) {\n};\n\n/**\n * @param {Object} value\n */\norg.apache.flex.A.foo7 = function(value) {\n};");
     }
 
 	@Override

Modified: flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogExpressions.java
URL: http://svn.apache.org/viewvc/flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogExpressions.java?rev=1435629&r1=1435628&r2=1435629&view=diff
==============================================================================
--- flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogExpressions.java (original)
+++ flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogExpressions.java Sat Jan 19 18:12:10 2013
@@ -24,9 +24,8 @@ import org.apache.flex.compiler.internal
 import org.apache.flex.compiler.internal.js.driver.goog.GoogBackend;
 import org.apache.flex.compiler.internal.tree.as.NamespaceAccessExpressionNode;
 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.IIfNode;
-import org.apache.flex.compiler.tree.as.IMemberAccessExpressionNode;
 import org.apache.flex.compiler.tree.as.IVariableNode;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -37,27 +36,22 @@ import org.junit.Test;
  */
 public class TestGoogExpressions extends TestExpressions
 {
-	@Ignore
 	@Override
     @Test
     public void testVisitLanguageIdentifierNode_SuperMethod_1()
     {
-		// TODO (erikdebruin) implement 'goog.base' call for 'super'
-        IMemberAccessExpressionNode node = (IMemberAccessExpressionNode) getNode(
-                "if (a) super.foo();", IMemberAccessExpressionNode.class);
-        visitor.visitMemberAccessExpression(node);
-        assertOut("goog.base(this, 'foo')");
+        IFunctionNode node = getMethod("function foo(){if (a) super.foo();}");
+        visitor.visitFunction(node);
+        assertOut("A.prototype.foo = function() {\n\tif (a)\n\t\tgoog.base(this, 'foo');\n}");
     }
 
-	@Ignore
     @Override
     @Test
     public void testVisitLanguageIdentifierNode_SuperMethod_2()
     {
-        IFunctionCallNode node = (IFunctionCallNode) getNode(
-                "if (a) super.foo(a, b, c);", IFunctionCallNode.class);
-        visitor.visitFunctionCall(node);
-        assertOut("goog.base(this, 'foo', a, b, c)");
+        IFunctionNode node = getMethod("function foo(){if (a) super.foo(a, b, c);}");
+        visitor.visitFunction(node);
+        assertOut("A.prototype.foo = function() {\n\tif (a)\n\t\tgoog.base(this, 'foo', a, b, c);\n}");
     }
 	
     //----------------------------------

Modified: flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogFieldMembers.java
URL: http://svn.apache.org/viewvc/flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogFieldMembers.java?rev=1435629&r1=1435628&r2=1435629&view=diff
==============================================================================
--- flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogFieldMembers.java (original)
+++ flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogFieldMembers.java Sat Jan 19 18:12:10 2013
@@ -42,10 +42,6 @@ public class TestGoogFieldMembers extend
     @Test
     public void testField()
     {
-    	// TODO (erikdebruin) a variable without an explicit namespace in an AS 
-    	//                    class is treated as being 'internal' (visible only 
-    	//                    in within the package): is there a 'goog' 
-    	//                    equivalent for the 'internal' namespace?
         IVariableNode node = getField("var foo;");
         visitor.visitVariable(node);
         assertOut("/**\n * @type {*}\n */\nA.prototype.foo");

Modified: flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogGlobalClasses.java
URL: http://svn.apache.org/viewvc/flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogGlobalClasses.java?rev=1435629&r1=1435628&r2=1435629&view=diff
==============================================================================
--- flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogGlobalClasses.java (original)
+++ flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogGlobalClasses.java Sat Jan 19 18:12:10 2013
@@ -67,15 +67,13 @@ public class TestGoogGlobalClasses exten
         assertOut("var /** @type {boolean} */ a = new Boolean(1)");
     }
 
-    @Ignore
     @Override
     @Test
     public void testClass()
     {
-    	// TODO (erikdebruin) how to represent this in 'goog' JS?
-        IVariableNode node = getVariable("");
+        IVariableNode node = getVariable("var a:Class = new Class();");
         visitor.visitVariable(node);
-        assertOut("");
+        assertOut("var /** @type {Class} */ a = new Class()");
     }
 
     @Override

Modified: flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogInterface.java
URL: http://svn.apache.org/viewvc/flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogInterface.java?rev=1435629&r1=1435628&r2=1435629&view=diff
==============================================================================
--- flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogInterface.java (original)
+++ flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogInterface.java Sat Jan 19 18:12:10 2013
@@ -34,7 +34,7 @@ import org.junit.Test;
  */
 public class TestGoogInterface extends TestInterface
 {
-    // TODO (erikdebruin/mschmalle) handle interfaces and accessors first ;-)
+    // TODO (erikdebruin) test interfaces
 	
 	@Ignore
 	@Override

Modified: flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogMethodMembers.java
URL: http://svn.apache.org/viewvc/flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogMethodMembers.java?rev=1435629&r1=1435628&r2=1435629&view=diff
==============================================================================
--- flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogMethodMembers.java (original)
+++ flex/falcon/trunk/compiler.jx.tests/src/org/apache/flex/compiler/internal/js/codegen/goog/TestGoogMethodMembers.java Sat Jan 19 18:12:10 2013
@@ -33,9 +33,6 @@ import org.junit.Test;
  */
 public class TestGoogMethodMembers extends TestMethodMembers
 {
-	// TODO (erikdebruin)
-	// 1) can we safely ignore custom namespaces?
-
     @Override
     @Test
     public void testMethod()
@@ -115,7 +112,7 @@ public class TestGoogMethodMembers exten
     {
         IFunctionNode node = getMethod("mx_internal function foo(bar:String, baz:int = null):int{\treturn -1;}");
         visitor.visitFunction(node);
-        // we ignore the custom namespaces completely (are there side effects I'm missing?)
+    	// TODO (erikdebruin) can we safely ignore custom namespaces?
         assertOut("/**\n * @param {string} bar\n * @param {number=} baz\n * @return {number}\n */\nA.prototype.foo = function(bar, baz) {\n\tbaz = typeof baz !== 'undefined' ? baz : null;\n\treturn -1;\n}");
     }
     

Modified: flex/falcon/trunk/compiler.jx/src/org/apache/flex/compiler/internal/js/codegen/goog/JSGoogDocEmitter.java
URL: http://svn.apache.org/viewvc/flex/falcon/trunk/compiler.jx/src/org/apache/flex/compiler/internal/js/codegen/goog/JSGoogDocEmitter.java?rev=1435629&r1=1435628&r2=1435629&view=diff
==============================================================================
--- flex/falcon/trunk/compiler.jx/src/org/apache/flex/compiler/internal/js/codegen/goog/JSGoogDocEmitter.java (original)
+++ flex/falcon/trunk/compiler.jx/src/org/apache/flex/compiler/internal/js/codegen/goog/JSGoogDocEmitter.java Sat Jan 19 18:12:10 2013
@@ -173,7 +173,7 @@ public class JSGoogDocEmitter extends JS
         }
         else
         {
-        	writeNewline(); // TODO (erikdebruin) check if this is needed
+        	writeNewline();
         	begin();
         	emitConst(node);
         	emitType(node);