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

Unified Diff: tests/compiler/dart2js/resolver_test.dart

Issue 11140018: Ensure that ClassElement.lookupConstructor fails when looking up default constructor using Selector… (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Rebased. Created 8 years, 2 months 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: tests/compiler/dart2js/resolver_test.dart
diff --git a/tests/compiler/dart2js/resolver_test.dart b/tests/compiler/dart2js/resolver_test.dart
index 4e8e60813e9249e602559fabfc8a5e5877170427..648210ba1c63bf470d2ad80768730c6af0508733 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,13 +629,13 @@ 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,
expectedWarnings: [],
expectedErrors:
[MessageKind.INVALID_RECEIVER_IN_INITIALIZER]);
@@ -638,14 +644,14 @@ testInitializers() {
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,
expectedWarnings: [MessageKind.ALREADY_INITIALIZED],
expectedErrors: [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,
expectedWarnings: [],
expectedErrors: [MessageKind.CANNOT_RESOLVE]);
@@ -654,7 +660,7 @@ testInitializers() {
int bar;
A() : this.foo = bar;
}""";
- resolveConstructor(script, "A a = new A();", "A", "A", 3,
+ resolveConstructor(script, "A a = new A();", "A", "", 3,
expectedWarnings: [],
expectedErrors: [MessageKind.NO_INSTANCE_AVAILABLE]);
@@ -662,7 +668,7 @@ testInitializers() {
int foo() => 42;
A() : foo();
}""";
- resolveConstructor(script, "A a = new A();", "A", "A", 0,
+ resolveConstructor(script, "A a = new A();", "A", "", 0,
expectedWarnings: [],
expectedErrors: [MessageKind.CONSTRUCTOR_CALL_EXPECTED]);
@@ -690,7 +696,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 {
int i;
@@ -699,7 +705,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,
expectedWarnings: [],
expectedErrors: [MessageKind.DUPLICATE_SUPER_INITIALIZER]);
@@ -718,7 +724,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,
expectedWarnings: [],
expectedErrors: [MessageKind.SUPER_INITIALIZER_IN_OBJECT],
corelib: CORELIB_WITH_INVALID_OBJECT);

Powered by Google App Engine
This is Rietveld 408576698