| # 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 number of modules. |
| # Try out "trickery" in the module dependencies to force needing more or less |
| # dill libraries. |
| |
| type: newworld |
| modules: |
| module: |
| module/lib1.dart: | |
| import 'lib2.dart'; |
| |
| abstract class XSet { |
| factory XSet.identity() = XLinkedHashSet.identity; |
| } |
| module/lib2.dart: | |
| import 'lib1.dart'; |
| import 'lib3.dart'; |
| |
| class XLinkedHashSet implements XSet { |
| factory XLinkedHashSet.identity() = XIdentityHashSet; |
| } |
| module/lib3.dart: | |
| import 'lib2.dart'; |
| |
| class XIdentityHashSet implements XLinkedHashSet { |
| XIdentityHashSet(); |
| } |
| module/.packages: | |
| module:. |
| worlds: |
| - entry: compileme.dart |
| fromComponent: true |
| sources: |
| compileme.dart: | |
| import 'package:module/lib1.dart'; |
| |
| main() { |
| XSet history = new XSet.identity(); |
| } |
| .packages: | |
| module:module |
| modules: |
| - module |
| expectedLibraryCount: 4 |
| neededDillLibraries: |
| - package:module/lib1.dart |
| - package:module/lib2.dart |
| - package:module/lib3.dart |
| expectedContent: |
| org-dartlang-test:///compileme.dart: |
| - Procedure main |
| package:module/lib1.dart: |
| - Class XSet |
| package:module/lib2.dart: |
| - Class XLinkedHashSet |
| package:module/lib3.dart: |
| - Class XIdentityHashSet |