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);