@@ -719,10 +719,8 @@ class SymbolVisitor {
719719template <>
720720struct ::llvm::ImutContainerInfo<clang::ento::SymbolRef>
721721 : 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;
726724 using key_type = value_type;
727725 using key_type_ref = value_type_ref;
728726 using data_type = bool ;
@@ -731,14 +729,17 @@ struct ::llvm::ImutContainerInfo<clang::ento::SymbolRef>
731729 static key_type_ref KeyOfValue (value_type_ref D) { return D; }
732730 static data_type_ref DataOfValue (value_type_ref) { return true ; }
733731
734- static bool isEqual (key_type_ref LHS, key_type_ref RHS) {
732+ static bool isEqual (clang::ento::SymbolRef LHS, clang::ento::SymbolRef RHS) {
735733 return LHS->getSymbolID () == RHS->getSymbolID ();
736734 }
737735
738- static bool isLess (key_type_ref LHS, key_type_ref RHS) {
736+ static bool isLess (clang::ento::SymbolRef LHS, clang::ento::SymbolRef RHS) {
739737 return LHS->getSymbolID () < RHS->getSymbolID ();
740738 }
741739
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".
742743 static bool isDataEqual (data_type_ref, data_type_ref) { return true ; }
743744};
744745
0 commit comments