summaryrefslogtreecommitdiff
path: root/src/ast/expr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ast/expr.cpp')
-rw-r--r--src/ast/expr.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/ast/expr.cpp b/src/ast/expr.cpp
index 6983221d..65048183 100644
--- a/src/ast/expr.cpp
+++ b/src/ast/expr.cpp
@@ -231,7 +231,16 @@ NODE(ExprNode_IfLet, {
})
NODE(ExprNode_Integer, {
- os << m_value << "_" << m_datatype;
+ if( m_datatype == CORETYPE_CHAR )
+ os << "'\\u{" << ::std::hex << m_value << ::std::dec << "}'";
+ else
+ {
+ os << m_value;
+ if( m_datatype == CORETYPE_ANY )
+ ;
+ else
+ os << "_" << coretype_name(m_datatype);
+ }
},{
return NEWNODE(ExprNode_Integer, m_value, m_datatype);
})