Index: compiler/java/com/google/dart/compiler/backend/js/GenerateJavascriptAST.java |
=================================================================== |
--- compiler/java/com/google/dart/compiler/backend/js/GenerateJavascriptAST.java (revision 1268) |
+++ compiler/java/com/google/dart/compiler/backend/js/GenerateJavascriptAST.java (working copy) |
@@ -869,21 +869,16 @@ |
functionStack.push(constructor.getFunction()); |
jsNewDeclarationsStack.push(new HashSet<JsName>()); |
- JsInvocation constructorInvocation = maybeGenerateSuperOrRedirectCall(constructor); |
- boolean hasConstructorInvocation = constructorInvocation != null; |
- Iterator<DartInitializer> iterator = initializers.iterator(); |
- Iterator<DartField> fieldIterator = fieldInitializers.iterator(); |
- |
- List<JsStatement> jsInitializers = initFunction.getBody().getStatements(); |
- |
// Do the field inline initializers first. If there are any assignments in the initializer |
// list, they will be the last assignments. |
+ List<JsStatement> jsInitializers = initFunction.getBody().getStatements(); |
+ Iterator<DartField> fieldIterator = fieldInitializers.iterator(); |
while (fieldIterator.hasNext()) { |
- JsExpression initializer = generateInlineFieldInitializer(fieldIterator.next()); |
- jsInitializers.add(initializer.makeStmt()); |
+ jsInitializers.add(generateInlineFieldInitializer(fieldIterator.next()).makeStmt()); |
} |
DartInvocation initInvocation = null; |
+ Iterator<DartInitializer> iterator = initializers.iterator(); |
while (iterator.hasNext()) { |
DartInitializer initializer = iterator.next(); |
if (!initializer.isInvocation()) { |
@@ -893,7 +888,8 @@ |
} |
} |
- if (hasConstructorInvocation) { |
+ JsInvocation constructorInvocation = maybeGenerateSuperOrRedirectCall(constructor); |
mmendez
2011/11/08 15:24:06
Nit: I'm not sure that we need this method as is s
fabiomfv
2011/11/08 15:34:55
+1. this is not new code and we should refactor. I
|
+ if (constructorInvocation != null) { |
// Call the super initializer function in the initializer. |
// Compute the super constructor initializer to call. |
ConstructorElement superElement = (ConstructorElement) initInvocation.getSymbol(); |