Skip to content

Commit a22dd1c

Browse files
author
Thomas Kiley
authored
Merge pull request #1671 from thk123/bugfix/TG-1278/correct-access-level
[TG-1888] Correct some classes visibility levels
2 parents 5b6eb00 + 9062853 commit a22dd1c

File tree

3 files changed

+8
-5
lines changed

3 files changed

+8
-5
lines changed

src/java_bytecode/generate_java_generic_type.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ symbolt generate_java_generic_typet::operator()(
106106

107107
const java_specialized_generic_class_typet new_java_class{
108108
generic_name,
109-
class_definition.get_tag(),
109+
class_definition,
110110
replacement_components,
111111
existing_generic_type.generic_type_arguments()};
112112

src/java_bytecode/java_string_library_preprocess.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ typet string_length_type()
192192
void java_string_library_preprocesst::add_string_type(
193193
const irep_idt &class_name, symbol_tablet &symbol_table)
194194
{
195-
class_typet string_type;
195+
java_class_typet string_type;
196196
string_type.set_tag(class_name);
197197
string_type.components().resize(3);
198198
string_type.components()[0].set_name("@java.lang.Object");
@@ -204,6 +204,7 @@ void java_string_library_preprocesst::add_string_type(
204204
string_type.components()[2].set_name("data");
205205
string_type.components()[2].set_pretty_name("data");
206206
string_type.components()[2].type() = pointer_type(java_char_type());
207+
string_type.set_access(ID_public);
207208
string_type.add_base(symbol_typet("java::java.lang.Object"));
208209
if(class_name!="java.lang.CharSequence")
209210
{

src/java_bytecode/java_types.h

+5-3
Original file line numberDiff line numberDiff line change
@@ -456,20 +456,22 @@ class java_specialized_generic_class_typet : public java_class_typet
456456
/// parameters and name.
457457
/// \param generic_name: The new name for the class
458458
/// (like Generic<java::Float>)
459-
/// \param tag: The name for the original class (like java::Generic)
459+
/// \param originating_class: The name for the original class (like
460+
/// java::Generic)
460461
/// \param new_components: The specialised components
461462
/// \return The newly constructed class.
462463
java_specialized_generic_class_typet(
463464
const irep_idt &generic_name,
464-
const irep_idt &tag,
465+
const java_class_typet &originating_class,
465466
const struct_typet::componentst &new_components,
466467
const generic_type_argumentst &specialised_parameters)
467468
{
468469
set(ID_C_specialized_generic_java_class, true);
469470
set(ID_name, "java::" + id2string(generic_name));
470471
set(ID_base_name, id2string(generic_name));
471472
components() = new_components;
472-
set_tag(tag);
473+
set_tag(originating_class.get_tag());
474+
set_access(originating_class.get_access());
473475

474476
generic_type_arguments() = specialised_parameters;
475477
}

0 commit comments

Comments
 (0)