| OLD | NEW | 
|---|
| 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.cmdline; | 5 library dart2js.cmdline; | 
| 6 | 6 | 
| 7 import 'dart:async' show Future; | 7 import 'dart:async' show Future; | 
| 8 import 'dart:convert' show UTF8, LineSplitter; | 8 import 'dart:convert' show UTF8, LineSplitter; | 
| 9 import 'dart:io' show exit, File, FileMode, Platform, stdin, stderr; | 9 import 'dart:io' show exit, File, FileMode, Platform, stdin, stderr; | 
| 10 | 10 | 
| 11 import 'package:package_config/discovery.dart' show findPackages; | 11 import 'package:package_config/discovery.dart' show findPackages; | 
| 12 | 12 | 
| 13 import '../compiler.dart' as api; | 13 import '../compiler_new.dart' as api; | 
| 14 import 'commandline_options.dart'; | 14 import 'commandline_options.dart'; | 
| 15 import 'filenames.dart'; | 15 import 'filenames.dart'; | 
| 16 import 'io/source_file.dart'; | 16 import 'io/source_file.dart'; | 
|  | 17 import 'options.dart' show CompilerOptions; | 
| 17 import 'source_file_provider.dart'; | 18 import 'source_file_provider.dart'; | 
| 18 import 'util/command_line.dart'; | 19 import 'util/command_line.dart'; | 
| 19 import 'util/uri_extras.dart'; | 20 import 'util/uri_extras.dart'; | 
| 20 import 'util/util.dart' show stackTraceFilePrefix; | 21 import 'util/util.dart' show stackTraceFilePrefix; | 
| 21 | 22 | 
| 22 const String LIBRARY_ROOT = '../../../../../sdk'; | 23 const String LIBRARY_ROOT = '../../../../../sdk'; | 
| 23 const String OUTPUT_LANGUAGE_DART = 'Dart'; | 24 const String OUTPUT_LANGUAGE_DART = 'Dart'; | 
| 24 | 25 | 
| 25 /** | 26 /** | 
| 26  * A string to identify the revision or build. | 27  * A string to identify the revision or build. | 
| (...skipping 450 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 477         print("  $filename"); | 478         print("  $filename"); | 
| 478       } | 479       } | 
| 479     } else if (!explicitOut) { | 480     } else if (!explicitOut) { | 
| 480       String input = uriPathToNative(arguments[0]); | 481       String input = uriPathToNative(arguments[0]); | 
| 481       String output = relativize(currentDirectory, out, Platform.isWindows); | 482       String output = relativize(currentDirectory, out, Platform.isWindows); | 
| 482       print('Dart file ($input) compiled to $outputLanguage: $output'); | 483       print('Dart file ($input) compiled to $outputLanguage: $output'); | 
| 483     } | 484     } | 
| 484     return result; | 485     return result; | 
| 485   } | 486   } | 
| 486 | 487 | 
| 487   Uri uri = currentDirectory.resolve(arguments[0]); | 488   Uri script = currentDirectory.resolve(arguments[0]); | 
| 488   return compileFunc( | 489   CompilerOptions compilerOptions = new CompilerOptions.parse( | 
| 489           uri, | 490       entryPoint: script, | 
| 490           libraryRoot, | 491       libraryRoot: libraryRoot, | 
| 491           packageRoot, | 492       packageRoot: packageRoot, | 
| 492           inputProvider, | 493       packageConfig: packageConfig, | 
| 493           diagnosticHandler, | 494       packagesDiscoveryProvider: findPackages, | 
| 494           options, | 495       options: options, | 
| 495           outputProvider, | 496       environment: environment); | 
| 496           environment, | 497   return compileFunc(compilerOptions, inputProvider, | 
| 497           packageConfig, | 498     diagnosticHandler, outputProvider) | 
| 498           findPackages) |  | 
| 499       .then(compilationDone); | 499       .then(compilationDone); | 
| 500 } | 500 } | 
| 501 | 501 | 
| 502 class AbortLeg { | 502 class AbortLeg { | 
| 503   final message; | 503   final message; | 
| 504   AbortLeg(this.message); | 504   AbortLeg(this.message); | 
| 505   toString() => 'Aborted due to --throw-on-error: $message'; | 505   toString() => 'Aborted due to --throw-on-error: $message'; | 
| 506 } | 506 } | 
| 507 | 507 | 
| 508 void writeString(Uri uri, String text) { | 508 void writeString(Uri uri, String text) { | 
| (...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 699 void main(List<String> arguments) { | 699 void main(List<String> arguments) { | 
| 700   // Since the sdk/bin/dart2js script adds its own arguments in front of | 700   // Since the sdk/bin/dart2js script adds its own arguments in front of | 
| 701   // user-supplied arguments we search for '--batch' at the end of the list. | 701   // user-supplied arguments we search for '--batch' at the end of the list. | 
| 702   if (arguments.length > 0 && arguments.last == "--batch") { | 702   if (arguments.length > 0 && arguments.last == "--batch") { | 
| 703     batchMain(arguments.sublist(0, arguments.length - 1)); | 703     batchMain(arguments.sublist(0, arguments.length - 1)); | 
| 704     return; | 704     return; | 
| 705   } | 705   } | 
| 706   internalMain(arguments); | 706   internalMain(arguments); | 
| 707 } | 707 } | 
| 708 | 708 | 
| 709 var exitFunc = exit; | 709 typedef void ExitFunc(int exitCode); | 
| 710 var compileFunc = api.compile; | 710 typedef Future<api.CompilationResult> CompileFunc( | 
|  | 711     CompilerOptions compilerOptions, | 
|  | 712     api.CompilerInput compilerInput, | 
|  | 713     api.CompilerDiagnostics compilerDiagnostics, | 
|  | 714     api.CompilerOutput compilerOutput); | 
|  | 715 | 
|  | 716 ExitFunc exitFunc = exit; | 
|  | 717 CompileFunc compileFunc = api.compile; | 
| 711 | 718 | 
| 712 Future<api.CompilationResult> internalMain(List<String> arguments) { | 719 Future<api.CompilationResult> internalMain(List<String> arguments) { | 
| 713   Future onError(exception, trace) { | 720   Future onError(exception, trace) { | 
| 714     // If we are already trying to exit, just continue exiting. | 721     // If we are already trying to exit, just continue exiting. | 
| 715     if (exception == _EXIT_SIGNAL) throw exception; | 722     if (exception == _EXIT_SIGNAL) throw exception; | 
| 716 | 723 | 
| 717     try { | 724     try { | 
| 718       print('The compiler crashed: $exception'); | 725       print('The compiler crashed: $exception'); | 
| 719     } catch (ignored) { | 726     } catch (ignored) { | 
| 720       print('The compiler crashed: error while printing exception'); | 727       print('The compiler crashed: error while printing exception'); | 
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 777       } else if (exitCode == 253) { | 784       } else if (exitCode == 253) { | 
| 778         print(">>> TEST CRASH"); | 785         print(">>> TEST CRASH"); | 
| 779       } else { | 786       } else { | 
| 780         print(">>> TEST FAIL"); | 787         print(">>> TEST FAIL"); | 
| 781       } | 788       } | 
| 782       stderr.writeln(">>> EOF STDERR"); | 789       stderr.writeln(">>> EOF STDERR"); | 
| 783       subscription.resume(); | 790       subscription.resume(); | 
| 784     }); | 791     }); | 
| 785   }); | 792   }); | 
| 786 } | 793 } | 
| OLD | NEW | 
|---|