Chromium Code Reviews| 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(); |