File tree 3 files changed +21
-0
lines changed
3 files changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -294,6 +294,8 @@ void java_bytecode_convert_classt::convert(
294
294
component.set_access (ID_protected);
295
295
else if (f.is_public )
296
296
component.set_access (ID_public);
297
+ else
298
+ component.set_access (ID_default);
297
299
}
298
300
}
299
301
Original file line number Diff line number Diff line change @@ -232,6 +232,14 @@ void java_bytecode_convert_method_lazy(
232
232
method_symbol.mode =ID_java;
233
233
method_symbol.location =m.source_location ;
234
234
method_symbol.location .set_function (method_identifier);
235
+ if (m.is_public )
236
+ member_type.set (ID_access, ID_public);
237
+ else if (m.is_protected )
238
+ member_type.set (ID_access, ID_protected);
239
+ else if (m.is_private )
240
+ member_type.set (ID_access, ID_private);
241
+ else
242
+ member_type.set (ID_access, ID_default);
235
243
236
244
if (method_symbol.base_name ==" <init>" )
237
245
{
Original file line number Diff line number Diff line change @@ -709,6 +709,13 @@ void java_bytecode_parsert::rfields(classt &parsed_class)
709
709
field.is_final =(access_flags&ACC_FINAL)!=0 ;
710
710
field.is_enum =(access_flags&ACC_ENUM)!=0 ;
711
711
field.signature =id2string (pool_entry (descriptor_index).s );
712
+ field.is_public =(access_flags&ACC_PUBLIC)!=0 ;
713
+ field.is_protected =(access_flags&ACC_PROTECTED)!=0 ;
714
+ field.is_private =(access_flags&ACC_PRIVATE)!=0 ;
715
+ size_t flags=(field.is_public ?1 :0 )+
716
+ (field.is_protected ?1 :0 )+
717
+ (field.is_private ?1 :0 );
718
+ assert (flags<=1 );
712
719
713
720
for (std::size_t j=0 ; j<attributes_count; j++)
714
721
rfield_attribute (field);
@@ -1561,6 +1568,10 @@ void java_bytecode_parsert::rmethod(classt &parsed_class)
1561
1568
method.base_name =pool_entry (name_index).s ;
1562
1569
method.signature =id2string (pool_entry (descriptor_index).s );
1563
1570
1571
+ size_t flags=(method.is_public ?1 :0 )+
1572
+ (method.is_protected ?1 :0 )+
1573
+ (method.is_private ?1 :0 );
1574
+ assert (flags<=1 );
1564
1575
u2 attributes_count=read_u2 ();
1565
1576
1566
1577
for (std::size_t j=0 ; j<attributes_count; j++)
You can’t perform that action at this time.
0 commit comments