| Index: pkg/front_end/lib/src/fasta/kernel/utils.dart
|
| diff --git a/pkg/front_end/lib/src/fasta/kernel/utils.dart b/pkg/front_end/lib/src/fasta/kernel/utils.dart
|
| index 6748f99a01758c06ff26ea507cfd5e6bf3308725..9bb7a2f014b58c0ead18ad68795e56f1a054321e 100644
|
| --- a/pkg/front_end/lib/src/fasta/kernel/utils.dart
|
| +++ b/pkg/front_end/lib/src/fasta/kernel/utils.dart
|
| @@ -2,8 +2,12 @@
|
| // 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:async';
|
| +import 'dart:io';
|
| +
|
| import 'package:front_end/src/scanner/token.dart' show Token;
|
| import 'package:kernel/ast.dart';
|
| +import 'package:kernel/binary/ast_to_binary.dart';
|
| import 'package:kernel/text/ast_to_text.dart';
|
|
|
| /// A null-aware alternative to `token.offset`. If [token] is `null`, returns
|
| @@ -21,3 +25,14 @@ void printProgramText(Program program) {
|
| }
|
| print(sb);
|
| }
|
| +
|
| +Future<Null> writeProgramToFile(Program program, Uri uri) async {
|
| + File output = new File.fromUri(uri);
|
| + IOSink sink = output.openWrite();
|
| + try {
|
| + new BinaryPrinter(sink).writeProgramFile(program);
|
| + program.unbindCanonicalNames();
|
| + } finally {
|
| + await sink.close();
|
| + }
|
| +}
|
|
|