hokein added inline comments.
================ Comment at: clang-tools-extra/clangd/ClangdServer.cpp:81 + unsigned FileSize = SM.getFileEntryForID(MainFileID)->getSize(); + int NLines = AST.getSourceManager().getLineNumber(MainFileID, FileSize); + ---------------- from the comment of the getLineNumber, this is not cheap to call this method. We may use `SM.getBufferData(MainFileID).count('\n')` to count the line numbers. ``` // This requires building and caching a table of line offsets for the /// MemoryBuffer, so this is not cheap: use only when about to emit a /// diagnostic. ``` ================ Comment at: clang-tools-extra/clangd/ClangdServer.h:55 /// Called by ClangdServer when some \p Highlightings for \p File are ready. - virtual void - onHighlightingsReady(PathRef File, - std::vector<HighlightingToken> Highlightings) {} + /// \p NLines are the number of lines in the file, needed to make sure that + /// any diffing does not add lines beyond EOF. ---------------- nit: drop the `needed ...`, this is an interface, don't mention the details of subclass (diffs are subclass implementation details). Maybe name it "NumLines"? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64475/new/ https://reviews.llvm.org/D64475 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits