Skip to content

Commit 5945b50

Browse files
Drop intermediary reference to keep only one if
The declaration of the reference class_json_value prevented merging the two if, and it can be removed without making the code more complicated since it is just an alias for class_entry->second
1 parent b32a439 commit 5945b50

File tree

1 file changed

+27
-31
lines changed

1 file changed

+27
-31
lines changed

jbmc/src/java_bytecode/java_static_initializers.cpp

Lines changed: 27 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -802,44 +802,40 @@ code_blockt get_user_specified_clinit_body(
802802
}
803803
const auto class_entry =
804804
static_values_json.find(id2string(strip_java_namespace_prefix(class_id)));
805-
if(class_entry != static_values_json.end())
805+
if(class_entry != static_values_json.end() && class_entry->second.is_object())
806806
{
807-
const auto &class_json_value = class_entry->second;
808-
if(class_json_value.is_object())
807+
const auto &class_json_object = to_json_object(class_entry->second);
808+
std::map<symbol_exprt, jsont> static_field_values;
809+
for(const auto &symbol_pair :
810+
equal_range(class_to_declared_symbols_map, class_id))
809811
{
810-
const auto &class_json_object = to_json_object(class_json_value);
811-
std::map<symbol_exprt, jsont> static_field_values;
812-
for(const auto &symbol_pair :
813-
equal_range(class_to_declared_symbols_map, class_id))
812+
const symbolt &symbol = symbol_pair.second;
813+
if(symbol.is_static_lifetime)
814814
{
815-
const symbolt &symbol = symbol_pair.second;
816-
if(symbol.is_static_lifetime)
815+
const symbol_exprt &static_field_expr = symbol.symbol_expr();
816+
const auto &static_field_entry =
817+
class_json_object.find(id2string(symbol.base_name));
818+
if(static_field_entry != class_json_object.end())
817819
{
818-
const symbol_exprt &static_field_expr = symbol.symbol_expr();
819-
const auto &static_field_entry =
820-
class_json_object.find(id2string(symbol.base_name));
821-
if(static_field_entry != class_json_object.end())
822-
{
823-
static_field_values.insert(
824-
{static_field_expr, static_field_entry->second});
825-
}
820+
static_field_values.insert(
821+
{static_field_expr, static_field_entry->second});
826822
}
827823
}
828-
code_blockt body;
829-
for(const auto &value_pair : static_field_values)
830-
{
831-
assign_from_json(
832-
value_pair.first,
833-
value_pair.second,
834-
real_clinit_name,
835-
body,
836-
symbol_table,
837-
needed_lazy_methods,
838-
max_user_array_length,
839-
references);
840-
}
841-
return body;
842824
}
825+
code_blockt body;
826+
for(const auto &value_pair : static_field_values)
827+
{
828+
assign_from_json(
829+
value_pair.first,
830+
value_pair.second,
831+
real_clinit_name,
832+
body,
833+
symbol_table,
834+
needed_lazy_methods,
835+
max_user_array_length,
836+
references);
837+
}
838+
return body;
843839
}
844840
return code_blockt{{code_function_callt{clinit_func->symbol_expr()}}};
845841
}

0 commit comments

Comments
 (0)