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

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

Issue 13945008: Move the dart2js snapshot into bin directory of sdk root. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 8 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) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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';
11 import 'dart:utf'; 11 import 'dart:utf';
12 12
13 import '../compiler.dart' as api; 13 import '../compiler.dart' as api;
14 import 'source_file.dart'; 14 import 'source_file.dart';
15 import 'source_file_provider.dart'; 15 import 'source_file_provider.dart';
16 import 'filenames.dart'; 16 import 'filenames.dart';
17 import 'util/uri_extras.dart'; 17 import 'util/uri_extras.dart';
18 import '../../libraries.dart'; 18 import '../../libraries.dart';
19 19
20 const String LIBRARY_ROOT = '../../../../..'; 20 const String LIBRARY_ROOT = '../../../../..';
21 const String OUTPUT_LANGUAGE_DART = 'Dart'; 21 const String OUTPUT_LANGUAGE_DART = 'Dart';
22 22
23 /**
24 * A string to identify the revision or build.
25 *
26 * This ID is displayed if the compiler crashes and in verbose mode, and is
27 * an aid in reproducing bug reports.
28 *
29 * The actual string is rewritten by a wrapper script when included in the sdk.
30 */
31 String BUILD_ID = 'build number could not be determined';
32
33 /**
34 * Allows wrapping scripts to explicitly provide the options passed to the
35 * program instead of using the standard dart:io.
36 */
37 Options OPTIONS_OVERRIDE = null;
38
23 typedef void HandleOption(String option); 39 typedef void HandleOption(String option);
24 40
25 class OptionHandler { 41 class OptionHandler {
26 String pattern; 42 String pattern;
27 HandleOption handle; 43 HandleOption handle;
28 44
29 OptionHandler(this.pattern, this.handle); 45 OptionHandler(this.pattern, this.handle);
30 } 46 }
31 47
32 /** 48 /**
(...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 if (isPrimaryOutput) { 320 if (isPrimaryOutput) {
305 charactersWritten += sink.count; 321 charactersWritten += sink.count;
306 } 322 }
307 } 323 }
308 324
309 var controller = new StreamController<String>(); 325 var controller = new StreamController<String>();
310 controller.stream.listen(output.write, onDone: onDone); 326 controller.stream.listen(output.write, onDone: onDone);
311 sink = new CountingSink(controller); 327 sink = new CountingSink(controller);
312 return sink; 328 return sink;
313 } 329 }
314 330
315 api.compile(uri, libraryRoot, packageRoot, 331 api.compile(uri, libraryRoot, packageRoot,
316 inputProvider.readStringFromUri, handler, 332 inputProvider.readStringFromUri, handler,
317 options, outputProvider) 333 options, outputProvider)
318 .then(compilationDone); 334 .then(compilationDone);
319 } 335 }
320 336
321 // TODO(ahe): Get rid of this class if http://dartbug.com/8118 is fixed. 337 // TODO(ahe): Get rid of this class if http://dartbug.com/8118 is fixed.
322 class CountingSink implements EventSink<String> { 338 class CountingSink implements EventSink<String> {
323 final EventSink<String> sink; 339 final EventSink<String> sink;
324 int count = 0; 340 int count = 0;
(...skipping 26 matching lines...) Expand all
351 } 367 }
352 368
353 void fail(String message) { 369 void fail(String message) {
354 print(message); 370 print(message);
355 exit(1); 371 exit(1);
356 } 372 }
357 373
358 void compilerMain(Options options) { 374 void compilerMain(Options options) {
359 var root = uriPathToNative("/$LIBRARY_ROOT"); 375 var root = uriPathToNative("/$LIBRARY_ROOT");
360 List<String> argv = ['--library-root=${options.script}$root']; 376 List<String> argv = ['--library-root=${options.script}$root'];
377 if (OPTIONS_OVERRIDE != null) options = OPTIONS_OVERRIDE;
361 argv.addAll(options.arguments); 378 argv.addAll(options.arguments);
362 compile(argv); 379 compile(argv);
363 } 380 }
364 381
365 void help() { 382 void help() {
366 // This message should be no longer than 20 lines. The default 383 // This message should be no longer than 20 lines. The default
367 // terminal size normally 80x24. Two lines are used for the prompts 384 // terminal size normally 80x24. Two lines are used for the prompts
368 // before and after running the compiler. Another two lines may be 385 // before and after running the compiler. Another two lines may be
369 // used to print an error message. 386 // used to print an error message.
370 print(''' 387 print('''
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 } catch (ignored) { 512 } catch (ignored) {
496 print('Internal error: error while printing exception'); 513 print('Internal error: error while printing exception');
497 } 514 }
498 try { 515 try {
499 print(trace); 516 print(trace);
500 } finally { 517 } finally {
501 exit(253); // 253 is recognized as a crash by our test scripts. 518 exit(253); // 253 is recognized as a crash by our test scripts.
502 } 519 }
503 } 520 }
504 } 521 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698