Files
sdk/pkg/front_end/testcases/inference/bug30620_b.dart
T
Paul Berry df9889787c Propagate type inference out of logical expressions.
This addresses some of the failures reported in #30620.

Change-Id: I4a528a2d45ef5df814063b433dcf8a664cce4097
Reviewed-on: https://dart-review.googlesource.com/13000
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-10-11 17:04:17 +00:00

24 lines
704 B
Dart

// 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) =>
other is A && /*@promotedType=A*/ other
. /*@target=A::foo*/ foo /*@target=String::==*/ ==
this. /*@target=A::foo*/ foo && /*@promotedType=A*/ other
. /*@target=A::foo*/ foo /*@target=String::==*/ ==
this. /*@target=A::foo*/ foo;
}
main() {
print(new A("hello") /*@target=A::==*/ == new A("hello"));
}