File tree 1 file changed +11
-5
lines changed 1 file changed +11
-5
lines changed Original file line number Diff line number Diff line change @@ -609,12 +609,18 @@ class java_generic_symbol_typet : public symbol_typet
609
609
// / in the vector of generic types.
610
610
// / \param type The type we are looking for.
611
611
// / \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
613
614
{
614
- const auto &type_pointer =
615
- std::find (generic_types ().begin (), generic_types ().end (), type);
616
- if (type_pointer != generic_types ().end ())
617
- return type_pointer - generic_types ().begin ();
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)
618
+ {
619
+ if (
620
+ is_java_generic_parameter (generics[i]) &&
621
+ to_java_generic_parameter (generics[i]).type_variable () == type_variable)
622
+ return i;
623
+ }
618
624
return {};
619
625
}
620
626
};
You can’t perform that action at this time.
0 commit comments