diff options
Diffstat (limited to 'source/slang/slang-ast-dump.cpp')
| -rw-r--r-- | source/slang/slang-ast-dump.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/source/slang/slang-ast-dump.cpp b/source/slang/slang-ast-dump.cpp index 455a9db74..fc3c015e0 100644 --- a/source/slang/slang-ast-dump.cpp +++ b/source/slang/slang-ast-dump.cpp @@ -408,6 +408,35 @@ struct ASTDumpContext m_writer->emit("}"); } + template <typename KEY, typename VALUE> + void dump(const OrderedDictionary<KEY, VALUE>& dict) + { + m_writer->emit(" { \n"); + m_writer->indent(); + + for (auto iter : dict) + { + const auto& key = iter.Key; + const auto& value = iter.Value; + + dump(key); + m_writer->emit(" : "); + dump(value); + + m_writer->emit("\n"); + } + + m_writer->dedent(); + m_writer->emit("}"); + } + + void dump(DeclRefBase declRef) + { + StringBuilder sb; + sb << declRef; + m_writer->emit(sb.ToString()); + } + void dump(const DeclCheckStateExt& extState) { auto state = extState.getState(); |
