blob: 4986277bde8c24452f3c2560c46437e794e5ffac [file] [log] [blame]
// Copyright (c) 2017, 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.
/*@testedFeatures=inference*/
library test;
class A {
final String foo;
A(this.foo);
bool operator ==(Object other) {
if (other is A && /*@ promotedType=A* */ other
. /*@target=A.foo*/ foo /*@target=String.==*/ ==
this. /*@target=A.foo*/ foo) {
if (/*@ promotedType=A* */ other
. /*@target=A.foo*/ foo /*@target=String.==*/ ==
this. /*@target=A.foo*/ foo) {}
}
return true;
}
}
main() {
print(new A("hello") /*@target=A.==*/ == new A("hello"));
}