| // 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 { | |
| B b = throw ''; | |
| } | |
| class B { | |
| C? c; | |
| } | |
| class C {} | |
| class D extends C {} | |
| var a = new A(); | |
| var x = a. /*@target=A.b*/ b. /*@target=B.c*/ c; | |
| var y = a. /*@type=B*/ /*@target=A.b*/ /*@target=B.c*/ b. /*@target=B.c*/ c ??= | |
| new D(); | |
| main() {} |