Skip to content

Commit 9369bbe

Browse files
fixup! Fix generic_type_index
1 parent 3199fe6 commit 9369bbe

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/java_bytecode/java_types.h

+8-4
Original file line numberDiff line numberDiff line change
@@ -609,12 +609,16 @@ class java_generic_symbol_typet : public symbol_typet
609609
/// in the vector of generic types.
610610
/// \param type The type we are looking for.
611611
/// \return The index of the type in the vector of generic types.
612-
optionalt<size_t> generic_type_index(const reference_typet &type) const
612+
optionalt<size_t>
613+
generic_type_index(const java_generic_parametert &type) const
613614
{
614-
const auto type_variables = type.find(ID_type_variables);
615-
for(std::size_t i = 0; i < generic_types().size(); ++i)
615+
const auto &type_variable = type.type_variable();
616+
const auto &generics = generic_types();
617+
for(std::size_t i = 0; i < generics.size(); ++i)
616618
{
617-
if(type_variables == generic_types()[i].find(ID_type_variables))
619+
if(
620+
is_java_generic_parameter(generics[i]) &&
621+
to_java_generic_parameter(generics[i]).type_variable() == type_variable)
618622
return i;
619623
}
620624
return {};

0 commit comments

Comments
 (0)