Add a convenience method for dumping the formatted SemIR file. (#4123)

This commit is contained in:
Jon Ross-Perkins
2024-07-11 21:40:29 +00:00
committed by GitHub
parent 469f1c8e64
commit bb27a4f97b
3 changed files with 9 additions and 0 deletions
+1
View File
@@ -69,6 +69,7 @@ cc_library(
"//toolchain/parse:tree_node_diagnostic_converter",
"//toolchain/sem_ir:builtin_inst_kind",
"//toolchain/sem_ir:file",
"//toolchain/sem_ir:formatter",
"//toolchain/sem_ir:ids",
"//toolchain/sem_ir:inst",
"//toolchain/sem_ir:inst_kind",
+5
View File
@@ -23,6 +23,7 @@
#include "toolchain/parse/node_kind.h"
#include "toolchain/sem_ir/builtin_inst_kind.h"
#include "toolchain/sem_ir/file.h"
#include "toolchain/sem_ir/formatter.h"
#include "toolchain/sem_ir/ids.h"
#include "toolchain/sem_ir/import_ir.h"
#include "toolchain/sem_ir/inst.h"
@@ -1197,4 +1198,8 @@ auto Context::PrintForStackDump(llvm::raw_ostream& output) const -> void {
args_type_info_stack_.PrintForStackDump(output);
}
auto Context::DumpFormattedFile() const -> void {
FormatFile(*tokens_, *parse_tree_, *sem_ir_, llvm::errs());
}
} // namespace Carbon::Check
+3
View File
@@ -345,6 +345,9 @@ class Context {
// Prints information for a stack dump.
auto PrintForStackDump(llvm::raw_ostream& output) const -> void;
// Prints the the formatted sem_ir to stderr.
LLVM_DUMP_METHOD auto DumpFormattedFile() const -> void;
// Get the Lex::TokenKind of a node for diagnostics.
auto token_kind(Parse::NodeId node_id) -> Lex::TokenKind {
return tokens().GetKind(parse_tree().node_token(node_id));