aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2017-08-31 17:49:06 +0800
committerGitHub <noreply@github.com>2017-08-31 17:49:06 +0800
commit7b6b12ca780c6406d5977d2286a0be3f94cdf114 (patch)
tree98742d9ec8fecde1f5cb3fa30df7acff6be9ad59
parent402d6e713e6d38a00616cdee87d752dd78ee91db (diff)
parenteb33e76416c7e8091bd33365b8b0917a9146868b (diff)
downloaddexon-solidity-7b6b12ca780c6406d5977d2286a0be3f94cdf114.tar.gz
dexon-solidity-7b6b12ca780c6406d5977d2286a0be3f94cdf114.tar.zst
dexon-solidity-7b6b12ca780c6406d5977d2286a0be3f94cdf114.zip
Merge pull request #2812 from ethereum/removeEscape
Remove escape function.
-rw-r--r--libdevcore/CommonData.cpp28
-rw-r--r--libsolidity/ast/ASTPrinter.cpp12
2 files changed, 9 insertions, 31 deletions
diff --git a/libdevcore/CommonData.cpp b/libdevcore/CommonData.cpp
index 14caf494..db11e61c 100644
--- a/libdevcore/CommonData.cpp
+++ b/libdevcore/CommonData.cpp
@@ -28,34 +28,6 @@
using namespace std;
using namespace dev;
-std::string dev::escaped(std::string const& _s, bool _all)
-{
- static const map<char, char> prettyEscapes{{'\r', 'r'}, {'\n', 'n'}, {'\t', 't'}, {'\v', 'v'}};
- std::string ret;
- ret.reserve(_s.size() + 2);
- ret.push_back('"');
- for (auto i: _s)
- if (i == '"' && !_all)
- ret += "\\\"";
- else if (i == '\\' && !_all)
- ret += "\\\\";
- else if (prettyEscapes.count(i) && !_all)
- {
- ret += '\\';
- ret += prettyEscapes.find(i)->second;
- }
- else if (i < ' ' || _all)
- {
- ret += "\\x";
- ret.push_back("0123456789abcdef"[(uint8_t)i / 16]);
- ret.push_back("0123456789abcdef"[(uint8_t)i % 16]);
- }
- else
- ret.push_back(i);
- ret.push_back('"');
- return ret;
-}
-
int dev::fromHex(char _i, WhenError _throw)
{
if (_i >= '0' && _i <= '9')
diff --git a/libsolidity/ast/ASTPrinter.cpp b/libsolidity/ast/ASTPrinter.cpp
index 392179ef..81e6cc44 100644
--- a/libsolidity/ast/ASTPrinter.cpp
+++ b/libsolidity/ast/ASTPrinter.cpp
@@ -21,9 +21,12 @@
*/
#include <libsolidity/ast/ASTPrinter.h>
-#include <boost/algorithm/string/join.hpp>
#include <libsolidity/ast/AST.h>
+#include <json/json.h>
+
+#include <boost/algorithm/string/join.hpp>
+
using namespace std;
namespace dev
@@ -579,8 +582,11 @@ void ASTPrinter::printSourcePart(ASTNode const& _node)
if (!m_source.empty())
{
SourceLocation const& location(_node.location());
- *m_ostream << indentation() << " Source: "
- << escaped(m_source.substr(location.start, location.end - location.start), false) << endl;
+ *m_ostream <<
+ indentation() <<
+ " Source: " <<
+ Json::valueToQuotedString(m_source.substr(location.start, location.end - location.start).c_str()) <<
+ endl;
}
}