blob: ba58d2a92d71da1d8c02a76f4a77e2186690ee90 [file] [log] [blame]
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);
}