File tree Expand file tree Collapse file tree 1 file changed +6
-7
lines changed Expand file tree Collapse file tree 1 file changed +6
-7
lines changed Original file line number Diff line number Diff line change @@ -491,17 +491,16 @@ void local_value_set_analysist::transform_function_stub(
491
491
}
492
492
else
493
493
{
494
- // The only other kind of symbols mentioned
495
- // in summary LHS are global variables.
496
- INVARIANT (
497
- lhs_fieldname.field_name == " " ,
498
- " unexpected lhs entry in call summary assignments" );
499
- const auto &global_sym = ns.lookup (lhs_fieldname.base_name );
494
+ // The only other kind of symbols mentioned in summary LHS are global
495
+ // variables. Global variables defined in the java source cannot be
496
+ // structs and thus will have an empty string as the field name, but
497
+ // this is not true for synthetic global variables, such as class models.
500
498
local_value_sett::entryt global_entry_name (
501
499
lhs_fieldname.base_name ,
502
- " " ,
500
+ lhs_fieldname. field_name ,
503
501
lhs_fieldname.declared_on_type ,
504
502
lhs_fieldname.structured_lhs );
503
+ const auto &global_sym = ns.lookup (lhs_fieldname.base_name );
505
504
auto &global_entry =
506
505
valuesets.get_entry (global_entry_name, global_sym.type , ns);
507
506
valuesets.make_union (global_entry.object_map , rhs_values);
You can’t perform that action at this time.
0 commit comments