aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/codegen/CompilerContext.cpp
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2019-01-16 18:44:11 +0800
committerchriseth <chris@ethereum.org>2019-01-18 03:36:48 +0800
commit29f6aa7d560a7d82a9088489e663a079a3b41f73 (patch)
tree2ef2c682489bc68f16d600d06643f1f39ec12105 /libsolidity/codegen/CompilerContext.cpp
parenta9fa2658d8690f18aa14c599a305cf59a5cd4e3c (diff)
downloaddexon-solidity-29f6aa7d560a7d82a9088489e663a079a3b41f73.tar
dexon-solidity-29f6aa7d560a7d82a9088489e663a079a3b41f73.tar.gz
dexon-solidity-29f6aa7d560a7d82a9088489e663a079a3b41f73.tar.bz2
dexon-solidity-29f6aa7d560a7d82a9088489e663a079a3b41f73.tar.lz
dexon-solidity-29f6aa7d560a7d82a9088489e663a079a3b41f73.tar.xz
dexon-solidity-29f6aa7d560a7d82a9088489e663a079a3b41f73.tar.zst
dexon-solidity-29f6aa7d560a7d82a9088489e663a079a3b41f73.zip
Do not create a copy of the assembly.
Diffstat (limited to 'libsolidity/codegen/CompilerContext.cpp')
-rw-r--r--libsolidity/codegen/CompilerContext.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/libsolidity/codegen/CompilerContext.cpp b/libsolidity/codegen/CompilerContext.cpp
index 20e1af7c..861b1c98 100644
--- a/libsolidity/codegen/CompilerContext.cpp
+++ b/libsolidity/codegen/CompilerContext.cpp
@@ -167,18 +167,18 @@ unsigned CompilerContext::numberOfLocalVariables() const
return m_localVariables.size();
}
-eth::Assembly const& CompilerContext::compiledContract(ContractDefinition const& _contract) const
+shared_ptr<eth::Assembly> CompilerContext::compiledContract(ContractDefinition const& _contract) const
{
auto ret = m_otherCompilers.find(&_contract);
solAssert(ret != m_otherCompilers.end(), "Compiled contract not found.");
- return ret->second->assembly();
+ return ret->second->assemblyPtr();
}
-eth::Assembly const& CompilerContext::compiledContractRuntime(ContractDefinition const& _contract) const
+shared_ptr<eth::Assembly> CompilerContext::compiledContractRuntime(ContractDefinition const& _contract) const
{
auto ret = m_otherCompilers.find(&_contract);
solAssert(ret != m_otherCompilers.end(), "Compiled contract not found.");
- return ret->second->runtimeAssembly();
+ return ret->second->runtimeAssemblyPtr();
}
bool CompilerContext::isLocalVariable(Declaration const* _declaration) const