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

Side by Side Diff: tests/compiler/dart2js/serialization/helper.dart

Issue 2296723003: Handle html+mirrors (Closed)
Patch Set: Created 4 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library dart2js.serialization_helper; 5 library dart2js.serialization_helper;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:io'; 8 import 'dart:io';
9 9
10 import 'package:compiler/src/commandline_options.dart'; 10 import 'package:compiler/src/commandline_options.dart';
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 } 206 }
207 } 207 }
208 208
209 Future<List<SerializedData>> preserializeData( 209 Future<List<SerializedData>> preserializeData(
210 SerializedData serializedData, Test test) async { 210 SerializedData serializedData, Test test) async {
211 if (test == null || 211 if (test == null ||
212 test.preserializedSourceFiles == null || 212 test.preserializedSourceFiles == null ||
213 test.preserializedSourceFiles.isEmpty) { 213 test.preserializedSourceFiles.isEmpty) {
214 return <SerializedData>[serializedData]; 214 return <SerializedData>[serializedData];
215 } 215 }
216
216 List<Uri> uriList = <Uri>[]; 217 List<Uri> uriList = <Uri>[];
217 for (String key in test.preserializedSourceFiles.keys) { 218 for (String key in test.preserializedSourceFiles.keys) {
218 uriList.add(Uri.parse('memory:$key')); 219 uriList.add(Uri.parse('memory:$key'));
219 } 220 }
220 Map<String, String> sourceFiles = serializedData.toMemorySourceFiles(); 221 Map<String, String> sourceFiles = serializedData.toMemorySourceFiles();
221 sourceFiles.addAll(test.preserializedSourceFiles); 222 sourceFiles.addAll(test.preserializedSourceFiles);
222 if (test.unserializedSourceFiles != null) { 223 if (test.unserializedSourceFiles != null) {
223 sourceFiles.addAll(test.unserializedSourceFiles); 224 sourceFiles.addAll(test.unserializedSourceFiles);
224 } 225 }
225 OutputCollector outputCollector = new OutputCollector(); 226 Uri additionalDataUri = Uri.parse('memory:additional.data');
226 Compiler compiler = compilerFor( 227 SerializedData additionalSerializedData;
227 memorySourceFiles: sourceFiles, 228 if (test.sourceFiles.isEmpty) {
228 resolutionInputs: serializedData.toUris(), 229 SerializationResult result = await serialize(
229 options: [Flags.resolveOnly], 230 uriList.first,
230 outputProvider: outputCollector); 231 memorySourceFiles: sourceFiles,
231 compiler.librariesToAnalyzeWhenRun = uriList; 232 resolutionInputs: serializedData.toUris(),
232 await compiler.run(null); 233 dataUri: additionalDataUri);
233 List<LibraryElement> libraries = <LibraryElement>[]; 234 additionalSerializedData = result.serializedData;
234 for (Uri uri in uriList) { 235 } else {
235 libraries.add(compiler.libraryLoader.lookupLibrary(uri)); 236 OutputCollector outputCollector = new OutputCollector();
237 Compiler compiler = compilerFor(
238 entryPoint: test.sourceFiles.isEmpty ? uriList.first : null,
239 memorySourceFiles: sourceFiles,
240 resolutionInputs: serializedData.toUris(),
241 options: [Flags.resolveOnly],
242 outputProvider: outputCollector);
243 compiler.librariesToAnalyzeWhenRun = uriList;
244 await compiler.run(null);
245 List<LibraryElement> libraries = <LibraryElement>[];
246 for (Uri uri in uriList) {
247 libraries.add(compiler.libraryLoader.lookupLibrary(uri));
248 }
249 additionalSerializedData = new SerializedData(
250 additionalDataUri,
251 outputCollector.getOutput('', 'data'));
236 } 252 }
237 SerializedData additionalSerializedData = new SerializedData(
238 Uri.parse('memory:additional.data'),
239 outputCollector.getOutput('', 'data'));
240 return <SerializedData>[serializedData, additionalSerializedData]; 253 return <SerializedData>[serializedData, additionalSerializedData];
241 } 254 }
242 255
243 class MeasurementResult { 256 class MeasurementResult {
244 final String title; 257 final String title;
245 final String taskTitle; 258 final String taskTitle;
246 final int elapsedMilliseconds; 259 final int elapsedMilliseconds;
247 260
248 MeasurementResult(this.title, this.taskTitle, this.elapsedMilliseconds); 261 MeasurementResult(this.title, this.taskTitle, this.elapsedMilliseconds);
249 } 262 }
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
288 print('$taskTitle: $title'); 301 print('$taskTitle: $title');
289 print('----------------------------------------------------------------'); 302 print('----------------------------------------------------------------');
290 var result = await task(); 303 var result = await task();
291 stopwatch.stop(); 304 stopwatch.stop();
292 int elapsedMilliseconds = stopwatch.elapsedMilliseconds; 305 int elapsedMilliseconds = stopwatch.elapsedMilliseconds;
293 print('$taskTitle: $title: ${elapsedMilliseconds}ms'); 306 print('$taskTitle: $title: ${elapsedMilliseconds}ms');
294 measurementResults.add( 307 measurementResults.add(
295 new MeasurementResult(title, taskTitle, elapsedMilliseconds)); 308 new MeasurementResult(title, taskTitle, elapsedMilliseconds));
296 return result; 309 return result;
297 } 310 }
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/serialization/compilation_test_helper.dart ('k') | tests/compiler/dart2js/serialization/test_data.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698