AsmAnalyzer: Improve warnOnInstructions(...) implementation.

This commit is contained in:
Christian Parpart 2019-10-25 15:00:11 +02:00
parent 2390b1bfd4
commit ee5826b261

View File

@ -678,10 +678,9 @@ std::map<string, dev::eth::Instruction> const& instructions()
bool AsmAnalyzer::warnOnInstructions(std::string const& _instructionIdentifier, langutil::SourceLocation const& _location) bool AsmAnalyzer::warnOnInstructions(std::string const& _instructionIdentifier, langutil::SourceLocation const& _location)
{ {
auto const& instructionMap = instructions(); auto const builtin = EVMDialect::strictAssemblyForEVM(EVMVersion{}).builtin(YulString(_instructionIdentifier));
auto const identifier = boost::to_lower_copy(_instructionIdentifier); if (builtin)
if (auto const i = instructionMap.find(identifier); i != instructionMap.end()) return warnOnInstructions(builtin->instruction.get(), _location);
return warnOnInstructions(i->second, _location);
else else
return false; return false;
} }