Files
sdk/pkg/dart2bytecode/bin/dump_bytecode.dart
T
Alexander Markov 3abf78212c Bytecode compiler
Add dart2bytecode tool which takes Dart sources and produces
Dart bytecode. The tool uses common front-end (CFE) to parse Dart
source code and contains bytecode generator which translates
kernel AST to bytecode.

Change-Id: I90bd6e72c619cf0edc556da0640760b30e81091d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/378560
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Slava Egorov <vegorov@google.com>
2024-08-08 18:08:58 +00:00

31 lines
861 B
Dart

// Copyright (c) 2024, 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:dart2bytecode/bytecode_serialization.dart'
show LinkReader, BufferedReader;
import 'package:dart2bytecode/declarations.dart' show Component;
final String _usage = '''
Usage: dump_bytecode input.bytecode
Dumps bytecode file.
''';
main(List<String> arguments) async {
if (arguments.length != 1) {
print(_usage);
exit(1);
}
final input = arguments[0];
final List<int> bytes = File(input).readAsBytesSync();
final linkReader = LinkReader();
final reader = BufferedReader(linkReader, bytes);
final bytecodeComponent = Component.read(reader);
print(bytecodeComponent.toString());
}