blob: 7dbc54eb2a738fe742307bd03e0e7155a25b92d7 [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);
}