Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Avoid migrating existing patches. Phabricator shutdown timeline

nridge (Nathan Ridge)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 4 2018, 8:41 PM (304 w, 2 h)

Recent Activity

Oct 22 2023

nridge added a comment to D93829: [clangd] Support outgoing calls in call hierarchy.

@sammccall, how would you feel about proceeding with the patch in its current state, with the memory usage increase brought down from 8.2% to 2.5% thanks to the combination of the simple lookup optimization + RefKind filtering, and leaving the "deep lookup optimization" to be explored in a future change?

Oct 22 2023, 12:31 AM · Restricted Project, Restricted Project, Restricted Project
nridge updated the diff for D93829: [clangd] Support outgoing calls in call hierarchy.

Address other review comments

Oct 22 2023, 12:28 AM · Restricted Project, Restricted Project, Restricted Project

Oct 21 2023

nridge planned changes to D93829: [clangd] Support outgoing calls in call hierarchy.

The updated patch additionally implements the "simple lookup optimization" discussed in the review.

Oct 21 2023, 11:54 PM · Restricted Project, Restricted Project, Restricted Project
nridge updated the diff for D93829: [clangd] Support outgoing calls in call hierarchy.

Implement the "simple lookup optimization"

Oct 21 2023, 11:51 PM · Restricted Project, Restricted Project, Restricted Project

Oct 18 2023

nridge planned changes to D93829: [clangd] Support outgoing calls in call hierarchy.

The updated patch implements one of the optimizations discussed during review, namely filtering the Refs stored in the RevRefs data structure to just those that could be calls.

Oct 18 2023, 12:18 AM · Restricted Project, Restricted Project, Restricted Project
nridge updated the diff for D93829: [clangd] Support outgoing calls in call hierarchy.

Implement optimization to filter the refs stored in RevRefs to calls only

Oct 18 2023, 12:15 AM · Restricted Project, Restricted Project, Restricted Project

Oct 11 2023

nridge added a comment to D93829: [clangd] Support outgoing calls in call hierarchy.

To be able to reason about the impact of various memory usage optimizations, I took some baseline measurements.

Oct 11 2023, 1:02 AM · Restricted Project, Restricted Project, Restricted Project
nridge planned changes to D93829: [clangd] Support outgoing calls in call hierarchy.
Oct 11 2023, 12:50 AM · Restricted Project, Restricted Project, Restricted Project
nridge commandeered D93829: [clangd] Support outgoing calls in call hierarchy.

So if anyone wants to take it from there, feel free to reuse my commits (or not).

Oct 11 2023, 12:50 AM · Restricted Project, Restricted Project, Restricted Project

Oct 2 2023

nridge updated the diff for D93829: [clangd] Support outgoing calls in call hierarchy.

Rebased to apply to recent trunk

Oct 2 2023, 1:04 AM · Restricted Project, Restricted Project, Restricted Project

Sep 28 2023

nridge added a comment to D145843: [clangd] Add option to always insert headers with <> instead of "".

Thanks for the clarification and suggested formulation.

I'd suggest something like:

Style:
  QuotedHeaders: "path/to/.*"
  AngledHeaders: "path/sdk/.*"

where the regexes can be single or array, and match any suffix (like Diagnostics.Includes.IgnoreHeader)

@ADKaster are you interested in updating the patch to implement this approach?

Sep 28 2023, 11:29 PM · Restricted Project, Restricted Project

Sep 25 2023

nridge accepted D156605: [clangd][CodeComplete] Improve FunctionCanBeCall.

Thank you, the updates look good! Please go ahead and merge after addressing the last minor nits.

Sep 25 2023, 12:43 AM · Restricted Project, Restricted Project, Restricted Project

Sep 11 2023

nridge added a comment to D138546: Clangd: Preserve target flags in system includes extractor.

This can be closed, as the change has been made in https://github.com/llvm/llvm-project/pull/65824

Sep 11 2023, 1:12 AM · Restricted Project, Restricted Project, Restricted Project
nridge committed rG94b14355e2ef: [clangd] allow extracting to variable for lambda expressions (authored by 5chmidti).
[clangd] allow extracting to variable for lambda expressions
Sep 11 2023, 1:04 AM · Restricted Project, Restricted Project
nridge closed D141757: [clangd] allow extracting to variable for lambda expressions.
Sep 11 2023, 1:04 AM · Restricted Project, Restricted Project

Sep 10 2023

nridge accepted D141757: [clangd] allow extracting to variable for lambda expressions.

I'm fine with allowing partial selection for consistency with other expressions.

Sep 10 2023, 12:37 AM · Restricted Project, Restricted Project

Sep 9 2023

nridge abandoned D139277: [clangd] Use all query-driver arguments in cache key.
Sep 9 2023, 12:49 AM · Restricted Project, Restricted Project
nridge commandeered D139277: [clangd] Use all query-driver arguments in cache key.
Sep 9 2023, 12:49 AM · Restricted Project, Restricted Project
nridge added a comment to D139277: [clangd] Use all query-driver arguments in cache key.

This was superseded by D146941.

Sep 9 2023, 12:49 AM · Restricted Project, Restricted Project

Sep 6 2023

nridge accepted D158804: [Clang] Fix crash in Parser::ParseDirectDeclarator by adding check that token is not an annotation token .

I'm not well versed in the parser code, but the fix clearly avoids the assertion in getIdentifierInfo(), and both @aaron.ballman and @rjmccall indicated in the issue discussion that this fix is appropriate, so I will take the liberty of approving this.

Sep 6 2023, 1:20 AM · Restricted Project, Restricted Project

Sep 5 2023

nridge accepted D158926: [clangd] Show parameter hints for operator().
Sep 5 2023, 1:19 AM · Restricted Project, Restricted Project
nridge requested changes to D156605: [clangd][CodeComplete] Improve FunctionCanBeCall.
Sep 5 2023, 12:58 AM · Restricted Project, Restricted Project, Restricted Project

Sep 4 2023

nridge added a comment to D141757: [clangd] allow extracting to variable for lambda expressions.

(Otherwise the updates look good!)

Sep 4 2023, 1:43 AM · Restricted Project, Restricted Project
nridge requested changes to D141757: [clangd] allow extracting to variable for lambda expressions.
Sep 4 2023, 1:42 AM · Restricted Project, Restricted Project
nridge added inline comments to D141757: [clangd] allow extracting to variable for lambda expressions.
Sep 4 2023, 1:19 AM · Restricted Project, Restricted Project

Aug 31 2023

nridge added a comment to D153114: [clangd] [C++20] [Modules] Support C++20 modules for clangd.

However, I can't search the caller of reparseOpenFilesIfNeeded which semantics matches the behavior. The two callers of reparseOpenFilesIfNeeded I found are ClangdLSPServer::applyConfiguration() and ClangdLSPServer::onDocumentDidSave() and neither of them matches description files included in the preamble have been modified.

So I want to ask what's the behavior when I update a header and where is the corresponding code. Thanks.

Aug 31 2023, 1:13 AM · Restricted Project, Restricted Project

Aug 26 2023

nridge added a comment to D156605: [clangd][CodeComplete] Improve FunctionCanBeCall.

(I'm away on travels, will get back to this within the next week)

Aug 26 2023, 6:51 AM · Restricted Project, Restricted Project, Restricted Project

Aug 25 2023

nridge committed rGf0f53cb4bfb2: [clangd] Do not ignore qualifier in heuristic resolution of dependent MemberExpr (authored by nridge).
[clangd] Do not ignore qualifier in heuristic resolution of dependent MemberExpr
Aug 25 2023, 1:55 PM · Restricted Project, Restricted Project
nridge closed D158873: [clangd] Do not ignore qualifier in heuristic resolution of dependent MemberExpr.
Aug 25 2023, 1:54 PM · Restricted Project, Restricted Project
nridge updated the summary of D158873: [clangd] Do not ignore qualifier in heuristic resolution of dependent MemberExpr.
Aug 25 2023, 1:53 PM · Restricted Project, Restricted Project
nridge updated the diff for D158873: [clangd] Do not ignore qualifier in heuristic resolution of dependent MemberExpr.

Address review comment

Aug 25 2023, 1:53 PM · Restricted Project, Restricted Project
nridge requested review of D158873: [clangd] Do not ignore qualifier in heuristic resolution of dependent MemberExpr.
Aug 25 2023, 11:57 AM · Restricted Project, Restricted Project
nridge committed rG1994e1173b64: [clangd] Avoid null result in FindRecordTypeAt() (authored by nridge).
[clangd] Avoid null result in FindRecordTypeAt()
Aug 25 2023, 8:50 AM · Restricted Project, Restricted Project
nridge closed D158851: [clangd] Avoid null result in FindRecordTypeAt().
Aug 25 2023, 8:50 AM · Restricted Project, Restricted Project
nridge updated the summary of D158851: [clangd] Avoid null result in FindRecordTypeAt().
Aug 25 2023, 8:16 AM · Restricted Project, Restricted Project
nridge requested review of D158851: [clangd] Avoid null result in FindRecordTypeAt().
Aug 25 2023, 8:16 AM · Restricted Project, Restricted Project

Aug 24 2023

nridge added a comment to D157990: [clangd] Add --query-driver flag to clangd-indexer.

Committed, thanks!

Aug 24 2023, 8:54 AM · Restricted Project, Restricted Project
nridge committed rG109bc024c8d7: [clangd] Add --query-driver flag to clangd-indexer (authored by nridge).
[clangd] Add --query-driver flag to clangd-indexer
Aug 24 2023, 8:52 AM · Restricted Project, Restricted Project
nridge closed D157990: [clangd] Add --query-driver flag to clangd-indexer.
Aug 24 2023, 8:52 AM · Restricted Project, Restricted Project

Aug 21 2023

nridge added a comment to D153114: [clangd] [C++20] [Modules] Support C++20 modules for clangd.

Dep scanning - roles

IIUC we do this for two reasons:

  • to identify what module names we must have PCMs for in order to build a given TU (either an open file, or a module we're building as PCM)
  • to build a database mapping module name => filename, which we compose with the CDB to know how to build a PCM for a given module name

I think it would be good to clearly separate these. The latter is simpler, more performance-critical, async, and is probably not used at all if the build system can tell us this mapping.
The latter is more complex, and will always be needed synchronously for the mainfile regardless of the build system.

Aug 21 2023, 12:01 PM · Restricted Project, Restricted Project

Aug 20 2023

nridge accepted D157990: [clangd] Add --query-driver flag to clangd-indexer.

Thanks for the patch!

Aug 20 2023, 12:34 AM · Restricted Project, Restricted Project
nridge accepted D157956: [clangd] don't add inlay hint for dependent type in structured binding.

A future enhancement to consider could be, in the following testcase:

Aug 20 2023, 12:01 AM · Restricted Project, Restricted Project

Aug 18 2023

nridge committed rG8ee710a40cc5: [clangd] Parameter hints for calls through function pointers (authored by nridge).
[clangd] Parameter hints for calls through function pointers
Aug 18 2023, 8:41 PM · Restricted Project, Restricted Project
nridge closed D158249: [clangd] Parameter hints for calls through function pointers.
Aug 18 2023, 8:41 PM · Restricted Project, Restricted Project
nridge added inline comments to D158249: [clangd] Parameter hints for calls through function pointers.
Aug 18 2023, 8:40 PM · Restricted Project, Restricted Project
nridge updated the diff for D158249: [clangd] Parameter hints for calls through function pointers.

Address review comments

Aug 18 2023, 8:39 PM · Restricted Project, Restricted Project
nridge committed rG744b111434b2: [clangd] Bail gracefully if given an assembly or IR source file (authored by nridge).
[clangd] Bail gracefully if given an assembly or IR source file
Aug 18 2023, 8:27 PM · Restricted Project, Restricted Project
nridge closed D149236: [clangd] Bail gracefully if given an assembly or IR source file.
Aug 18 2023, 8:26 PM · Restricted Project, Restricted Project
nridge updated the diff for D149236: [clangd] Bail gracefully if given an assembly or IR source file.

Address review comment

Aug 18 2023, 8:25 PM · Restricted Project, Restricted Project
nridge committed rG3e69886dd012: [clangd] Fix incorrect RecursiveASTVisitor usage in summarizeExpr() (authored by nridge).
[clangd] Fix incorrect RecursiveASTVisitor usage in summarizeExpr()
Aug 18 2023, 8:03 PM · Restricted Project, Restricted Project
nridge closed D158248: [clangd] Fix incorrect RecursiveASTVisitor usage in summarizeExpr().
Aug 18 2023, 8:03 PM · Restricted Project, Restricted Project
nridge requested changes to D141757: [clangd] allow extracting to variable for lambda expressions.

Ok, I've finished looking through the patch; sorry it took so long to get to.

Aug 18 2023, 1:42 AM · Restricted Project, Restricted Project

Aug 17 2023

nridge added inline comments to D158249: [clangd] Parameter hints for calls through function pointers.
Aug 17 2023, 11:14 PM · Restricted Project, Restricted Project
nridge updated the diff for D158249: [clangd] Parameter hints for calls through function pointers.

Fix naming nit

Aug 17 2023, 11:12 PM · Restricted Project, Restricted Project
nridge added inline comments to D158249: [clangd] Parameter hints for calls through function pointers.
Aug 17 2023, 11:03 PM · Restricted Project, Restricted Project
nridge updated the summary of D158249: [clangd] Parameter hints for calls through function pointers.
Aug 17 2023, 10:57 PM · Restricted Project, Restricted Project
nridge requested review of D158249: [clangd] Parameter hints for calls through function pointers.
Aug 17 2023, 10:57 PM · Restricted Project, Restricted Project
nridge requested review of D158248: [clangd] Fix incorrect RecursiveASTVisitor usage in summarizeExpr().
Aug 17 2023, 10:18 PM · Restricted Project, Restricted Project
nridge committed rGbd74186f1a08: [clangd] Avoid passing -xobjective-c++-header to the system include extractor (authored by nridge).
[clangd] Avoid passing -xobjective-c++-header to the system include extractor
Aug 17 2023, 9:40 PM · Restricted Project, Restricted Project
nridge closed D147905: [clangd] Avoid passing -xobjective-c++-header to the system include extractor.
Aug 17 2023, 9:40 PM · Restricted Project, Restricted Project
nridge updated the diff for D147905: [clangd] Avoid passing -xobjective-c++-header to the system include extractor.

Rebase and address review comment

Aug 17 2023, 9:39 PM · Restricted Project, Restricted Project
nridge committed rGd9cb76bc4d5e: [clang] Support function pointer types with attributes when extracting… (authored by nridge).
[clang] Support function pointer types with attributes when extracting…
Aug 17 2023, 9:27 PM · Restricted Project, Restricted Project, Restricted Project
nridge closed D157952: [clang] Support function pointer types with attributes when extracting parameter names for signature help.
Aug 17 2023, 9:27 PM · Restricted Project, Restricted Project, Restricted Project
nridge updated the diff for D157952: [clang] Support function pointer types with attributes when extracting parameter names for signature help.

Address review comment

Aug 17 2023, 9:24 PM · Restricted Project, Restricted Project, Restricted Project
nridge added a reviewer for D149236: [clangd] Bail gracefully if given an assembly or IR source file: sammccall.

Adding Sam, since you're on a review roll ;)

Aug 17 2023, 7:44 PM · Restricted Project, Restricted Project

Aug 14 2023

nridge requested review of D157952: [clang] Support function pointer types with attributes when extracting parameter names for signature help.
Aug 14 2023, 11:50 PM · Restricted Project, Restricted Project, Restricted Project
nridge added a comment to D157080: [clangd] Symbol search includes parameter types for (member) functions.

I understood https://github.com/clangd/clangd/issues/1344 as being about workspace/symbol rather than textDocument/documentSymbol, though I see now that both are affected.

Aug 14 2023, 9:21 AM · Restricted Project, Restricted Project
nridge added a comment to D141757: [clangd] allow extracting to variable for lambda expressions.

Haven't looked at everything yet, but wanted to mention one thing I noticed.

Aug 14 2023, 12:17 AM · Restricted Project, Restricted Project

Aug 12 2023

nridge added a comment to D156605: [clangd][CodeComplete] Improve FunctionCanBeCall.

Thanks for the patch, these are nice improvements

Aug 12 2023, 11:44 PM · Restricted Project, Restricted Project, Restricted Project

Aug 10 2023

nridge added a comment to D141757: [clangd] allow extracting to variable for lambda expressions.

I promise I haven't forgotten about this. It's just been a challenge finding a large enough chunk of time to page in all the relevant context and think through the issues. Maybe this weekend...

Aug 10 2023, 8:28 AM · Restricted Project, Restricted Project

Aug 2 2023

nridge added a comment to D155370: [CodeComplete] Improve FunctionCanBeCall.

in the context where CanBeCall=false, parameters don't disambiguate against the overloads, so we'd end up with the same function name after selecting the candidate

Aug 2 2023, 12:45 AM · Restricted Project, Restricted Project, Restricted Project

Jul 31 2023

nridge accepted D156300: [clangd] Avoid unexpected desugaring in isSugaredTemplateParameter.

Thanks!

Jul 31 2023, 11:48 PM · Restricted Project, Restricted Project, Restricted Project
nridge accepted D150124: [index][clangd] Consider labels when indexing function bodies.

LGTM

Jul 31 2023, 6:19 PM · Restricted Project, Restricted Project, Restricted Project
nridge added inline comments to D156300: [clangd] Avoid unexpected desugaring in isSugaredTemplateParameter.
Jul 31 2023, 1:12 AM · Restricted Project, Restricted Project, Restricted Project
nridge added a comment to D155370: [CodeComplete] Improve FunctionCanBeCall.

I'm not sure how I feel about dropping the parameters from the signature in the CanBeCall = false case.

Jul 31 2023, 12:48 AM · Restricted Project, Restricted Project, Restricted Project

Jul 29 2023

nridge added a comment to D156300: [clangd] Avoid unexpected desugaring in isSugaredTemplateParameter.

Your patience is appreciated. I have a number of patches in my review queue, and 3 days is often not a realistic turnaround time for me.

Jul 29 2023, 6:34 PM · Restricted Project, Restricted Project, Restricted Project

Jul 28 2023

nridge added a comment to D150124: [index][clangd] Consider labels when indexing function bodies.

btw, thanks a lot Nathan for taking good care of clangd, I don't think I say that enough

Jul 28 2023, 7:35 PM · Restricted Project, Restricted Project, Restricted Project
nridge added inline comments to D150124: [index][clangd] Consider labels when indexing function bodies.
Jul 28 2023, 7:34 PM · Restricted Project, Restricted Project, Restricted Project
nridge committed rG5ddc37189032: [clang] [libIndex] Remove unused 'RefD' parameter of IndexingContext… (authored by nridge).
[clang] [libIndex] Remove unused 'RefD' parameter of IndexingContext…
Jul 28 2023, 6:37 PM · Restricted Project, Restricted Project
nridge closed D156513: [clang] [libIndex] Remove unused 'RefD' parameter of IndexingContext::handleReference().
Jul 28 2023, 6:36 PM · Restricted Project, Restricted Project
nridge added a comment to D156513: [clang] [libIndex] Remove unused 'RefD' parameter of IndexingContext::handleReference().

Noticed this while reviewing D150124. No caller was providing a value for this parameter.

Jul 28 2023, 1:08 AM · Restricted Project, Restricted Project
nridge requested review of D156513: [clang] [libIndex] Remove unused 'RefD' parameter of IndexingContext::handleReference().
Jul 28 2023, 1:07 AM · Restricted Project, Restricted Project
nridge added a reviewer for D147905: [clangd] Avoid passing -xobjective-c++-header to the system include extractor: sammccall.

Adding Sam as well in case he has any thoughts on the discussion (another user ran into this recently and filed https://github.com/clangd/clangd/issues/1694)

Jul 28 2023, 12:39 AM · Restricted Project, Restricted Project
nridge added a comment to D150124: [index][clangd] Consider labels when indexing function bodies.

In clangd we also have findExplicitReferences and targetDecl functions that seem to handle the GoToStmt.
In fact, I believe they are used in findDocumentHighlights, so I'm not sure why your test did not work before this patch.
findDocumentHighlights

Jul 28 2023, 12:35 AM · Restricted Project, Restricted Project, Restricted Project

Jul 21 2023

nridge committed rG2e7d711a1061: [clang] Add serialization support for the DynamicAllocLValue variant of APValue… (authored by nridge).
[clang] Add serialization support for the DynamicAllocLValue variant of APValue…
Jul 21 2023, 8:17 PM · Restricted Project, Restricted Project
nridge closed D154471: [clang] Add serialization support for the DynamicAllocLValue variant of APValue::LValueBase::Ptr.
Jul 21 2023, 8:17 PM · Restricted Project, Restricted Project
nridge abandoned D153946: [clangd] Add a flag to allow indexing of reserved identifiers.

Abandoning in favour of D155381.

Jul 21 2023, 2:40 PM · Restricted Project, Restricted Project
nridge updated the diff for D154471: [clang] Add serialization support for the DynamicAllocLValue variant of APValue::LValueBase::Ptr.

Add testcase

Jul 21 2023, 1:07 AM · Restricted Project, Restricted Project
nridge added a comment to D153946: [clangd] Add a flag to allow indexing of reserved identifiers.

Yeah, I'm happy to go with D155381 instead.

Jul 21 2023, 12:56 AM · Restricted Project, Restricted Project
nridge accepted D155381: [clangd] Allow indexing of __reserved_names outside system headers.

Thanks! I agree that this no-configuration approach is nicer.

Jul 21 2023, 12:52 AM · Restricted Project, Restricted Project

Jul 17 2023

nridge added a comment to D140745: Generate Config {Fragment structure, json schema, docs, YAML parser} from schema spec.

ping on this one for when you have time

Jul 17 2023, 6:32 PM · Restricted Project, Restricted Project

Jul 16 2023

nridge added inline comments to D154853: [clangd][c++20]Consider the constraint of a constrained auto in FindTarget..
Jul 16 2023, 1:08 PM · Restricted Project, Restricted Project
nridge added inline comments to D154853: [clangd][c++20]Consider the constraint of a constrained auto in FindTarget..
Jul 16 2023, 1:04 PM · Restricted Project, Restricted Project
nridge added a comment to D78038: [clangd] WIP: fix several bugs relating to include insertion.

Also adding links to the open issues this fixes:

Jul 16 2023, 12:48 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
nridge added reviewers for D78038: [clangd] WIP: fix several bugs relating to include insertion: hokein, kadircet, VitaNuo.

Let's try adding some reviewers

Jul 16 2023, 12:30 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Jul 11 2023

nridge resigned from D153114: [clangd] [C++20] [Modules] Support C++20 modules for clangd.

I'm sorry, I feel like I don't have a good enough level of insight into the requirements to usefully critique this patch, nor the bandwidth to take a detailed look through the implementation right now.

Jul 11 2023, 11:34 PM · Restricted Project, Restricted Project
nridge planned changes to D154471: [clang] Add serialization support for the DynamicAllocLValue variant of APValue::LValueBase::Ptr.

Thank you for the suggested testcase!

Jul 11 2023, 11:27 PM · Restricted Project, Restricted Project

Jul 10 2023

nridge added a reviewer for D154903: clangd: Provide the resource dir via environment variable: sammccall.

Looks reasonable to me but Sam should OK this.

Jul 10 2023, 11:50 PM · Restricted Project, Restricted Project

Jul 8 2023

nridge added reviewers for D154471: [clang] Add serialization support for the DynamicAllocLValue variant of APValue::LValueBase::Ptr: hokein, kadircet, shafik.
Jul 8 2023, 3:19 PM · Restricted Project, Restricted Project
nridge published D154471: [clang] Add serialization support for the DynamicAllocLValue variant of APValue::LValueBase::Ptr for review.

Requesting review.

Jul 8 2023, 3:17 PM · Restricted Project, Restricted Project