-
Notifications
You must be signed in to change notification settings - Fork 1.4k
[cling] Use clang-repl-style code completion #19375
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[cling] Use clang-repl-style code completion #19375
Conversation
Test Results 21 files 21 suites 3d 7h 54m 42s ⏱️ Results for commit 8e34dcb. ♻️ This comment has been updated with latest results. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, looks mostly good to me! Some minor comments on the calling convention / error return semantics of CreateCI (and sorry for the delay in reviewing the PR)
interpreter/cling/include/cling/Interpreter/ClingCodeCompleteConsumer.h
Outdated
Show resolved
Hide resolved
This patch tries to mirror the approach taken by clang-repl for autocomplete, will enable auto-complete without the overhead of a full nested interpreter
This patch eliminates the need to create a nested interpreter for code completion. In LLVM 19, some Sema internals became private: See llvm/llvm-project@874f511 Without this, we would require an additional patch on top of Clang to access `Sema::CodeCompleter` after upgrading to LLVM 20.
5cb49d0 to
8e34dcb
Compare
hahnjo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks!
This Pull request:
This patch eliminates the need to create a nested interpreter for code
completion.
In LLVM 19, some Sema internals became private:
See llvm/llvm-project@874f511
Without this, we would require an additional patch on top of Clang to
access
Sema::CodeCompleterafter upgrading to LLVM 20.This will fix one of the failing test during upgrade in CppInterOp (autocomplete)
Changes or fixes:
Checklist:
This PR fixes #