From 35c11b8e48fc92ad4b0992cf0b73f3e570468874 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Wed, 4 Jul 2018 21:00:12 +0800 Subject: All - Dump full contents of asm! in AST/MIR --- src/ast/dump.cpp | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'src/ast/dump.cpp') 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; -- cgit v1.2.3