| // 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. |
| |
| // @dart = 2.7 |
| |
| // Regression test for dart2js inference. Class.field6b should be known to be |
| // potentially `null`. |
| |
| import 'package:expect/expect.dart'; |
| |
| class Class6 { |
| var field6a; |
| var field6b; |
| |
| Class6() : field6a = 42 { |
| field6b = field6a; |
| } |
| } |
| |
| class SubClass6 extends Class6 { |
| var field6b; |
| |
| SubClass6() : field6b = 42; |
| |
| get access => super.field6b; |
| } |
| |
| subclassField2() { |
| new Class6(); |
| return new SubClass6().access; |
| } |
| |
| main() { |
| Expect.isTrue(subclassField2() == null); |
| } |