kadircet added a comment. In D84839#2187222 <https://reviews.llvm.org/D84839#2187222>, @ilya-golovenko wrote:
> @kadircet I decided to add `OnlyChildren` to `enum VisitKind` instead of > making a `VisitKindSet` - this helped to minimize the changes in > `shouldVisit()`. What do you think? SGTM. ================ Comment at: clang-tools-extra/clangd/FindSymbols.cpp:203 return; - llvm::Optional<DocumentSymbol> Sym = declToSym(AST.getASTContext(), *ND); - if (!Sym) - return; - if (Visit == VisitKind::DeclAndChildren) - traverseChildren(D, Sym->children); - Results.push_back(std::move(*Sym)); + if (Visit == VisitKind::OnlyChildren) { + traverseChildren(D, Results); ---------------- ah this is complicated now, but at least for the sake of nestedness: ``` if (Visit == OnlyChildren) return traverseChildren; // We must have the Decl in the result set. auto *ND = llvm::cast<NamedDecl>(D); auto Sym = declToSym(AST.getASTContext(), *ND); if (!Sym) return; Results.push_back(std::move(*Sym)); if(Visit == OnlyDecl) return; assert(Visit == DeclAndChildren && "Unexpected VisitKind"); traverseChildren(Result.back()->children); ``` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84839/new/ https://reviews.llvm.org/D84839 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits