diff options
author | Alex Beregszaszi <alex@rtfs.hu> | 2017-06-15 18:35:30 +0800 |
---|---|---|
committer | Alex Beregszaszi <alex@rtfs.hu> | 2017-06-22 18:13:06 +0800 |
commit | ba7d698ee67181afc92fd90d18487245cb303389 (patch) | |
tree | a68cd72a78b76d25ef6561f5ed84d47ea72352de | |
parent | b99e4bc68b8bc0d15809e17a6f9489841062fe52 (diff) | |
download | dexon-solidity-ba7d698ee67181afc92fd90d18487245cb303389.tar dexon-solidity-ba7d698ee67181afc92fd90d18487245cb303389.tar.gz dexon-solidity-ba7d698ee67181afc92fd90d18487245cb303389.tar.bz2 dexon-solidity-ba7d698ee67181afc92fd90d18487245cb303389.tar.lz dexon-solidity-ba7d698ee67181afc92fd90d18487245cb303389.tar.xz dexon-solidity-ba7d698ee67181afc92fd90d18487245cb303389.tar.zst dexon-solidity-ba7d698ee67181afc92fd90d18487245cb303389.zip |
Make compiler.contractDefinition private
-rw-r--r-- | libsolidity/interface/CompilerStack.h | 7 | ||||
-rw-r--r-- | solc/CommandLineInterface.cpp | 5 |
2 files changed, 7 insertions, 5 deletions
diff --git a/libsolidity/interface/CompilerStack.h b/libsolidity/interface/CompilerStack.h index 71dbce7e..f7435f0e 100644 --- a/libsolidity/interface/CompilerStack.h +++ b/libsolidity/interface/CompilerStack.h @@ -191,9 +191,6 @@ public: Scanner const& scanner(std::string const& _sourceName = "") const; /// @returns the parsed source unit with the supplied name. SourceUnit const& ast(std::string const& _sourceName = "") const; - /// @returns the parsed contract with the supplied name. Throws an exception if the contract - /// does not exist. - ContractDefinition const& contractDefinition(std::string const& _contractName) const; /// Helper function for logs printing. Do only use in error cases, it's quite expensive. /// line and columns are numbered starting from 1 with following order: @@ -258,6 +255,10 @@ private: Contract const& contract(std::string const& _contractName = "") const; Source const& source(std::string const& _sourceName = "") const; + /// @returns the parsed contract with the supplied name. Throws an exception if the contract + /// does not exist. + ContractDefinition const& contractDefinition(std::string const& _contractName) const; + std::string createOnChainMetadata(Contract const& _contract) const; std::string computeSourceMapping(eth::AssemblyItems const& _items) const; Json::Value const& contractABI(Contract const&) const; diff --git a/solc/CommandLineInterface.cpp b/solc/CommandLineInterface.cpp index b667f0d2..0dbedd3c 100644 --- a/solc/CommandLineInterface.cpp +++ b/solc/CommandLineInterface.cpp @@ -281,9 +281,10 @@ void CommandLineInterface::handleSignatureHashes(string const& _contract) if (!m_args.count(g_argSignatureHashes)) return; + Json::Value methodIdentifiers = m_compiler->methodIdentifiers(_contract); string out; - for (auto const& it: m_compiler->contractDefinition(_contract).interfaceFunctions()) - out += toHex(it.first.ref()) + ": " + it.second->externalSignature() + "\n"; + for (auto const& name: methodIdentifiers.getMemberNames()) + out += methodIdentifiers[name].asString() + ": " + name + "\n"; if (m_args.count(g_argOutputDir)) createFile(m_compiler->filesystemFriendlyName(_contract) + ".signatures", out); |