| // 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. |
| |
| // Regression test for dart2js inference. Class9.field9b should be known to be |
| // potentially `null`. |
| |
| import 'package:expect/expect.dart'; |
| |
| class Class9 { |
| var field9a; |
| var field9b; |
| |
| Class9() : field9a = 42 { |
| field9b = field9a; |
| } |
| } |
| |
| class SubClass9a extends Class9 { |
| var field9b; |
| |
| SubClass9a() : field9b = 42; |
| |
| get access => super.field9b; |
| } |
| |
| class SubClass9b extends Class9 {} |
| |
| subclassField5() { |
| new Class9(); |
| new SubClass9b(); |
| return new SubClass9a().access; |
| } |
| |
| main() { |
| Expect.isTrue(subclassField5() == null); |
| } |