Add Dump methods to printable types. (#681)

This commit is contained in:
Geoff Romer
2021-07-29 14:17:35 -07:00
committed by GitHub
parent 61abc44aef
commit a8f56797b8
15 changed files with 43 additions and 3 deletions
+3
View File
@@ -9,6 +9,7 @@
#include "common/ostream.h"
#include "executable_semantics/ast/expression.h"
#include "llvm/Support/Compiler.h"
namespace Carbon {
@@ -163,7 +164,9 @@ struct Statement {
auto GetRun() const -> const Run&;
auto GetAwait() const -> const Await&;
void Print(llvm::raw_ostream& out) const { PrintDepth(-1, out); }
void PrintDepth(int depth, llvm::raw_ostream& out) const;
LLVM_DUMP_METHOD void Dump() const { Print(llvm::errs()); }
inline auto tag() const -> StatementKind {
return std::visit([](const auto& t) { return t.Kind; }, value);