mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	[libevmasm] EVMAssemblStack: remove std::optional for source mappings.
This commit is contained in:
		
							parent
							
								
									ff05b7a485
								
							
						
					
					
						commit
						ac7fcd6f7c
					
				| @ -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 | ||||
|  | ||||
| @ -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
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user