| #!/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")); |
| } |