@@ -398,15 +398,13 @@ void CompilerStack::importEvmAssemblyJson(map<string, Json::Value> const& _sourc
398
398
399
399
Json::Value jsonValue = _sources.begin ()->second ;
400
400
if (jsonValue.isMember (" sourceList" ))
401
- {
402
401
for (auto const & item: jsonValue[" sourceList" ])
403
402
{
404
403
Source source;
405
404
source.charStream = std::make_shared<CharStream>(item.asString (), " " );
406
405
m_sources.emplace (std::make_pair (item.asString (), source));
407
406
m_sourceOrder.push_back (&m_sources[item.asString ()]);
408
407
}
409
- }
410
408
m_evmAssemblyJson[_sources.begin ()->first ] = jsonValue;
411
409
m_importedSources = true ;
412
410
m_stackState = SourcesSet;
@@ -687,12 +685,19 @@ bool CompilerStack::compile(State _stopAfter)
687
685
optimiserSettings.runJumpdestRemover = m_optimiserSettings.runJumpdestRemover ;
688
686
optimiserSettings.runPeephole = m_optimiserSettings.runPeephole ;
689
687
688
+ vector<string> sourceList;
689
+ if (m_evmAssemblyJson[evmAssemblyJsonSource].isMember (" sourceList" ))
690
+ for (auto const & it: m_evmAssemblyJson[evmAssemblyJsonSource][" sourceList" ])
691
+ sourceList.emplace_back (it.asString ());
692
+
690
693
m_contracts[evmAssemblyJsonSource].evmAssembly = make_shared<evmasm::Assembly>(evmAssemblyJsonSource);
694
+ m_contracts[evmAssemblyJsonSource].evmAssembly ->setSources (sourceList);
691
695
m_contracts[evmAssemblyJsonSource].evmAssembly ->loadFromAssemblyJSON (m_evmAssemblyJson[evmAssemblyJsonSource]);
692
696
m_contracts[evmAssemblyJsonSource].evmAssembly ->optimise (optimiserSettings);
693
697
m_contracts[evmAssemblyJsonSource].object = m_contracts[evmAssemblyJsonSource].evmAssembly ->assemble ();
694
698
695
699
m_contracts[evmAssemblyJsonSource].evmRuntimeAssembly = make_shared<evmasm::Assembly>(evmAssemblyJsonSource);
700
+ m_contracts[evmAssemblyJsonSource].evmRuntimeAssembly ->setSources (sourceList);
696
701
m_contracts[evmAssemblyJsonSource].evmRuntimeAssembly ->loadFromAssemblyJSON (m_evmAssemblyJson[evmAssemblyJsonSource][" .data" ][" 0" ]);
697
702
m_contracts[evmAssemblyJsonSource].evmRuntimeAssembly ->optimise (optimiserSettings);
698
703
m_contracts[evmAssemblyJsonSource].runtimeObject = m_contracts[evmAssemblyJsonSource].evmRuntimeAssembly ->assemble ();
0 commit comments