@@ -41,9 +41,8 @@ void language_filet::convert_lazy_method(
41
41
42
42
void language_filest::show_parse (std::ostream &out)
43
43
{
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);
47
46
}
48
47
49
48
// / Turn on or off stub generation for all the languages
@@ -60,32 +59,31 @@ void language_filest::set_should_generate_opaque_method_stubs(
60
59
61
60
bool language_filest::parse ()
62
61
{
63
- for (file_mapt::iterator it=file_map.begin ();
64
- it!=file_map.end (); it++)
62
+ for (auto &file : file_map)
65
63
{
66
64
// open file
67
65
68
- std::ifstream infile (it-> first );
66
+ std::ifstream infile (file. first );
69
67
70
68
if (!infile)
71
69
{
72
- error () << " Failed to open " << it-> first << eom;
70
+ error () << " Failed to open " << file. first << eom;
73
71
return true ;
74
72
}
75
73
76
74
// parse it
77
75
78
- languaget &language=*(it-> second .language );
76
+ languaget &language=*(file. second .language );
79
77
80
- if (language.parse (infile, it-> first ))
78
+ if (language.parse (infile, file. first ))
81
79
{
82
- error () << " Parsing of " << it-> first << " failed" << eom;
80
+ error () << " Parsing of " << file. first << " failed" << eom;
83
81
return true ;
84
82
}
85
83
86
84
// what is provided?
87
85
88
- it-> second .get_modules ();
86
+ file. second .get_modules ();
89
87
}
90
88
91
89
return false ;
@@ -95,22 +93,20 @@ bool language_filest::typecheck(symbol_tablet &symbol_table)
95
93
{
96
94
// typecheck interfaces
97
95
98
- for (file_mapt::iterator it=file_map.begin ();
99
- it!=file_map.end (); it++)
96
+ for (auto &file : file_map)
100
97
{
101
- if (it-> second .language ->interfaces (symbol_table))
98
+ if (file. second .language ->interfaces (symbol_table))
102
99
return true ;
103
100
}
104
101
105
102
// build module map
106
103
107
104
unsigned collision_counter=0 ;
108
105
109
- for (file_mapt::iterator fm_it=file_map.begin ();
110
- fm_it!=file_map.end (); fm_it++)
106
+ for (auto &file : file_map)
111
107
{
112
108
const language_filet::modulest &modules=
113
- fm_it-> second .modules ;
109
+ file. second .modules ;
114
110
115
111
for (language_filet::modulest::const_iterator
116
112
mo_it=modules.begin ();
@@ -127,7 +123,7 @@ bool language_filest::typecheck(symbol_tablet &symbol_table)
127
123
}
128
124
129
125
language_modulet module;
130
- module.file =&fm_it-> second ;
126
+ module.file =&file. second ;
131
127
module.name =module_name;
132
128
module_map.insert (
133
129
std::pair<std::string, language_modulet>(module.name , module));
@@ -136,29 +132,27 @@ bool language_filest::typecheck(symbol_tablet &symbol_table)
136
132
137
133
// typecheck files
138
134
139
- for (file_mapt::iterator it=file_map.begin ();
140
- it!=file_map.end (); it++)
135
+ for (auto &file : file_map)
141
136
{
142
- if (it-> second .modules .empty ())
137
+ if (file. second .modules .empty ())
143
138
{
144
- if (it-> second .language ->typecheck (symbol_table, " " ))
139
+ if (file. second .language ->typecheck (symbol_table, " " ))
145
140
return true ;
146
141
// register lazy methods.
147
142
// TODO: learn about modules and generalise this
148
143
// to module-providing languages if required.
149
144
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);
151
146
for (const auto &id : lazy_method_ids)
152
- lazy_method_map[id]=&it-> second ;
147
+ lazy_method_map[id]=&file. second ;
153
148
}
154
149
}
155
150
156
151
// typecheck modules
157
152
158
- for (module_mapt::iterator it=module_map.begin ();
159
- it!=module_map.end (); it++)
153
+ for (auto &module : module_map)
160
154
{
161
- if (typecheck_module (symbol_table, it-> second ))
155
+ if (typecheck_module (symbol_table, module. second ))
162
156
return true ;
163
157
}
164
158
@@ -170,11 +164,10 @@ bool language_filest::generate_support_functions(
170
164
{
171
165
std::set<std::string> languages;
172
166
173
- for (file_mapt::iterator it=file_map.begin ();
174
- it!=file_map.end (); it++)
167
+ for (auto &file : file_map)
175
168
{
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))
178
171
return true ;
179
172
}
180
173
@@ -186,11 +179,10 @@ bool language_filest::final(
186
179
{
187
180
std::set<std::string> languages;
188
181
189
- for (file_mapt::iterator it=file_map.begin ();
190
- it!=file_map.end (); it++)
182
+ for (auto &file : file_map)
191
183
{
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))
194
186
return true ;
195
187
}
196
188
@@ -200,10 +192,9 @@ bool language_filest::final(
200
192
bool language_filest::interfaces (
201
193
symbol_tablet &symbol_table)
202
194
{
203
- for (file_mapt::iterator it=file_map.begin ();
204
- it!=file_map.end (); it++)
195
+ for (auto &file : file_map)
205
196
{
206
- if (it-> second .language ->interfaces (symbol_table))
197
+ if (file. second .language ->interfaces (symbol_table))
207
198
return true ;
208
199
}
209
200
0 commit comments