diff options
author | chriseth <c@ethdev.com> | 2015-09-14 20:56:01 +0800 |
---|---|---|
committer | chriseth <c@ethdev.com> | 2015-09-14 20:56:01 +0800 |
commit | 9309b6aa82de6bbe7a93d34559b6cfca20c5978d (patch) | |
tree | 1457e0d1d8f5627c01c6082252f3050bc6a5dce3 /solc/CommandLineInterface.h | |
parent | 4360e0459622e7843ca9f8d7fb5113da0b8a044e (diff) | |
parent | 70c0ed41290f3de001fed5b4f0f28993486ba445 (diff) | |
download | dexon-solidity-9309b6aa82de6bbe7a93d34559b6cfca20c5978d.tar.gz dexon-solidity-9309b6aa82de6bbe7a93d34559b6cfca20c5978d.tar.zst dexon-solidity-9309b6aa82de6bbe7a93d34559b6cfca20c5978d.zip |
Merge pull request #70 from chriseth/sol_libraries2
Commandline interface for linker.
Diffstat (limited to 'solc/CommandLineInterface.h')
-rw-r--r-- | solc/CommandLineInterface.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/solc/CommandLineInterface.h b/solc/CommandLineInterface.h index f79bc0be..2af5a5e9 100644 --- a/solc/CommandLineInterface.h +++ b/solc/CommandLineInterface.h @@ -46,6 +46,11 @@ public: void actOnInput(); private: + bool link(); + void writeLinkedFiles(); + + void outputCompilationResults(); + void handleCombinedJSON(); void handleAst(std::string const& _argStr); void handleBinary(std::string const& _contract); @@ -56,16 +61,23 @@ private: std::string const& _contract); void handleGasEstimation(std::string const& _contract); + /// Tries to read from the file @a _input or interprets _input literally if that fails. + /// It then tries to parse the contents and appends to m_libraries. + bool parseLibraryOption(std::string const& _input); /// Create a file in the given directory /// @arg _fileName the name of the file /// @arg _data to be written void createFile(std::string const& _fileName, std::string const& _data); + bool m_onlyLink = false; + /// Compiler arguments variable map boost::program_options::variables_map m_args; /// map of input files to source code strings std::map<std::string, std::string> m_sourceCodes; + /// map of library names to addresses + std::map<std::string, h160> m_libraries; /// Solidity compiler stack std::unique_ptr<dev::solidity::CompilerStack> m_compiler; }; |