Merge pull request #2812 from ethereum/removeEscape

Remove escape function.
This commit is contained in:
chriseth 2017-08-31 11:49:06 +02:00 committed by GitHub
commit 7b6b12ca78
2 changed files with 9 additions and 31 deletions

View File

@ -28,34 +28,6 @@
using namespace std; using namespace std;
using namespace dev; 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) int dev::fromHex(char _i, WhenError _throw)
{ {
if (_i >= '0' && _i <= '9') if (_i >= '0' && _i <= '9')

View File

@ -21,9 +21,12 @@
*/ */
#include <libsolidity/ast/ASTPrinter.h> #include <libsolidity/ast/ASTPrinter.h>
#include <boost/algorithm/string/join.hpp>
#include <libsolidity/ast/AST.h> #include <libsolidity/ast/AST.h>
#include <json/json.h>
#include <boost/algorithm/string/join.hpp>
using namespace std; using namespace std;
namespace dev namespace dev
@ -579,8 +582,11 @@ void ASTPrinter::printSourcePart(ASTNode const& _node)
if (!m_source.empty()) if (!m_source.empty())
{ {
SourceLocation const& location(_node.location()); SourceLocation const& location(_node.location());
*m_ostream << indentation() << " Source: " *m_ostream <<
<< escaped(m_source.substr(location.start, location.end - location.start), false) << endl; indentation() <<
" Source: " <<
Json::valueToQuotedString(m_source.substr(location.start, location.end - location.start).c_str()) <<
endl;
} }
} }