| Index: tests/compiler/dart2js/resolver_test.dart
|
| diff --git a/tests/compiler/dart2js/resolver_test.dart b/tests/compiler/dart2js/resolver_test.dart
|
| index fe4db71c5a6168489e11a351f36e1a5291dfda5e..d72c11902b8b6aa6fc344caa63d8db0b71fa87b5 100644
|
| --- a/tests/compiler/dart2js/resolver_test.dart
|
| +++ b/tests/compiler/dart2js/resolver_test.dart
|
| @@ -563,10 +563,16 @@ resolveConstructor(String script, String statement, String className,
|
| compiler.resolveStatement(statement);
|
| ClassElement classElement =
|
| compiler.mainApp.find(buildSourceString(className));
|
| - Element element =
|
| - classElement.lookupConstructor(
|
| - new Selector.callConstructor(buildSourceString(constructor),
|
| - classElement.getLibrary()));
|
| + Element element;
|
| + if (constructor !== '') {
|
| + element = classElement.lookupConstructor(
|
| + new Selector.callConstructor(buildSourceString(constructor),
|
| + classElement.getLibrary()));
|
| + } else {
|
| + element = classElement.lookupConstructor(
|
| + new Selector.callDefaultConstructor(classElement.getLibrary()));
|
| + }
|
| +
|
| FunctionExpression tree = element.parseNode(compiler);
|
| ResolverVisitor visitor = new ResolverVisitor(compiler, element);
|
| new InitializerResolver(visitor).resolveInitializers(element, tree);
|
| @@ -623,27 +629,27 @@ testInitializers() {
|
| int foo; int bar;
|
| A() : this.foo = 1, bar = 2;
|
| }""";
|
| - resolveConstructor(script, "A a = new A();", "A", "A", 2);
|
| + resolveConstructor(script, "A a = new A();", "A", "", 2);
|
|
|
| script = """class A {
|
| int foo; A a;
|
| A() : a.foo = 1;
|
| }""";
|
| - resolveConstructor(script, "A a = new A();", "A", "A", 0,
|
| + resolveConstructor(script, "A a = new A();", "A", "", 0,
|
| [], [MessageKind.INVALID_RECEIVER_IN_INITIALIZER]);
|
|
|
| script = """class A {
|
| int foo;
|
| A() : this.foo = 1, this.foo = 2;
|
| }""";
|
| - resolveConstructor(script, "A a = new A();", "A", "A", 2,
|
| + resolveConstructor(script, "A a = new A();", "A", "", 2,
|
| [MessageKind.ALREADY_INITIALIZED],
|
| [MessageKind.DUPLICATE_INITIALIZER]);
|
|
|
| script = """class A {
|
| A() : this.foo = 1;
|
| }""";
|
| - resolveConstructor(script, "A a = new A();", "A", "A", 0,
|
| + resolveConstructor(script, "A a = new A();", "A", "", 0,
|
| [], [MessageKind.CANNOT_RESOLVE]);
|
|
|
| script = """class A {
|
| @@ -651,14 +657,14 @@ testInitializers() {
|
| int bar;
|
| A() : this.foo = bar;
|
| }""";
|
| - resolveConstructor(script, "A a = new A();", "A", "A", 3,
|
| + resolveConstructor(script, "A a = new A();", "A", "", 3,
|
| [], [MessageKind.NO_INSTANCE_AVAILABLE]);
|
|
|
| script = """class A {
|
| int foo() => 42;
|
| A() : foo();
|
| }""";
|
| - resolveConstructor(script, "A a = new A();", "A", "A", 0,
|
| + resolveConstructor(script, "A a = new A();", "A", "", 0,
|
| [], [MessageKind.CONSTRUCTOR_CALL_EXPECTED]);
|
|
|
| script = """class A {
|
| @@ -684,7 +690,7 @@ testInitializers() {
|
| class B extends A {
|
| B() : super(0);
|
| }""";
|
| - resolveConstructor(script, "B a = new B();", "B", "B", 1,
|
| + resolveConstructor(script, "B a = new B();", "B", "", 1,
|
| [], []);
|
|
|
| script = """class A {
|
| @@ -694,7 +700,7 @@ testInitializers() {
|
| class B extends A {
|
| B() : super(0), super(1);
|
| }""";
|
| - resolveConstructor(script, "B b = new B();", "B", "B", 2,
|
| + resolveConstructor(script, "B b = new B();", "B", "", 2,
|
| [], [MessageKind.DUPLICATE_SUPER_INITIALIZER]);
|
|
|
| script = "";
|
| @@ -711,7 +717,7 @@ testInitializers() {
|
| class Null {}
|
| class Dynamic_ {}
|
| class Object { Object() : super(); }''';
|
| - resolveConstructor(script, "Object o = new Object();", "Object", "Object", 1,
|
| + resolveConstructor(script, "Object o = new Object();", "Object", "", 1,
|
| [], [MessageKind.SUPER_INITIALIZER_IN_OBJECT],
|
| corelib: CORELIB_WITH_INVALID_OBJECT);
|
| }
|
|
|