From 071ddd6ddbc801400db23a171c597bc713825cc6 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Sun, 4 Dec 2016 17:39:28 +0800 Subject: MIR - Escape special characters in debug print --- src/mir/mir.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/mir/mir.cpp b/src/mir/mir.cpp index 5b3a705d..22a05276 100644 --- a/src/mir/mir.cpp +++ b/src/mir/mir.cpp @@ -32,7 +32,14 @@ namespace MIR { os << "]"; ), (StaticString, - os << "\"" << e << "\""; + os << "\""; + for(auto v : e) { + if( ' ' <= v && v < 0x7F && v != '"' && v != '\\' ) + os << v; + else + os << "\\u{" << FMT(::std::hex << (unsigned int)v) << "}"; + } + os << "\""; ), (Const, os << e.p; -- cgit v1.2.3