diff options
author | John Hodge <tpg@ucc.asn.au> | 2018-07-04 21:00:12 +0800 |
---|---|---|
committer | John Hodge <tpg@ucc.asn.au> | 2018-07-04 21:00:12 +0800 |
commit | 35c11b8e48fc92ad4b0992cf0b73f3e570468874 (patch) | |
tree | def7988d111ccc0295e47a8ddacad43515e6e361 /src/ast/dump.cpp | |
parent | 169fc6e5cc4482d509f2829ef302c135f983c1ea (diff) | |
download | mrust-35c11b8e48fc92ad4b0992cf0b73f3e570468874.tar.gz |
All - Dump full contents of asm! in AST/MIR
Diffstat (limited to 'src/ast/dump.cpp')
-rw-r--r-- | src/ast/dump.cpp | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/src/ast/dump.cpp b/src/ast/dump.cpp index 73b332c0..f1481abf 100644 --- a/src/ast/dump.cpp +++ b/src/ast/dump.cpp @@ -76,8 +76,28 @@ public: m_os << n.m_name << "!( /* TODO: Macro TT */ )"; } virtual void visit(AST::ExprNode_Asm& n) override { - m_os << "asm!("; - m_os << ")"; + m_os << "asm!( \"" << n.m_text << "\""; + m_os << " :"; + for(const auto& v : n.m_output) + { + m_os << " \"" << v.name << "\" ("; + AST::NodeVisitor::visit(v.value); + m_os << "),"; + } + m_os << " :"; + for(const auto& v : n.m_input) + { + m_os << " \"" << v.name << "\" ("; + AST::NodeVisitor::visit(v.value); + m_os << "),"; + } + m_os << " :"; + for(const auto& v : n.m_clobbers) + m_os << " \"" << v << "\","; + m_os << " :"; + for(const auto& v : n.m_flags) + m_os << " \"" << v << "\","; + m_os << " )"; } virtual void visit(AST::ExprNode_Flow& n) override { m_expr_root = false; |