Skip to content

Commit 901d745

Browse files
committed
Switch to C++11 for-loops in language_file.cpp
1 parent c7c8022 commit 901d745

File tree

1 file changed

+29
-38
lines changed

1 file changed

+29
-38
lines changed

src/util/language_file.cpp

+29-38
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,8 @@ void language_filet::convert_lazy_method(
4141

4242
void language_filest::show_parse(std::ostream &out)
4343
{
44-
for(file_mapt::iterator it=file_map.begin();
45-
it!=file_map.end(); it++)
46-
it->second.language->show_parse(out);
44+
for(const auto &file : file_map)
45+
file.second.language->show_parse(out);
4746
}
4847

4948
/// Turn on or off stub generation for all the languages
@@ -60,32 +59,31 @@ void language_filest::set_should_generate_opaque_method_stubs(
6059

6160
bool language_filest::parse()
6261
{
63-
for(file_mapt::iterator it=file_map.begin();
64-
it!=file_map.end(); it++)
62+
for(auto &file : file_map)
6563
{
6664
// open file
6765

68-
std::ifstream infile(it->first);
66+
std::ifstream infile(file.first);
6967

7068
if(!infile)
7169
{
72-
error() << "Failed to open " << it->first << eom;
70+
error() << "Failed to open " << file.first << eom;
7371
return true;
7472
}
7573

7674
// parse it
7775

78-
languaget &language=*(it->second.language);
76+
languaget &language=*(file.second.language);
7977

80-
if(language.parse(infile, it->first))
78+
if(language.parse(infile, file.first))
8179
{
82-
error() << "Parsing of " << it->first << " failed" << eom;
80+
error() << "Parsing of " << file.first << " failed" << eom;
8381
return true;
8482
}
8583

8684
// what is provided?
8785

88-
it->second.get_modules();
86+
file.second.get_modules();
8987
}
9088

9189
return false;
@@ -95,22 +93,20 @@ bool language_filest::typecheck(symbol_tablet &symbol_table)
9593
{
9694
// typecheck interfaces
9795

98-
for(file_mapt::iterator it=file_map.begin();
99-
it!=file_map.end(); it++)
96+
for(auto &file : file_map)
10097
{
101-
if(it->second.language->interfaces(symbol_table))
98+
if(file.second.language->interfaces(symbol_table))
10299
return true;
103100
}
104101

105102
// build module map
106103

107104
unsigned collision_counter=0;
108105

109-
for(file_mapt::iterator fm_it=file_map.begin();
110-
fm_it!=file_map.end(); fm_it++)
106+
for(auto &file : file_map)
111107
{
112108
const language_filet::modulest &modules=
113-
fm_it->second.modules;
109+
file.second.modules;
114110

115111
for(language_filet::modulest::const_iterator
116112
mo_it=modules.begin();
@@ -127,7 +123,7 @@ bool language_filest::typecheck(symbol_tablet &symbol_table)
127123
}
128124

129125
language_modulet module;
130-
module.file=&fm_it->second;
126+
module.file=&file.second;
131127
module.name=module_name;
132128
module_map.insert(
133129
std::pair<std::string, language_modulet>(module.name, module));
@@ -136,29 +132,27 @@ bool language_filest::typecheck(symbol_tablet &symbol_table)
136132

137133
// typecheck files
138134

139-
for(file_mapt::iterator it=file_map.begin();
140-
it!=file_map.end(); it++)
135+
for(auto &file : file_map)
141136
{
142-
if(it->second.modules.empty())
137+
if(file.second.modules.empty())
143138
{
144-
if(it->second.language->typecheck(symbol_table, ""))
139+
if(file.second.language->typecheck(symbol_table, ""))
145140
return true;
146141
// register lazy methods.
147142
// TODO: learn about modules and generalise this
148143
// to module-providing languages if required.
149144
std::set<irep_idt> lazy_method_ids;
150-
it->second.language->lazy_methods_provided(lazy_method_ids);
145+
file.second.language->lazy_methods_provided(lazy_method_ids);
151146
for(const auto &id : lazy_method_ids)
152-
lazy_method_map[id]=&it->second;
147+
lazy_method_map[id]=&file.second;
153148
}
154149
}
155150

156151
// typecheck modules
157152

158-
for(module_mapt::iterator it=module_map.begin();
159-
it!=module_map.end(); it++)
153+
for(auto &module : module_map)
160154
{
161-
if(typecheck_module(symbol_table, it->second))
155+
if(typecheck_module(symbol_table, module.second))
162156
return true;
163157
}
164158

@@ -170,11 +164,10 @@ bool language_filest::generate_support_functions(
170164
{
171165
std::set<std::string> languages;
172166

173-
for(file_mapt::iterator it=file_map.begin();
174-
it!=file_map.end(); it++)
167+
for(auto &file : file_map)
175168
{
176-
if(languages.insert(it->second.language->id()).second)
177-
if(it->second.language->generate_support_functions(symbol_table))
169+
if(languages.insert(file.second.language->id()).second)
170+
if(file.second.language->generate_support_functions(symbol_table))
178171
return true;
179172
}
180173

@@ -186,11 +179,10 @@ bool language_filest::final(
186179
{
187180
std::set<std::string> languages;
188181

189-
for(file_mapt::iterator it=file_map.begin();
190-
it!=file_map.end(); it++)
182+
for(auto &file : file_map)
191183
{
192-
if(languages.insert(it->second.language->id()).second)
193-
if(it->second.language->final(symbol_table))
184+
if(languages.insert(file.second.language->id()).second)
185+
if(file.second.language->final(symbol_table))
194186
return true;
195187
}
196188

@@ -200,10 +192,9 @@ bool language_filest::final(
200192
bool language_filest::interfaces(
201193
symbol_tablet &symbol_table)
202194
{
203-
for(file_mapt::iterator it=file_map.begin();
204-
it!=file_map.end(); it++)
195+
for(auto &file : file_map)
205196
{
206-
if(it->second.language->interfaces(symbol_table))
197+
if(file.second.language->interfaces(symbol_table))
207198
return true;
208199
}
209200

0 commit comments

Comments
 (0)