diff options
Diffstat (limited to 'src/ast/expr.cpp')
-rw-r--r-- | src/ast/expr.cpp | 11 |
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); }) |