| # 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 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 'lib3.dart'; | 
 |  | 
 |       class Class1 { | 
 |         Class3a get c3a => throw ''; | 
 |       } | 
 |     module/lib2.dart: | | 
 |       import 'lib4.dart'; | 
 |  | 
 |       class Class2 { | 
 |         void cl4() { | 
 |           Class4 class4 = new Class4(); | 
 |           print(class4); | 
 |         } | 
 |       } | 
 |     module/lib3.dart: | | 
 |       class Class3a { | 
 |         Class3b get c3b => throw ''; | 
 |       } | 
 |  | 
 |       class Class3b { | 
 |         String str() => throw ''; | 
 |       } | 
 |     module/lib4.dart: | | 
 |       class Class4 {} | 
 |     module/.dart_tool/package_config.json: | | 
 |       { | 
 |         "configVersion": 2, | 
 |         "packages": [ | 
 |           { | 
 |             "name": "module", | 
 |             "rootUri": ".." | 
 |           } | 
 |         ] | 
 |       } | 
 | worlds: | 
 |   - entry: compileme.dart | 
 |     fromComponent: true | 
 |     sources: | 
 |       compileme.dart: | | 
 |         import 'package:module/lib1.dart'; | 
 |         import 'package:module/lib2.dart'; | 
 |  | 
 |         main() { | 
 |           Class2 class2 = new Class2(); | 
 |           print(class2); | 
 |         } | 
 |  | 
 |         class Foo { | 
 |           Class1 class1() { | 
 |             Class1 class1 = new Class1(); | 
 |             class1.c3a.c3b.str(); | 
 |             return class1; | 
 |           } | 
 |         } | 
 |       .dart_tool/package_config.json: | | 
 |         { | 
 |           "configVersion": 2, | 
 |           "packages": [ | 
 |             { | 
 |               "name": "module", | 
 |               "rootUri": "../module" | 
 |             } | 
 |           ] | 
 |         } | 
 |     modules: | 
 |       - module | 
 |     expectedLibraryCount: 5 | 
 |     neededDillLibraries: | 
 |       - package:module/lib1.dart | 
 |       - package:module/lib2.dart | 
 |       - package:module/lib3.dart | 
 |     expectedContent: | 
 |       org-dartlang-test:///compileme.dart: | 
 |         - Class Foo | 
 |         - Procedure main | 
 |       package:module/lib1.dart: | 
 |         - Class Class1 | 
 |       package:module/lib2.dart: | 
 |         - Class Class2 | 
 |       package:module/lib3.dart: | 
 |         - Class Class3a | 
 |         - Class Class3b | 
 |       package:module/lib4.dart: | 
 |         - Class Class4 | 
 |     advancedInvalidation: modulesToLoad | 
 |  | 
 |   - entry: compileme.dart | 
 |     fromComponent: true | 
 |     expectInitializeFromDill: false | 
 |     outlineOnly: true | 
 |     skipOutlineBodyCheck: true | 
 |     sources: | 
 |       compileme.dart: | | 
 |         import 'package:module/lib1.dart'; | 
 |         import 'package:module/lib2.dart'; | 
 |  | 
 |         main() { | 
 |           Class2 class2 = new Class2(); | 
 |           print(class2); | 
 |         } | 
 |  | 
 |         class Foo { | 
 |           Class1 class1() { | 
 |             Class1 class1 = new Class1(); | 
 |             class1.c3a.c3b.str(); | 
 |             return class1; | 
 |           } | 
 |         } | 
 |       .dart_tool/package_config.json: | | 
 |         { | 
 |           "configVersion": 2, | 
 |           "packages": [ | 
 |             { | 
 |               "name": "module", | 
 |               "rootUri": "../module" | 
 |             } | 
 |           ] | 
 |         } | 
 |     modules: | 
 |       - module | 
 |     expectedLibraryCount: 5 | 
 |     neededDillLibraries: | 
 |       # This is the outline version. It doesn't use lib3.dart. | 
 |       - package:module/lib1.dart | 
 |       - package:module/lib2.dart | 
 |     expectedContent: | 
 |       org-dartlang-test:///compileme.dart: | 
 |         - Class Foo | 
 |         - Procedure main | 
 |       package:module/lib1.dart: | 
 |         - Class Class1 | 
 |       package:module/lib2.dart: | 
 |         - Class Class2 | 
 |       package:module/lib3.dart: | 
 |         - Class Class3a | 
 |         - Class Class3b | 
 |       package:module/lib4.dart: | 
 |         - Class Class4 | 
 |     advancedInvalidation: modulesToLoad |