Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(29)

Unified Diff: compiler/java/com/google/dart/compiler/backend/js/GenerateJavascriptAST.java

Issue 8479041: https://code.google.com/p/dart/issues/detail?id=255 (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: '' Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();

Powered by Google App Engine
This is Rietveld 408576698