Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(170)

Unified Diff: tests/compiler/dart2js/serialization/helper.dart

Issue 2004833003: Support multiple resolution inputs from command line. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Fix after rebase Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tests/compiler/dart2js/serialization/helper.dart
diff --git a/tests/compiler/dart2js/serialization/helper.dart b/tests/compiler/dart2js/serialization/helper.dart
index cde182f22e2b5ff548f7a41838936ca591c4c278..04716588b38a2bcfffe77324ac5a0f79bb55c9e3 100644
--- a/tests/compiler/dart2js/serialization/helper.dart
+++ b/tests/compiler/dart2js/serialization/helper.dart
@@ -81,17 +81,18 @@ class Arguments {
}
-Future<String> serializeDartCore(
+Future<SerializedData> serializeDartCore(
{Arguments arguments: const Arguments()}) async {
+ Uri uri = Uri.parse('memory:${arguments.serializedDataFileName}');
print('------------------------------------------------------------------');
print('serialize dart:core');
print('------------------------------------------------------------------');
- String serializedData;
+ SerializedData serializedData;
if (arguments.loadSerializedData) {
File file = new File(arguments.serializedDataFileName);
if (file.existsSync()) {
print('Loading data from $file');
- serializedData = file.readAsStringSync();
+ serializedData = new SerializedData(uri, file.readAsStringSync());
}
}
if (serializedData == null) {
@@ -102,12 +103,47 @@ Future<String> serializeDartCore(
BufferedEventSink sink = new BufferedEventSink();
compiler.serialization.serializeToSink(
sink, compiler.libraryLoader.libraries);
- serializedData = sink.text;
+ serializedData = new SerializedData(uri, sink.text);
if (arguments.saveSerializedData) {
File file = new File(arguments.serializedDataFileName);
print('Saving data to $file');
- file.writeAsStringSync(serializedData);
+ file.writeAsStringSync(serializedData.data);
}
}
return serializedData;
}
+
+class SerializedData {
+ final Uri uri;
+ final String data;
+
+ SerializedData(this.uri, this.data);
+
+ Map<String, String> toMemorySourceFiles([Map<String, String> input]) {
+ Map<String, String> sourceFiles = <String, String>{};
+ if (input != null) {
+ sourceFiles.addAll(input);
+ }
+ expandMemorySourceFiles(sourceFiles);
+ return sourceFiles;
+ }
+
+ void expandMemorySourceFiles(Map<String, String> sourceFiles) {
+ if (uri.scheme == 'memory') {
+ sourceFiles[uri.path] = data;
+ }
+ }
+
+ List<Uri> toUris([List<Uri> input]) {
+ List<Uri> uris = <Uri>[];
+ if (input != null) {
+ uris.addAll(input);
+ }
+ expandUris(uris);
+ return uris;
+ }
+
+ void expandUris(List<Uri> uris) {
+ uris.add(uri);
+ }
+}
« no previous file with comments | « tests/compiler/dart2js/serialization/equivalence_test.dart ('k') | tests/compiler/dart2js/serialization/impact_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698