Files
sdk/pkg/kernel/testcases/input/escape.dart
T
Asger Feldthaus 4b860db14b [kernel] Reorganize baseline testing.
A single suite of test files is now shared among these configurations,
each with their own expected outputs:
- spec mode
- strong mode
- spec mode w/ type propagation

Although some tests are going to focus on a specific configuration,
for now it seems easier to maintain a single set of tests.

No additional tests have been added in this CL, but the intention
is to start adding more tests.

The baseline tests no longer contain any checked-in dill files.

To simplify dependencies, these tests do not rely on a patched SDK,
which means the async transformer cannot currently be tested with
this framework.

BUG=
R=kmillikin@google.com

Review URL: https://chromereviews.googleplex.com/507347013 .
2016-09-21 12:23:11 +02:00

43 lines
497 B
Dart

class A {
var field;
}
class B {
var field;
}
class C {
operator==(x) => false;
}
class X implements A, B {
var field;
}
void useAsA(A object) {
var _ = object.field;
}
void useAsB(B object) {
var _ = object.field;
escape(object);
}
void escape(x) {
x ??= "";
x ??= 45;
if (x is! int && x is! String) {
x.field = 45;
}
}
main() {
// escape("");
// escape(45);
var object = new X();
useAsA(new A());
useAsA(object);
useAsB(new B());
useAsB(object);
}