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

Side by Side Diff: sdk/lib/_internal/compiler/implementation/dart2js.dart

Issue 12316036: Merge IO v2 branch to bleeding edge (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Rebased to r18818 Created 7 years, 10 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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; 5 library dart2js;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:collection' show Queue, LinkedHashMap; 8 import 'dart:collection' show Queue, LinkedHashMap;
9 import 'dart:io'; 9 import 'dart:io';
10 import 'dart:uri'; 10 import 'dart:uri';
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after
283 } else { 283 } else {
284 fail('Error: Unknown extension: $extension'); 284 fail('Error: Unknown extension: $extension');
285 } 285 }
286 } else { 286 } else {
287 uri = out.resolve('$name.$extension'); 287 uri = out.resolve('$name.$extension');
288 } 288 }
289 289
290 if (uri.scheme != 'file') { 290 if (uri.scheme != 'file') {
291 fail('Error: Unhandled scheme ${uri.scheme} in $uri.'); 291 fail('Error: Unhandled scheme ${uri.scheme} in $uri.');
292 } 292 }
293 var outputStream = new File(uriPathToNative(uri.path)).openOutputStream(); 293 IOSink output =
294 new File(uriPathToNative(uri.path)).openWrite();
294 295
295 CountingSink sink; 296 CountingSink sink;
296 297
297 onDone() { 298 onDone() {
298 if (sourceMapFileName != null) { 299 if (sourceMapFileName != null) {
299 String sourceMapTag = '//@ sourceMappingURL=$sourceMapFileName\n'; 300 String sourceMapTag = '//@ sourceMappingURL=$sourceMapFileName\n';
300 sink.count += sourceMapTag.length; 301 sink.count += sourceMapTag.length;
301 outputStream.writeString(sourceMapTag); 302 output.addString(sourceMapTag);
302 } 303 }
303 outputStream.close(); 304 output.close();
304 if (isPrimaryOutput) { 305 if (isPrimaryOutput) {
305 charactersWritten += sink.count; 306 charactersWritten += sink.count;
306 } 307 }
307 } 308 }
308 309
309 var controller = new StreamController<String>(); 310 var controller = new StreamController<String>();
310 controller.stream.listen(outputStream.writeString, onDone: onDone); 311 controller.stream.listen(output.addString, onDone: onDone);
311 sink = new CountingSink(controller); 312 sink = new CountingSink(controller);
312 return sink; 313 return sink;
313 } 314 }
314 315
315 api.compile(uri, libraryRoot, packageRoot, 316 api.compile(uri, libraryRoot, packageRoot,
316 inputProvider.readStringFromUri, handler, 317 inputProvider.readStringFromUri, handler,
317 options, outputProvider) 318 options, outputProvider)
318 .then(compilationDone); 319 .then(compilationDone);
319 } 320 }
320 321
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
500 } catch (ignored) { 501 } catch (ignored) {
501 print('Internal error: error while printing exception'); 502 print('Internal error: error while printing exception');
502 } 503 }
503 try { 504 try {
504 print(trace); 505 print(trace);
505 } finally { 506 } finally {
506 exit(253); // 253 is recognized as a crash by our test scripts. 507 exit(253); // 253 is recognized as a crash by our test scripts.
507 } 508 }
508 } 509 }
509 } 510 }
OLDNEW
« no previous file with comments | « samples/tests/samples/chat/chat_server_test.dart ('k') | sdk/lib/_internal/compiler/implementation/lib/io_patch.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698