diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/rust/ast/rust-ast-dump.cc | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/gcc/rust/ast/rust-ast-dump.cc b/gcc/rust/ast/rust-ast-dump.cc index c00ed65..5d59611 100644 --- a/gcc/rust/ast/rust-ast-dump.cc +++ b/gcc/rust/ast/rust-ast-dump.cc @@ -507,7 +507,34 @@ Dump::visit (QualifiedPathInType &path) void Dump::visit (LiteralExpr &expr) { - stream << expr.as_string (); + switch (expr.get_lit_type ()) + { + case Literal::CHAR: + stream << "'" << expr.as_string () << "'"; + return; + + case Literal::STRING: + stream << "\"" << expr.as_string () << "\""; + return; + + case Literal::BYTE: + stream << "b'" << expr.as_string () << "'"; + return; + + case Literal::BYTE_STRING: + stream << "b\"" << expr.as_string () << "\""; + return; + + case Literal::INT: + case Literal::FLOAT: + case Literal::BOOL: + stream << expr.as_string (); + return; + + case Literal::ERROR: + stream << "/*ERROR*/"; + return; + } } void |