| OLD | NEW |
| 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 import 'dart:io'; | 5 import 'dart:io'; |
| 6 import 'package:analyzer/src/command_line/arguments.dart' | 6 import 'package:analyzer/src/command_line/arguments.dart' |
| 7 show | 7 show |
| 8 defineAnalysisArguments, | 8 defineAnalysisArguments, |
| 9 filterUnknownArguments, | 9 filterUnknownArguments, |
| 10 ignoreUnrecognizedFlagsFlag; | 10 ignoreUnrecognizedFlagsFlag; |
| (...skipping 14 matching lines...) Expand all Loading... |
| 25 /// | 25 /// |
| 26 /// This handles argument parsing, usage, error handling. | 26 /// This handles argument parsing, usage, error handling. |
| 27 /// See bin/dartdevc.dart for the actual entry point, which includes Bazel | 27 /// See bin/dartdevc.dart for the actual entry point, which includes Bazel |
| 28 /// worker support. | 28 /// worker support. |
| 29 int compile(List<String> args, {void printFn(Object obj)}) { | 29 int compile(List<String> args, {void printFn(Object obj)}) { |
| 30 printFn ??= print; | 30 printFn ??= print; |
| 31 | 31 |
| 32 ArgResults argResults; | 32 ArgResults argResults; |
| 33 AnalyzerOptions analyzerOptions; | 33 AnalyzerOptions analyzerOptions; |
| 34 try { | 34 try { |
| 35 var parser = _argParser(); | 35 var parser = ddcArgParser(); |
| 36 if (args.contains('--$ignoreUnrecognizedFlagsFlag')) { | 36 if (args.contains('--$ignoreUnrecognizedFlagsFlag')) { |
| 37 args = filterUnknownArguments(args, parser); | 37 args = filterUnknownArguments(args, parser); |
| 38 } | 38 } |
| 39 argResults = parser.parse(args); | 39 argResults = parser.parse(args); |
| 40 analyzerOptions = new AnalyzerOptions.fromArguments(argResults); | 40 analyzerOptions = new AnalyzerOptions.fromArguments(argResults); |
| 41 } on FormatException catch (error) { | 41 } on FormatException catch (error) { |
| 42 printFn('$error\n\n$_usageMessage'); | 42 printFn('$error\n\n$_usageMessage'); |
| 43 return 64; | 43 return 64; |
| 44 } | 44 } |
| 45 | 45 |
| (...skipping 30 matching lines...) Expand all Loading... |
| 76 dartdevc arguments: ${args.join(' ')} | 76 dartdevc arguments: ${args.join(' ')} |
| 77 dart --version: ${Platform.version} | 77 dart --version: ${Platform.version} |
| 78 ``` | 78 ``` |
| 79 $error | 79 $error |
| 80 $stackTrace | 80 $stackTrace |
| 81 ```'''); | 81 ```'''); |
| 82 return 70; | 82 return 70; |
| 83 } | 83 } |
| 84 } | 84 } |
| 85 | 85 |
| 86 ArgParser _argParser({bool hide: true}) { | 86 ArgParser ddcArgParser({bool hide: true}) { |
| 87 var argParser = new ArgParser(allowTrailingOptions: true) | 87 var argParser = new ArgParser(allowTrailingOptions: true) |
| 88 ..addFlag('help', | 88 ..addFlag('help', |
| 89 abbr: 'h', | 89 abbr: 'h', |
| 90 help: 'Display this message.\n' | 90 help: 'Display this message.\n' |
| 91 'Add --verbose to show hidden options.', | 91 'Add --verbose to show hidden options.', |
| 92 negatable: false) | 92 negatable: false) |
| 93 ..addFlag('verbose', abbr: 'v', help: 'Verbose output.') | 93 ..addFlag('verbose', abbr: 'v', help: 'Verbose output.') |
| 94 ..addFlag(ignoreUnrecognizedFlagsFlag, | 94 ..addFlag(ignoreUnrecognizedFlagsFlag, |
| 95 help: 'Ignore unrecognized command line flags.', | 95 help: 'Ignore unrecognized command line flags.', |
| 96 defaultsTo: false, | 96 defaultsTo: false, |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 218 | 218 |
| 219 _usageException( | 219 _usageException( |
| 220 'Imported file "${source.uri}" was not found as a summary or source ' | 220 'Imported file "${source.uri}" was not found as a summary or source ' |
| 221 'file. Please pass in either the summary or the source file ' | 221 'file. Please pass in either the summary or the source file ' |
| 222 'for this import.'); | 222 'for this import.'); |
| 223 return null; // unreachable | 223 return null; // unreachable |
| 224 } | 224 } |
| 225 | 225 |
| 226 String get _usageMessage => | 226 String get _usageMessage => |
| 227 'Dart Development Compiler compiles Dart into a JavaScript module.' | 227 'Dart Development Compiler compiles Dart into a JavaScript module.' |
| 228 '\n\n${_argParser(hide: !_verbose).usage}'; | 228 '\n\n${ddcArgParser(hide: !_verbose).usage}'; |
| 229 | 229 |
| 230 void _usageException(String message) { | 230 void _usageException(String message) { |
| 231 throw new UsageException(message, _usageMessage); | 231 throw new UsageException(message, _usageMessage); |
| 232 } | 232 } |
| 233 | 233 |
| 234 /// Thrown when the input source code has errors. | 234 /// Thrown when the input source code has errors. |
| 235 class CompileErrorException implements Exception { | 235 class CompileErrorException implements Exception { |
| 236 toString() => '\nPlease fix all errors before compiling (warnings are okay).'; | 236 toString() => '\nPlease fix all errors before compiling (warnings are okay).'; |
| 237 } | 237 } |
| OLD | NEW |