aboutsummaryrefslogtreecommitdiffstats
path: root/solc/CommandLineInterface.h
diff options
context:
space:
mode:
authorchriseth <c@ethdev.com>2015-09-12 01:35:01 +0800
committerchriseth <c@ethdev.com>2015-09-12 01:35:01 +0800
commit70c0ed41290f3de001fed5b4f0f28993486ba445 (patch)
tree3d7e817bda1c0e522caf046c6aece51d31e343fd /solc/CommandLineInterface.h
parent147830d1a3a2dc5748c11e41df6289655722cc4d (diff)
downloaddexon-solidity-70c0ed41290f3de001fed5b4f0f28993486ba445.tar
dexon-solidity-70c0ed41290f3de001fed5b4f0f28993486ba445.tar.gz
dexon-solidity-70c0ed41290f3de001fed5b4f0f28993486ba445.tar.bz2
dexon-solidity-70c0ed41290f3de001fed5b4f0f28993486ba445.tar.lz
dexon-solidity-70c0ed41290f3de001fed5b4f0f28993486ba445.tar.xz
dexon-solidity-70c0ed41290f3de001fed5b4f0f28993486ba445.tar.zst
dexon-solidity-70c0ed41290f3de001fed5b4f0f28993486ba445.zip
Commandline interface for the 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;
};