Skip to content

Commit e2bdeaa

Browse files
Add method to get super class from java class type.
1 parent 6120a59 commit e2bdeaa

File tree

4 files changed

+13
-2
lines changed

4 files changed

+13
-2
lines changed

jbmc/src/java_bytecode/java_bytecode_convert_class.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,7 @@ void java_bytecode_convert_classt::convert(
280280
class_type.set_is_static_class(c.is_static_class);
281281
class_type.set_is_anonymous_class(c.is_anonymous_class);
282282
class_type.set_outer_class(c.outer_class);
283+
class_type.set_super_class(c.super_class);
283284
if(c.is_enum)
284285
{
285286
if(max_array_length != 0 && c.enum_elements > max_array_length)

jbmc/src/java_bytecode/java_bytecode_parser.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -503,8 +503,7 @@ void java_bytecode_parsert::rClassFile()
503503
constant(this_class).type().get(ID_C_base_name);
504504

505505
if(super_class!=0)
506-
parsed_class.super_class=
507-
constant(super_class).type().get(ID_C_base_name);
506+
parsed_class.super_class = constant(super_class).type().get(ID_C_base_name);
508507

509508
rinterfaces(parsed_class);
510509
rfields(parsed_class);

jbmc/src/java_bytecode/java_types.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,16 @@ class java_class_typet:public class_typet
131131
return set(ID_outer_class, outer_class);
132132
}
133133

134+
const irep_idt &get_super_class() const
135+
{
136+
return get(ID_super_class);
137+
}
138+
139+
void set_super_class(const irep_idt &super_class)
140+
{
141+
return set(ID_super_class, super_class);
142+
}
143+
134144
const bool get_is_static_class() const
135145
{
136146
return get_bool(ID_is_static);

src/util/irep_ids.def

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -691,6 +691,7 @@ IREP_ID_TWO(C_unnamed_object, #unnamed_object)
691691
IREP_ID_TWO(C_temporary_avoided, #temporary_avoided)
692692
IREP_ID_TWO(C_qualifier, #qualifier)
693693
IREP_ID_TWO(C_array_ini, #array_ini)
694+
IREP_ID_ONE(super_class)
694695

695696
// Projects depending on this code base that wish to extend the list of
696697
// available ids should provide a file local_irep_ids.h in their source tree and

0 commit comments

Comments
 (0)