summaryrefslogtreecommitdiff
path: root/src/dump_as_rust.cpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2015-03-08 16:14:15 +0800
committerJohn Hodge <tpg@mutabah.net>2015-03-08 16:14:15 +0800
commit0ab6d527125669ca7a36e5b27ff429c0f402ba77 (patch)
tree1c7e14e452d563ebbe95acf39f2a7364a3c2d48b /src/dump_as_rust.cpp
parentfcec09900f158aa939eb1c96607aaabf4c8171ef (diff)
downloadmrust-0ab6d527125669ca7a36e5b27ff429c0f402ba77.tar.gz
Macro parsing, saving, and evaluating
Diffstat (limited to 'src/dump_as_rust.cpp')
-rw-r--r--src/dump_as_rust.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/dump_as_rust.cpp b/src/dump_as_rust.cpp
index 83c7f160..cfe9b5d6 100644
--- a/src/dump_as_rust.cpp
+++ b/src/dump_as_rust.cpp
@@ -190,8 +190,28 @@ public:
m_expr_root = false;
switch(n.m_datatype)
{
+ case CORETYPE_INVAL: break;
+ case CORETYPE_CHAR:
+ m_os << "'\\u" << ::std::hex << n.m_value << ::std::dec << "'";
+ break;
+ case CORETYPE_F32:
+ case CORETYPE_F64:
+ break;
+ case CORETYPE_U8:
+ case CORETYPE_U16:
+ case CORETYPE_U32:
+ case CORETYPE_U64:
+ case CORETYPE_UINT:
+ m_os << "0x" << ::std::hex << n.m_value << ::std::dec;
+ break;
+ case CORETYPE_I8:
+ case CORETYPE_I16:
+ case CORETYPE_I32:
+ case CORETYPE_I64:
+ case CORETYPE_INT:
+ m_os << n.m_value;
+ break;
}
- m_os << "0x" << ::std::hex << n.m_value << ::std::dec;
}
virtual void visit(AST::ExprNode_StructLiteral& n) override {
m_expr_root = false;