Use reference wrappers instead of iterators to use for-each loop

This commit is contained in:
Lukasz A.J. Wrona 2019-07-26 11:04:21 +01:00
parent ea61cde8fc
commit 89ecf46571
1 changed files with 4 additions and 8 deletions

View File

@ -1327,13 +1327,9 @@ void java_bytecode_parsert::rcode_attribute(methodt &method)
if(attribute_name=="LineNumberTable")
{
std::map<unsigned, methodt::instructionst::iterator> instruction_map;
for(auto it = method.instructions.begin(); it != method.instructions.end();
it++)
{
instruction_map[it->address]=it;
}
std::map<unsigned, std::reference_wrapper<instructiont>> instruction_map;
for(auto &instruction : method.instructions)
instruction_map.emplace(instruction.address, instruction);
const u2 line_number_table_length = read<u2>();
@ -1346,7 +1342,7 @@ void java_bytecode_parsert::rcode_attribute(methodt &method)
auto it = instruction_map.find(start_pc);
if(it!=instruction_map.end())
it->second->source_location.set_line(line_number);
it->second.get().source_location.set_line(line_number);
}
}
else if(attribute_name=="LocalVariableTable")