@@ -719,10 +719,8 @@ class SymbolVisitor {
719
719
template <>
720
720
struct ::llvm::ImutContainerInfo<clang::ento::SymbolRef>
721
721
: public ImutProfileInfo<clang::ento::SymbolRef> {
722
- using value_type =
723
- typename ImutProfileInfo<clang::ento::SymbolRef>::value_type;
724
- using value_type_ref =
725
- typename ImutProfileInfo<clang::ento::SymbolRef>::value_type_ref;
722
+ using value_type = clang::ento::SymbolRef;
723
+ using value_type_ref = clang::ento::SymbolRef;
726
724
using key_type = value_type;
727
725
using key_type_ref = value_type_ref;
728
726
using data_type = bool ;
@@ -731,14 +729,17 @@ struct ::llvm::ImutContainerInfo<clang::ento::SymbolRef>
731
729
static key_type_ref KeyOfValue (value_type_ref D) { return D; }
732
730
static data_type_ref DataOfValue (value_type_ref) { return true ; }
733
731
734
- static bool isEqual (key_type_ref LHS, key_type_ref RHS) {
732
+ static bool isEqual (clang::ento::SymbolRef LHS, clang::ento::SymbolRef RHS) {
735
733
return LHS->getSymbolID () == RHS->getSymbolID ();
736
734
}
737
735
738
- static bool isLess (key_type_ref LHS, key_type_ref RHS) {
736
+ static bool isLess (clang::ento::SymbolRef LHS, clang::ento::SymbolRef RHS) {
739
737
return LHS->getSymbolID () < RHS->getSymbolID ();
740
738
}
741
739
740
+ // This might seem redundant, but it is required because of the way
741
+ // ImmutableSet is implemented through AVLTree:
742
+ // same as ImmutableMap, but with a non-informative "data".
742
743
static bool isDataEqual (data_type_ref, data_type_ref) { return true ; }
743
744
};
744
745
0 commit comments