This revision was automatically updated to reflect the committed changes.
sammccall marked 4 inline comments as done.
Closed by commit rL364519: [clangd] Address limitations in SelectionTree:
(authored by sammccall, committed by ).
Herald added a project: LLVM.
Herald added a subscriber: llvm-comm
kadircet accepted this revision.
kadircet added a comment.
This revision is now accepted and ready to land.
LGTM, thanks!
Comment at: clangd/Selection.cpp:45
+ if (R.first > Begin)
+return false; // [R.First, Begin) is not covered.
+ if (Begin < R.second)
sammccall updated this revision to Diff 206531.
sammccall marked 2 inline comments as done.
sammccall added a comment.
Revert multi-range support. Add early hit detection (before children) instead.
Add more tests.
Repository:
rCTE Clang Tools Extra
CHANGES SINCE LAST ACTION
https://reviews.
sammccall planned changes to this revision.
sammccall marked 2 inline comments as done.
sammccall added a comment.
Thanks for the comments here and the offline discussion.
The problems identified were:
- when a node's range is adjusted, then invisible parents (like
ExprWithCleanups) don't adj
kadircet added a comment.
Also there were some offline discussions around, handling of "invisible
nodes"(e.g, `ExprWithCleanups`) and other types of typelocs like ParenTypeLocs
and owner of '=' sign in copy/move assignment constructors
Comment at: clangd/Selection.cpp:54
+
+
sammccall created this revision.
sammccall added a reviewer: kadircet.
Herald added subscribers: cfe-commits, arphaman, mgrang, jkorous, MaskRay,
ilya-biryukov.
Herald added a project: clang.
- nodes can have special-cased hit ranges including "holes" (FunctionTypeLoc in
void foo())
- token conf