Move JSON helpers to libdevcore/json

This commit is contained in:
Alex Beregszaszi
2016-11-15 17:38:18 +00:00
parent 9205662de9
commit 81c50143f2
4 changed files with 57 additions and 29 deletions
+7 -18
View File
@@ -41,6 +41,7 @@
#include <libdevcore/Common.h>
#include <libdevcore/CommonData.h>
#include <libdevcore/CommonIO.h>
#include <libdevcore/JSON.h>
#include <libevmasm/Instruction.h>
#include <libevmasm/GasMeter.h>
#include <libsolidity/interface/Version.h>
@@ -107,18 +108,6 @@ static void version()
exit(0);
}
string jsonPrettyPrint(Json::Value const& input)
{
return Json::StyledWriter().write(input);
}
string jsonCompactPrint(Json::Value const& input)
{
Json::FastWriter writer;
writer.omitEndingLineFeed();
return writer.write(input);
}
static bool needsHumanTargetedStdout(po::variables_map const& _args)
{
if (_args.count(g_argGas))
@@ -244,9 +233,9 @@ void CommandLineInterface::handleMeta(DocumentationType _type, string const& _co
{
std::string output;
if (_type == DocumentationType::ABIInterface)
output = jsonCompactPrint(m_compiler->metadata(_contract, _type));
output = dev::jsonCompactPrint(m_compiler->metadata(_contract, _type));
else
output = jsonPrettyPrint(m_compiler->metadata(_contract, _type));
output = dev::jsonPrettyPrint(m_compiler->metadata(_contract, _type));
if (m_args.count("output-dir"))
createFile(_contract + suffix, output);
@@ -669,7 +658,7 @@ void CommandLineInterface::handleCombinedJSON()
{
Json::Value contractData(Json::objectValue);
if (requests.count("abi"))
contractData["abi"] = jsonCompactPrint(m_compiler->interface(contractName));
contractData["abi"] = dev::jsonCompactPrint(m_compiler->interface(contractName));
if (requests.count("bin"))
contractData["bin"] = m_compiler->object(contractName).toHex();
if (requests.count("bin-runtime"))
@@ -694,9 +683,9 @@ void CommandLineInterface::handleCombinedJSON()
contractData["srcmap-runtime"] = map ? *map : "";
}
if (requests.count("devdoc"))
contractData["devdoc"] = jsonCompactPrint(m_compiler->metadata(contractName, DocumentationType::NatspecDev));
contractData["devdoc"] = dev::jsonCompactPrint(m_compiler->metadata(contractName, DocumentationType::NatspecDev));
if (requests.count("userdoc"))
contractData["userdoc"] = jsonCompactPrint(m_compiler->metadata(contractName, DocumentationType::NatspecUser));
contractData["userdoc"] = dev::jsonCompactPrint(m_compiler->metadata(contractName, DocumentationType::NatspecUser));
output["contracts"][contractName] = contractData;
}
@@ -720,7 +709,7 @@ void CommandLineInterface::handleCombinedJSON()
output["sources"][sourceCode.first]["AST"] = converter.json();
}
}
cout << jsonCompactPrint(output) << endl;
cout << dev::jsonCompactPrint(output) << endl;
}
void CommandLineInterface::handleAst(string const& _argStr)