blob: 2e2d6534162af1bfcf86bf57416991e9358ad4ed [file] [log] [blame]
# 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