4b860db14b
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 .
43 lines
497 B
Dart
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);
|
|
}
|