@@ -220,51 +220,51 @@ static void clinit_wrapper_do_recursive_calls(
220
220
code_function_callt call_real_init;
221
221
call_real_init.function () = find_sym_it->second .symbol_expr ();
222
222
init_body.move_to_operands (call_real_init);
223
+ }
223
224
224
- // Add a standard nondet initialization for each non-final static field
225
- // of this class. Note this is the same invocation used in
226
- // get_stub_initializer_body and java_static_lifetime_init.
227
- if (nondet_static)
225
+ // If nondet-static option is given, add a standard nondet initialization for
226
+ // each non-final static field of this class. Note this is the same invocation
227
+ // used in get_stub_initializer_body and java_static_lifetime_init.
228
+ if (nondet_static)
229
+ {
230
+ object_factory_parameterst parameters = object_factory_parameters;
231
+ parameters.function_id = clinit_wrapper_name (class_name);
232
+
233
+ std::vector<irep_idt> nondet_ids;
234
+ std::for_each (
235
+ symbol_table.symbols .begin (),
236
+ symbol_table.symbols .end (),
237
+ [&](const std::pair<irep_idt, symbolt> &symbol) {
238
+ if (
239
+ symbol.second .type .get (ID_C_class) == class_name &&
240
+ symbol.second .is_static_lifetime &&
241
+ !symbol.second .type .get_bool (ID_C_constant))
242
+ {
243
+ nondet_ids.push_back (symbol.first );
244
+ }
245
+ });
246
+
247
+ for (const auto &id : nondet_ids)
228
248
{
229
- object_factory_parameterst parameters = object_factory_parameters;
230
- parameters.function_id = clinit_wrapper_name (class_name);
231
-
232
- std::vector<irep_idt> nondet_ids;
233
- std::for_each (
234
- symbol_table.symbols .begin (),
235
- symbol_table.symbols .end (),
236
- [&](const std::pair<irep_idt, symbolt> &symbol) {
237
- if (
238
- symbol.second .type .get (ID_C_class) == class_name &&
239
- symbol.second .is_static_lifetime &&
240
- !symbol.second .type .get_bool (ID_C_constant))
241
- {
242
- nondet_ids.push_back (symbol.first );
243
- }
244
- });
245
-
246
- for (const auto &id : nondet_ids)
247
- {
248
- const symbol_exprt new_global_symbol =
249
- symbol_table.lookup_ref (id).symbol_expr ();
250
-
251
- parameters.max_nonnull_tree_depth =
252
- is_non_null_library_global (id)
253
- ? std::max (
254
- size_t (1 ), object_factory_parameters.max_nonnull_tree_depth )
255
- : object_factory_parameters.max_nonnull_tree_depth ;
256
-
257
- gen_nondet_init (
258
- new_global_symbol,
259
- init_body,
260
- symbol_table,
261
- source_locationt (),
262
- false ,
263
- allocation_typet::DYNAMIC,
264
- parameters,
265
- pointer_type_selector,
266
- update_in_placet::NO_UPDATE_IN_PLACE);
267
- }
249
+ const symbol_exprt new_global_symbol =
250
+ symbol_table.lookup_ref (id).symbol_expr ();
251
+
252
+ parameters.max_nonnull_tree_depth =
253
+ is_non_null_library_global (id)
254
+ ? std::max (
255
+ size_t (1 ), object_factory_parameters.max_nonnull_tree_depth )
256
+ : object_factory_parameters.max_nonnull_tree_depth ;
257
+
258
+ gen_nondet_init (
259
+ new_global_symbol,
260
+ init_body,
261
+ symbol_table,
262
+ source_locationt (),
263
+ false ,
264
+ allocation_typet::DYNAMIC,
265
+ parameters,
266
+ pointer_type_selector,
267
+ update_in_placet::NO_UPDATE_IN_PLACE);
268
268
}
269
269
}
270
270
}
0 commit comments