@@ -41,9 +41,8 @@ void language_filet::convert_lazy_method(
4141
4242void 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
6160bool 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(
200192bool 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