Migrate language_2/resolution to NNBD.

Change-Id: Ib09966e3e8ed35927ade31d5fdc7cac8101206f8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150470
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Leaf Petersen <leafp@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
This commit is contained in:
Robert Nystrom 2020-06-09 00:44:05 +00:00 committed by commit-bot@chromium.org
parent 7eee7b6957
commit 0b535e7a02
3 changed files with 100 additions and 0 deletions

View file

@ -0,0 +1,23 @@
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import "package:expect/expect.dart";
int get foo => 499;
class CompileError {
var x;
// Dart2js tried to resolve factories twice. The second time during building
// when it was not allowed to do so.
factory CompileError() {
return new CompileError.internal(foo);
}
CompileError.internal(this.x);
}
void main() {
Expect.equals(499, new CompileError().x);
}

View file

@ -0,0 +1,37 @@
// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// Dart test for testing resolving of dynamic and static calls.
import "package:expect/expect.dart";
class A {
static staticCall() {
return 4;
}
dynamicCall() {
return 5;
}
ovrDynamicCall() {
return 6;
}
}
class B extends A {
ovrDynamicCall() {
return -6;
}
}
class ResolveTest {
static testMain() {
var b = new B();
Expect.equals(3, (b.dynamicCall() + A.staticCall() + b.ovrDynamicCall()));
}
}
main() {
ResolveTest.testMain();
}

View file

@ -0,0 +1,40 @@
// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// Dart test program to check that we can resolve unqualified identifiers
import "package:expect/expect.dart";
class B {
B(x, y) : b = y {}
var b;
get_b() {
// Resolving unqualified instance method.
return really_really_get_it();
}
really_really_get_it() {
return 5;
}
}
class UnqualNameTest {
static eleven() {
return 11;
}
static testMain() {
var o = new B(3, 5);
Expect.equals(11, eleven()); // Unqualified static method call.
Expect.equals(5, o.get_b());
// Check whether we handle variable initializers correctly.
var a = 1, x, b = a + 3;
Expect.equals(5, a + b);
}
}
main() {
UnqualNameTest.testMain();
}