This revision was automatically updated to reflect the committed changes. Closed by commit rL369076: [clang-tidy] Migrate objc-forbidden-subclassing to use isDerivedFrom 🚛 (authored by stephanemoore, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits.
Changed prior to commit: https://reviews.llvm.org/D66269?vs=215305&id=215519#toc Repository: rL LLVM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D66269/new/ https://reviews.llvm.org/D66269 Files: clang-tools-extra/trunk/clang-tidy/objc/ForbiddenSubclassingCheck.cpp Index: clang-tools-extra/trunk/clang-tidy/objc/ForbiddenSubclassingCheck.cpp =================================================================== --- clang-tools-extra/trunk/clang-tidy/objc/ForbiddenSubclassingCheck.cpp +++ clang-tools-extra/trunk/clang-tidy/objc/ForbiddenSubclassingCheck.cpp @@ -37,33 +37,6 @@ "UITextInputMode;" "UIWebView"; -/// \brief Matches Objective-C classes that directly or indirectly -/// have a superclass matching \c Base. -/// -/// Note that a class is not considered to be a subclass of itself. -/// -/// Example matches Y, Z -/// (matcher = objcInterfaceDecl(hasName("X"))) -/// \code -/// @interface X -/// @end -/// @interface Y : X // directly derived -/// @end -/// @interface Z : Y // indirectly derived -/// @end -/// \endcode -AST_MATCHER_P(ObjCInterfaceDecl, isSubclassOf, - ast_matchers::internal::Matcher<ObjCInterfaceDecl>, Base) { - for (const auto *SuperClass = Node.getSuperClass(); - SuperClass != nullptr; - SuperClass = SuperClass->getSuperClass()) { - if (Base.matches(*SuperClass, Finder, Builder)) { - return true; - } - } - return false; -} - } // namespace ForbiddenSubclassingCheck::ForbiddenSubclassingCheck( @@ -82,7 +55,7 @@ Finder->addMatcher( objcInterfaceDecl( - isSubclassOf( + isDerivedFrom( objcInterfaceDecl( hasAnyName( std::vector<StringRef>(
Index: clang-tools-extra/trunk/clang-tidy/objc/ForbiddenSubclassingCheck.cpp =================================================================== --- clang-tools-extra/trunk/clang-tidy/objc/ForbiddenSubclassingCheck.cpp +++ clang-tools-extra/trunk/clang-tidy/objc/ForbiddenSubclassingCheck.cpp @@ -37,33 +37,6 @@ "UITextInputMode;" "UIWebView"; -/// \brief Matches Objective-C classes that directly or indirectly -/// have a superclass matching \c Base. -/// -/// Note that a class is not considered to be a subclass of itself. -/// -/// Example matches Y, Z -/// (matcher = objcInterfaceDecl(hasName("X"))) -/// \code -/// @interface X -/// @end -/// @interface Y : X // directly derived -/// @end -/// @interface Z : Y // indirectly derived -/// @end -/// \endcode -AST_MATCHER_P(ObjCInterfaceDecl, isSubclassOf, - ast_matchers::internal::Matcher<ObjCInterfaceDecl>, Base) { - for (const auto *SuperClass = Node.getSuperClass(); - SuperClass != nullptr; - SuperClass = SuperClass->getSuperClass()) { - if (Base.matches(*SuperClass, Finder, Builder)) { - return true; - } - } - return false; -} - } // namespace ForbiddenSubclassingCheck::ForbiddenSubclassingCheck( @@ -82,7 +55,7 @@ Finder->addMatcher( objcInterfaceDecl( - isSubclassOf( + isDerivedFrom( objcInterfaceDecl( hasAnyName( std::vector<StringRef>(
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits