diff options
author | chriseth <chris@ethereum.org> | 2019-01-10 23:44:31 +0800 |
---|---|---|
committer | chriseth <chris@ethereum.org> | 2019-01-18 03:36:48 +0800 |
commit | e6fee257e68e7b145a47eee8c5937db7a7a99849 (patch) | |
tree | d4dce225357536d378d69f1ac87c4c5132d15613 /libsolidity/codegen/ContractCompiler.cpp | |
parent | 2fcfb216b5dcb5cec2d70d2ee7647df47c8166ca (diff) | |
download | dexon-solidity-e6fee257e68e7b145a47eee8c5937db7a7a99849.tar dexon-solidity-e6fee257e68e7b145a47eee8c5937db7a7a99849.tar.gz dexon-solidity-e6fee257e68e7b145a47eee8c5937db7a7a99849.tar.bz2 dexon-solidity-e6fee257e68e7b145a47eee8c5937db7a7a99849.tar.lz dexon-solidity-e6fee257e68e7b145a47eee8c5937db7a7a99849.tar.xz dexon-solidity-e6fee257e68e7b145a47eee8c5937db7a7a99849.tar.zst dexon-solidity-e6fee257e68e7b145a47eee8c5937db7a7a99849.zip |
Code generation for access to contract code.
Diffstat (limited to 'libsolidity/codegen/ContractCompiler.cpp')
-rw-r--r-- | libsolidity/codegen/ContractCompiler.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/libsolidity/codegen/ContractCompiler.cpp b/libsolidity/codegen/ContractCompiler.cpp index b051d260..a718603b 100644 --- a/libsolidity/codegen/ContractCompiler.cpp +++ b/libsolidity/codegen/ContractCompiler.cpp @@ -60,7 +60,7 @@ private: void ContractCompiler::compileContract( ContractDefinition const& _contract, - std::map<const ContractDefinition*, eth::Assembly const*> const& _contracts + map<ContractDefinition const*, shared_ptr<Compiler const>> const& _otherCompilers ) { CompilerContext::LocationSetter locationSetter(m_context, _contract); @@ -70,7 +70,7 @@ void ContractCompiler::compileContract( // This has to be the first code in the contract. appendDelegatecallCheck(); - initializeContext(_contract, _contracts); + initializeContext(_contract, _otherCompilers); // This generates the dispatch function for externally visible functions // and adds the function to the compilation queue. Additionally internal functions, // which are referenced directly or indirectly will be added. @@ -81,7 +81,7 @@ void ContractCompiler::compileContract( size_t ContractCompiler::compileConstructor( ContractDefinition const& _contract, - std::map<const ContractDefinition*, eth::Assembly const*> const& _contracts + std::map<ContractDefinition const*, shared_ptr<Compiler const>> const& _otherCompilers ) { CompilerContext::LocationSetter locationSetter(m_context, _contract); @@ -89,18 +89,18 @@ size_t ContractCompiler::compileConstructor( return deployLibrary(_contract); else { - initializeContext(_contract, _contracts); + initializeContext(_contract, _otherCompilers); return packIntoContractCreator(_contract); } } void ContractCompiler::initializeContext( ContractDefinition const& _contract, - map<ContractDefinition const*, eth::Assembly const*> const& _compiledContracts + map<ContractDefinition const*, shared_ptr<Compiler const>> const& _otherCompilers ) { m_context.setExperimentalFeatures(_contract.sourceUnit().annotation().experimentalFeatures); - m_context.setCompiledContracts(_compiledContracts); + m_context.setOtherCompilers(_otherCompilers); m_context.setInheritanceHierarchy(_contract.annotation().linearizedBaseContracts); CompilerUtils(m_context).initialiseFreeMemoryPointer(); registerStateVariables(_contract); |