diff --git a/pkg/dev_compiler/test/modular_suite.dart b/pkg/dev_compiler/test/modular_suite.dart index 2442d93cc01..0b4e1e6e81b 100644 --- a/pkg/dev_compiler/test/modular_suite.dart +++ b/pkg/dev_compiler/test/modular_suite.dart @@ -81,6 +81,9 @@ class SourceToSummaryDillStep implements IOModularStep { extraArgs = ['--packages-file', '$rootScheme:/.packages']; } + Module sdkModule = + module.isSdk ? module : module.dependencies.firstWhere((m) => m.isSdk); + List args = [ _kernelWorkerScript, '--summary-only', @@ -93,8 +96,14 @@ class SourceToSummaryDillStep implements IOModularStep { ...extraArgs, '--output', '${toUri(module, dillId)}', + if (!module.isSdk) ...[ + '--dart-sdk-summary', + '${toUri(sdkModule, dillId)}', + '--exclude-non-sources', + ], ...(transitiveDependencies - .expand((m) => ['--input-linked', '${toUri(m, dillId)}'])), + .where((m) => !m.isSdk) + .expand((m) => ['--input-summary', '${toUri(m, dillId)}'])), ...(sources.expand((String uri) => ['--source', uri])), ...(flags.expand((String flag) => ['--enable-experiment', flag])), ]; diff --git a/tests/modular/diamond/a.dart b/tests/modular/diamond/a.dart new file mode 100644 index 00000000000..63956ec64e8 --- /dev/null +++ b/tests/modular/diamond/a.dart @@ -0,0 +1,3 @@ +import 'b.dart'; + +var item = b; diff --git a/tests/modular/diamond/b.dart b/tests/modular/diamond/b.dart new file mode 100644 index 00000000000..07a55aa41a4 --- /dev/null +++ b/tests/modular/diamond/b.dart @@ -0,0 +1,3 @@ +class B {} + +var b = new B(); diff --git a/tests/modular/diamond/main.dart b/tests/modular/diamond/main.dart new file mode 100644 index 00000000000..a112564e81b --- /dev/null +++ b/tests/modular/diamond/main.dart @@ -0,0 +1,6 @@ +import 'b.dart'; +import 'a.dart'; + +main() { + print([item, b]); +} diff --git a/tests/modular/diamond/modules.yaml b/tests/modular/diamond/modules.yaml new file mode 100644 index 00000000000..2fd373c2ed8 --- /dev/null +++ b/tests/modular/diamond/modules.yaml @@ -0,0 +1,3 @@ +dependencies: + main: [a, b] + a: b