[clang-tools-extra] [Clang-Tidy] Handle nested-name-specifier in "llvm-prefer-isa-or-dyn-cast-in-conditionals" (PR #155982)

Congcong Cai via cfe-commits cfe-commits at lists.llvm.org
Sun Aug 31 16:30:59 PDT 2025


================
@@ -76,6 +136,16 @@ bool foo(Y *y, Z *z) {
   // CHECK-MESSAGES: :[[@LINE-2]]:7: warning: isa_and_nonnull<> is preferred
   // CHECK-FIXES: if (isa_and_nonnull<Y>(z->bar()))
 
+  if (z->bar() && cast_or_null<Y>(z->bar()))
+    return true;
+  // CHECK-MESSAGES: :[[@LINE-2]]:7: warning: isa_and_nonnull<> is preferred
+  // CHECK-FIXES: if (isa_and_nonnull<Y>(z->bar()))
+
+  if (z->bar() && cast_if_present<Y>(z->bar()))
+    return true;
+  // CHECK-MESSAGES: :[[@LINE-2]]:7: warning: isa_and_nonnull<> is preferred
+  // CHECK-FIXES: if (isa_and_nonnull<Y>(z->bar()))
----------------
HerrCai0907 wrote:

Is it more simple to hard code `_present`? since `_or_null` is deprecated. I don't think we should put effort to here.

https://github.com/llvm/llvm-project/pull/155982


More information about the cfe-commits mailing list