[clang-tidy] Don't use a SmallSetVector of an enum.
Summary: This doesn't work after converting SmallSetVector to use DenseSet. Instead we can just use a SmallVector. Reviewers: timshen Subscribers: nemanjai, cfe-commits Differential Revision: https://reviews.llvm.org/D25647 llvm-svn: 284873
This commit is contained in:
@@ -97,8 +97,13 @@ void SpecialMemberFunctionsCheck::check(
|
||||
{"move-assign", SpecialMemberFunctionKind::MoveAssignment}};
|
||||
|
||||
for (const auto &KV : Matchers)
|
||||
if (Result.Nodes.getNodeAs<CXXMethodDecl>(KV.first))
|
||||
ClassWithSpecialMembers[ID].insert(KV.second);
|
||||
if (Result.Nodes.getNodeAs<CXXMethodDecl>(KV.first)) {
|
||||
SpecialMemberFunctionKind Kind = KV.second;
|
||||
llvm::SmallVectorImpl<SpecialMemberFunctionKind> &Members =
|
||||
ClassWithSpecialMembers[ID];
|
||||
if (find(Members, Kind) == Members.end())
|
||||
Members.push_back(Kind);
|
||||
}
|
||||
}
|
||||
|
||||
void SpecialMemberFunctionsCheck::onEndOfTranslationUnit() {
|
||||
@@ -125,7 +130,7 @@ void SpecialMemberFunctionsCheck::onEndOfTranslationUnit() {
|
||||
std::back_inserter(UndefinedSpecialMembers));
|
||||
|
||||
diag(C.first.first, "class '%0' defines %1 but does not define %2")
|
||||
<< C.first.second << join(DefinedSpecialMembers.getArrayRef(), " and ")
|
||||
<< C.first.second << join(DefinedSpecialMembers, " and ")
|
||||
<< join(UndefinedSpecialMembers, " or ");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user