796d628ab6
* Ensure that we have a .dill file and it has the correct version before we start decoding it in dump.dart. * Throw errors, not strings. Ensure that they have a useful toString(). * Do not print usage except when the command is invoked incorrectly (wrong number of arguments). Once we get into the command it's less likely that it's been invoked incorrectly and more likely that something else has gone wrong. Because these utilities are invoked from other scripts (like the fasta command), printing their usage for problems other than invoking them correctly doesn't match the way that they were invoked and it's confusing. Change-Id: I7832383594d2b3719a0a7a7392ba4685717a79d2 Reviewed-on: https://dart-review.googlesource.com/c/78206 Commit-Queue: Kevin Millikin <kmillikin@google.com> Reviewed-by: Jens Johansen <jensj@google.com>
33 lines
1.1 KiB
Dart
Executable File
33 lines
1.1 KiB
Dart
Executable File
#!/usr/bin/env dart
|
|
// 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';
|
|
|
|
import 'package:kernel/kernel.dart';
|
|
import 'package:kernel/src/tool/command_line_util.dart';
|
|
|
|
void usage() {
|
|
print("Prints a dill file as a textual format.");
|
|
print("");
|
|
print("Usage: dart <script> dillFile.dill [output]");
|
|
print("");
|
|
print("The first given argument should be an existing file");
|
|
print("that is valid to load as a dill file.");
|
|
print("");
|
|
print("The second argument is optional.");
|
|
print("If given, output will be written to this file.");
|
|
print("If not given, output will be written to standard out.");
|
|
exit(1);
|
|
}
|
|
|
|
main(List<String> args) {
|
|
CommandLineHelper.requireVariableArgumentCount([1, 2], args, usage);
|
|
CommandLineHelper.requireFileExists(args[0]);
|
|
var binary = CommandLineHelper.tryLoadDill(args[0]);
|
|
writeComponentToText(binary,
|
|
path: args.length > 1 ? args[1] : null,
|
|
showOffsets: const bool.fromEnvironment("showOffsets"));
|
|
}
|