aboutsummaryrefslogtreecommitdiffstats
path: root/solc/CommandLineInterface.h
diff options
context:
space:
mode:
authorchriseth <c@ethdev.com>2015-09-14 20:56:01 +0800
committerchriseth <c@ethdev.com>2015-09-14 20:56:01 +0800
commit9309b6aa82de6bbe7a93d34559b6cfca20c5978d (patch)
tree1457e0d1d8f5627c01c6082252f3050bc6a5dce3 /solc/CommandLineInterface.h
parent4360e0459622e7843ca9f8d7fb5113da0b8a044e (diff)
parent70c0ed41290f3de001fed5b4f0f28993486ba445 (diff)
downloaddexon-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.h12
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;
};