| Index: pkg/front_end/testcases/inference/infer_field_override_setter_overrides_getter.dart
|
| diff --git a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart b/pkg/front_end/testcases/inference/infer_field_override_setter_overrides_getter.dart
|
| similarity index 56%
|
| copy from pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart
|
| copy to pkg/front_end/testcases/inference/infer_field_override_setter_overrides_getter.dart
|
| index c8bf6f91deec52a3838f850b10dc3a222cb71835..63a37faac6531e32aaed357ec26ec97d4a1b3635 100644
|
| --- a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart
|
| +++ b/pkg/front_end/testcases/inference/infer_field_override_setter_overrides_getter.dart
|
| @@ -5,15 +5,18 @@
|
| /*@testedFeatures=inference*/
|
| library test;
|
|
|
| -class A {
|
| - var /*@topType=dynamic*/ x;
|
| +abstract class A {
|
| + num get x;
|
| }
|
|
|
| -class B implements A {
|
| - var /*@topType=dynamic*/ x = 2;
|
| +abstract class B extends A {
|
| + void set x(int value);
|
| }
|
|
|
| -foo() {
|
| - String y = /*info:DYNAMIC_CAST*/ new B(). /*@target=B::x*/ x;
|
| - int z = /*info:DYNAMIC_CAST*/ new B(). /*@target=B::x*/ x;
|
| +// The getter in B doesn't screen the setter in A, so inference sees two
|
| +// different types and gives an error.
|
| +class C extends B {
|
| + var /*@topType=dynamic*/ x;
|
| }
|
| +
|
| +main() {}
|
|
|