diff --git a/solc/CommandLineInterface.cpp b/solc/CommandLineInterface.cpp index e6d8776bf..9367a71c1 100644 --- a/solc/CommandLineInterface.cpp +++ b/solc/CommandLineInterface.cpp @@ -508,6 +508,11 @@ void CommandLineInterface::createFile(string const& _fileName, string const& _da BOOST_THROW_EXCEPTION(FileError() << errinfo_comment("Could not write to file: " + pathName)); } +void CommandLineInterface::createJson(string const& _fileName, Json::Value const& _json) +{ + createFile(boost::filesystem::basename(_fileName) + string(".json"), dev::jsonCompactPrint(_json)); +} + bool CommandLineInterface::parseArguments(int _argc, char** _argv) { // Declare the supported options. diff --git a/solc/CommandLineInterface.h b/solc/CommandLineInterface.h index bf9400e4c..97cf21832 100644 --- a/solc/CommandLineInterface.h +++ b/solc/CommandLineInterface.h @@ -81,6 +81,11 @@ private: /// @arg _data to be written void createFile(std::string const& _fileName, std::string const& _data); + /// Create a json file in the given directory + /// @arg _fileName the name of the file (the extension will be replaced with .json) + /// @arg _json to be written + void createJson(std::string const& _fileName, Json::Value const& _json); + bool m_error = false; ///< If true, some error occurred. bool m_onlyAssemble = false;