Merge pull request #2335 from ethereum/compilerstack-cleanup

Remove obsolete CompilerStack methods
This commit is contained in:
chriseth 2017-06-01 15:33:35 +02:00 committed by GitHub
commit 96de7a8326
2 changed files with 8 additions and 31 deletions

View File

@ -85,6 +85,7 @@ void CompilerStack::reset(bool _keepSources)
} }
else else
{ {
m_stackState = Empty;
m_sources.clear(); m_sources.clear();
} }
m_optimize = false; m_optimize = false;
@ -94,7 +95,6 @@ void CompilerStack::reset(bool _keepSources)
m_sourceOrder.clear(); m_sourceOrder.clear();
m_contracts.clear(); m_contracts.clear();
m_errorReporter.clear(); m_errorReporter.clear();
m_stackState = Empty;
} }
bool CompilerStack::addSource(string const& _name, string const& _content, bool _isLibrary) bool CompilerStack::addSource(string const& _name, string const& _content, bool _isLibrary)
@ -400,15 +400,6 @@ eth::LinkerObject const& CompilerStack::cloneObject(string const& _contractName)
return contract(_contractName).cloneObject; return contract(_contractName).cloneObject;
} }
dev::h256 CompilerStack::contractCodeHash(string const& _contractName) const
{
auto const& obj = runtimeObject(_contractName);
if (obj.bytecode.empty() || !obj.linkReferences.empty())
return dev::h256();
else
return dev::keccak256(obj.bytecode);
}
Json::Value CompilerStack::streamAssembly(ostream& _outStream, string const& _contractName, StringMap _sourceCodes, bool _inJsonFormat) const Json::Value CompilerStack::streamAssembly(ostream& _outStream, string const& _contractName, StringMap _sourceCodes, bool _inJsonFormat) const
{ {
Contract const& currentContract = contract(_contractName); Contract const& currentContract = contract(_contractName);
@ -744,14 +735,6 @@ void CompilerStack::compileContract(
} }
} }
std::string CompilerStack::defaultContractName() const
{
if (m_stackState != CompilationSuccessful)
BOOST_THROW_EXCEPTION(CompilerError() << errinfo_comment("Compilation was not successful."));
return contract("").contract->name();
}
CompilerStack::Contract const& CompilerStack::contract(string const& _contractName) const CompilerStack::Contract const& CompilerStack::contract(string const& _contractName) const
{ {
if (m_contracts.empty()) if (m_contracts.empty())

View File

@ -117,7 +117,6 @@ public:
bool parseAndAnalyze(std::string const& _sourceCode); bool parseAndAnalyze(std::string const& _sourceCode);
/// @returns a list of the contract names in the sources. /// @returns a list of the contract names in the sources.
std::vector<std::string> contractNames() const; std::vector<std::string> contractNames() const;
std::string defaultContractName() const;
/// Compiles the source units that were previously added and parsed. /// Compiles the source units that were previously added and parsed.
/// @returns false on error. /// @returns false on error.
@ -159,11 +158,6 @@ public:
/// @returns either the contract's name or a mixture of its name and source file, sanitized for filesystem use /// @returns either the contract's name or a mixture of its name and source file, sanitized for filesystem use
std::string const filesystemFriendlyName(std::string const& _contractName) const; std::string const filesystemFriendlyName(std::string const& _contractName) const;
/// @returns hash of the runtime bytecode for the contract, i.e. the code that is
/// returned by the constructor or the zero-h256 if the contract still needs to be linked or
/// does not have runtime code.
dev::h256 contractCodeHash(std::string const& _contractName = "") const;
/// Streams a verbose version of the assembly to @a _outStream. /// Streams a verbose version of the assembly to @a _outStream.
/// @arg _sourceCodes is the map of input files to source code strings /// @arg _sourceCodes is the map of input files to source code strings
/// @arg _inJsonFromat shows whether the out should be in Json format /// @arg _inJsonFromat shows whether the out should be in Json format
@ -197,13 +191,6 @@ public:
/// does not exist. /// does not exist.
ContractDefinition const& contractDefinition(std::string const& _contractName) const; ContractDefinition const& contractDefinition(std::string const& _contractName) const;
/// @returns the offset of the entry point of the given function into the list of assembly items
/// or zero if it is not found or does not exist.
size_t functionEntryPoint(
std::string const& _contractName,
FunctionDefinition const& _function
) const;
/// Helper function for logs printing. Do only use in error cases, it's quite expensive. /// 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: /// line and columns are numbered starting from 1 with following order:
/// start line, start column, end line, end column /// start line, start column, end line, end column
@ -272,6 +259,13 @@ private:
Json::Value const& contractABI(Contract const&) const; Json::Value const& contractABI(Contract const&) const;
Json::Value const& natspec(Contract const&, DocumentationType _type) const; Json::Value const& natspec(Contract const&, DocumentationType _type) const;
/// @returns the offset of the entry point of the given function into the list of assembly items
/// or zero if it is not found or does not exist.
size_t functionEntryPoint(
std::string const& _contractName,
FunctionDefinition const& _function
) const;
struct Remapping struct Remapping
{ {
std::string context; std::string context;