| Index: compiler/java/com/google/dart/compiler/backend/js/Normalizer.java
|
| diff --git a/compiler/java/com/google/dart/compiler/backend/js/Normalizer.java b/compiler/java/com/google/dart/compiler/backend/js/Normalizer.java
|
| index 9eebb568483317bacd0a6e5d80b61377f973e6f3..582de60267ae3d509fb01d2dc0047dd6055ca174 100644
|
| --- a/compiler/java/com/google/dart/compiler/backend/js/Normalizer.java
|
| +++ b/compiler/java/com/google/dart/compiler/backend/js/Normalizer.java
|
| @@ -4,6 +4,13 @@
|
|
|
| package com.google.dart.compiler.backend.js;
|
|
|
| +import java.util.ArrayList;
|
| +import java.util.Arrays;
|
| +import java.util.Collections;
|
| +import java.util.HashSet;
|
| +import java.util.List;
|
| +import java.util.Set;
|
| +
|
| import com.google.common.collect.Lists;
|
| import com.google.dart.compiler.InternalCompilerException;
|
| import com.google.dart.compiler.ast.DartArrayAccess;
|
| @@ -66,13 +73,6 @@ import com.google.dart.compiler.resolver.VariableElement;
|
| import com.google.dart.compiler.type.InterfaceType;
|
| import com.google.dart.compiler.type.Types;
|
|
|
| -import java.util.ArrayList;
|
| -import java.util.Arrays;
|
| -import java.util.Collections;
|
| -import java.util.HashSet;
|
| -import java.util.List;
|
| -import java.util.Set;
|
| -
|
| /**
|
| * Normalization phase of Dart compiler. Rewrites the AST to simplify later
|
| * phases.
|
| @@ -601,10 +601,10 @@ public class Normalizer {
|
|
|
| private DartMethodDefinition createImplicitDefaultConstructor(final ClassElement classElement) {
|
| assert (Elements.needsImplicitDefaultConstructor(classElement));
|
| - DartFunction function = new DartFunction(Collections.<DartParameter>emptyList(),
|
| + DartFunction function = new DartFunction(Collections.<DartParameter>emptyList(),
|
| new DartBlock(Collections.<DartStatement>emptyList()), null);
|
| final DartMethodDefinition method =
|
| - DartMethodDefinition.create(new DartIdentifier(""), function, Modifiers.NONE, null, null);
|
| + DartMethodDefinition.create(new DartIdentifier(""), function, Modifiers.NONE, null);
|
| method.setSymbol(new SyntheticDefaultConstructorElement(method, classElement, null));
|
| return method;
|
| }
|
| @@ -637,19 +637,19 @@ public class Normalizer {
|
|
|
| static class NeedsImplicitSuperInvocationDeterminant extends DartNodeTraverser<Void> {
|
| private boolean needsSuperInvocation = true;
|
| -
|
| +
|
| @Override
|
| public Void visitSuperConstructorInvocation(DartSuperConstructorInvocation node) {
|
| needsSuperInvocation = false;
|
| return super.visitSuperConstructorInvocation(node);
|
| }
|
| -
|
| +
|
| @Override
|
| public Void visitRedirectConstructorInvocation(DartRedirectConstructorInvocation node) {
|
| needsSuperInvocation = false;
|
| return super.visitRedirectConstructorInvocation(node);
|
| }
|
| -
|
| +
|
| @Override
|
| public Void visitMethodDefinition(DartMethodDefinition node) {
|
| // Ignore everything except the initializers
|
| @@ -666,7 +666,7 @@ public class Normalizer {
|
| if (Elements.isNonFactoryConstructor(node.getSymbol())) {
|
| normalizeParameterInitializer(node);
|
| }
|
| -
|
| +
|
| return node;
|
| }
|
|
|
| @@ -690,10 +690,10 @@ public class Normalizer {
|
| }
|
| }
|
| }
|
| -
|
| +
|
| return super.visitNewExpression(node);
|
| }
|
| -
|
| +
|
| @Override
|
| public DartNode visitSwitchStatement(DartSwitchStatement node) {
|
| node.getExpression().accept(this);
|
| @@ -737,20 +737,20 @@ public class Normalizer {
|
| if (superLocator.needsSuperInvocation) {
|
| DartSuperConstructorInvocation superInvocation = new DartSuperConstructorInvocation(
|
| new DartIdentifier(""), Collections.<DartExpression>emptyList());
|
| - superInvocation.setSymbol(new SyntheticDefaultConstructorElement(null,
|
| + superInvocation.setSymbol(new SyntheticDefaultConstructorElement(null,
|
| classElement.getSupertype().getElement(), null));
|
| nInit.add(new DartInitializer(null, superInvocation));
|
| - }
|
| + }
|
| }
|
| }
|
| -
|
| +
|
| if (!nInit.isEmpty()) {
|
| if (!node.getInitializers().isEmpty()) {
|
| nInit.addAll(0, node.getInitializers());
|
| }
|
| -
|
| +
|
| DartMethodDefinition nConstructor = DartMethodDefinition.create(
|
| - node.getName(), node.getFunction(), node.getModifiers(), nInit, null);
|
| + node.getName(), node.getFunction(), node.getModifiers(), nInit);
|
| nConstructor.setSymbol(node.getSymbol());
|
| nConstructor.setSourceInfo(node.getSourceInfo());
|
| node.setNormalizedNode(nConstructor);
|
|
|