Chromium Code Reviews| 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 794e90416438c8da04e6a4f2e95ac9d1fa0cad97..6748f99a01758c06ff26ea507cfd5e6bf3308725 100644 |
| --- a/pkg/front_end/lib/src/fasta/kernel/utils.dart |
| +++ b/pkg/front_end/lib/src/fasta/kernel/utils.dart |
| @@ -4,8 +4,20 @@ |
| import 'package:front_end/src/scanner/token.dart' show Token; |
| import 'package:kernel/ast.dart'; |
| +import 'package:kernel/text/ast_to_text.dart'; |
| /// A null-aware alternative to `token.offset`. If [token] is `null`, returns |
| /// `TreeNode.noOffset`. |
| int offsetForToken(Token token) => |
| token == null ? TreeNode.noOffset : token.offset; |
| + |
| +/// Print the given [program]. Do nothing if it is `null`. |
| +void printProgramText(Program program) { |
| + if (program == null) return; |
| + StringBuffer sb = new StringBuffer(); |
| + for (Library library in program.libraries) { |
|
ahe
2017/05/22 13:40:18
This includes all libraries (including platform.di
|
| + Printer printer = new Printer(sb); |
| + printer.writeLibraryFile(library); |
| + } |
| + print(sb); |
| +} |