diff --git a/clang-tools-extra/clangd/Selection.cpp b/clang-tools-extra/clangd/Selection.cpp --- a/clang-tools-extra/clangd/Selection.cpp +++ b/clang-tools-extra/clangd/Selection.cpp @@ -501,7 +501,7 @@ // - those without source range information, we don't record those // - those that can't be stored in DynTypedNode. bool TraverseDecl(Decl *X) { - if (X && isa(X)) + if (isa_and_nonnull(X)) return Base::TraverseDecl(X); // Already pushed by constructor. // Base::TraverseDecl will suppress children, but not this node itself. if (X && X->isImplicit())