[libevmasm] EVMAssemblStack: remove std::optional for source mappings.

This commit is contained in:
Alexander Arlt 2023-04-26 23:21:56 -05:00
parent ff05b7a485
commit ac7fcd6f7c
2 changed files with 6 additions and 6 deletions

View File

@ -48,12 +48,12 @@ void EVMAssemblyStack::assemble()
solAssert(!m_evmRuntimeAssembly);
m_object = m_evmAssembly->assemble();
m_sourceMapping.emplace(AssemblyItem::computeSourceMapping(m_evmAssembly->items(), sourceIndices()));
m_sourceMapping = AssemblyItem::computeSourceMapping(m_evmAssembly->items(), sourceIndices());
if (m_evmAssembly->numSubs() > 0)
{
m_evmRuntimeAssembly = make_shared<evmasm::Assembly>(m_evmAssembly->sub(0));
solAssert(m_evmRuntimeAssembly && !m_evmRuntimeAssembly->isCreation());
m_runtimeSourceMapping.emplace(AssemblyItem::computeSourceMapping(m_evmRuntimeAssembly->items(), sourceIndices()));
m_runtimeSourceMapping = AssemblyItem::computeSourceMapping(m_evmRuntimeAssembly->items(), sourceIndices());
m_runtimeObject = m_evmRuntimeAssembly->assemble();
}
}
@ -87,13 +87,13 @@ map<string, unsigned> EVMAssemblyStack::sourceIndices() const
string const* EVMAssemblyStack::sourceMapping(string const& _contractName) const
{
solAssert(_contractName == m_name);
return m_sourceMapping.has_value() ? &m_sourceMapping.value() : nullptr;
return &m_sourceMapping;
}
string const* EVMAssemblyStack::runtimeSourceMapping(string const& _contractName) const
{
solAssert(_contractName == m_name);
return m_runtimeSourceMapping.has_value() ? &m_runtimeSourceMapping.value() : nullptr;
return &m_runtimeSourceMapping;
}
Json::Value EVMAssemblyStack::assemblyJSON(string const& _contractName) const

View File

@ -79,8 +79,8 @@ private:
evmasm::LinkerObject m_runtimeObject; ///< Runtime object.
std::vector<std::string> m_sourceList;
langutil::DebugInfoSelection m_debugInfoSelection = langutil::DebugInfoSelection::Default();
std::optional<std::string const> m_sourceMapping;
std::optional<std::string const> m_runtimeSourceMapping;
std::string m_sourceMapping;
std::string m_runtimeSourceMapping;
};
} // namespace solidity::evmasm