| # Copyright (c) 2019, 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.md file. |
| |
| # Compile an application with a const class with a initializer assert that would |
| # fail once evaluated. Everything should be fine as there is no usage. |
| # Add another const class that references it. Error. |
| # Fixing that should fix everything. |
| |
| type: newworld |
| worlds: |
| - entry: main.dart |
| sources: |
| main.dart: | |
| // @dart=2.9 |
| import 'lib.dart'; |
| main() { |
| foo(); |
| } |
| lib.dart: | |
| // @dart=2.9 |
| class Foo { |
| const Foo(int i) : assert(i > 0); |
| } |
| foo() { |
| new Foo(0); |
| } |
| expectedLibraryCount: 2 |
| errors: false |
| - entry: main.dart |
| errors: true |
| worldType: updated |
| invalidate: |
| - main.dart |
| sources: |
| main.dart: | |
| // @dart=2.9 |
| import 'lib.dart'; |
| import 'lib2.dart'; |
| main() { |
| foo(); |
| bar(); |
| } |
| lib2.dart: | |
| // @dart=2.9 |
| import 'lib.dart'; |
| class Bar { |
| final Foo x; |
| const Bar() : x = const Foo(0); |
| } |
| bar() {} |
| expectInitializeFromDill: false |
| expectedLibraryCount: 3 |
| - entry: main.dart |
| errors: false |
| worldType: updated |
| invalidate: |
| - lib2.dart |
| sources: |
| lib2.dart: | |
| // @dart=2.9 |
| import 'lib.dart'; |
| class Bar { |
| final Foo x; |
| const Bar() : x = const Foo(1); |
| } |
| bar() {} |
| expectInitializeFromDill: false |
| expectedLibraryCount: 3 |