Chromium Code Reviews| Index: pkg/fasta/bin/run.dart |
| diff --git a/pkg/fasta/bin/run.dart b/pkg/fasta/bin/run.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..719f293531255e2c34ae1f860b21fb3c3dafebc5 |
| --- /dev/null |
| +++ b/pkg/fasta/bin/run.dart |
| @@ -0,0 +1,48 @@ |
| +// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
| +// for details. All rights reserved. Use of this source code is governed by a |
| +// BSD-style license that can be found in the LICENSE file. |
| + |
| +import 'dart:io' show |
| + exit, |
| + exitCode; |
| + |
| +import 'package:fasta/src/ast_kind.dart' show |
| + AstKind; |
| + |
| +import 'package:fasta/src/compiler_command_line.dart' show |
| + CompilerCommandLine; |
| + |
| +import 'package:fasta/src/outline.dart' show |
| + doCompile, |
| + parseArguments; |
| + |
| +import 'package:fasta/src/errors.dart' show |
| + InputError; |
| + |
| +import 'package:fasta/src/run.dart' show |
| + run; |
| + |
| +import 'package:fasta/src/ticker.dart' show |
| + Ticker; |
| + |
| +const int iterations = const int.fromEnvironment("iterations", defaultValue: 1); |
| + |
| +main(List<String> arguments) async { |
| + Uri uri; |
| + CompilerCommandLine cl; |
| + for (int i = 0; i < iterations; i++) { |
| + if (iterations > 1 && i > 0) { |
| + print("\n"); |
| + } |
| + try { |
| + cl = parseArguments("run", arguments); |
| + uri = |
| + await doCompile(cl, new Ticker(isVerbose:cl.verbose), AstKind.Kernel); |
| + } on InputError catch (e) { |
| + print(e.format()); |
| + exit(1); |
| + } |
| + if (exitCode != 0) exit(exitCode); |
| + } |
| + exit(await run(uri, cl)); |
|
karlklose
2017/01/18 12:03:47
Why is the call to run not iterated?
ahe
2017/01/18 13:42:36
I didn't find it useful for profiling.
|
| +} |