Page MenuHomePhabricator

dgoldman (David Goldman)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 26 2018, 1:58 PM (105 w, 7 h)

Recent Activity

Tue, Oct 20

dgoldman committed rGd5c022d84699: [clangd][ObjC] Support nullability annotations (authored by dgoldman).
[clangd][ObjC] Support nullability annotations
Tue, Oct 20, 2:37 PM
dgoldman closed D89579: [clangd][ObjC] Support nullability annotations.
Tue, Oct 20, 2:37 PM · Restricted Project
dgoldman updated the diff for D89579: [clangd][ObjC] Support nullability annotations.

Revert to previous AttributedTypeLoc behavior

Tue, Oct 20, 7:38 AM · Restricted Project
dgoldman added a comment to D89579: [clangd][ObjC] Support nullability annotations.

Yep, let's revert to the previous state and land that, and I'll puzzle over the examples you give (because always returning false shouldn't affect behavior, just performance).

I have put together D89785 for more general attribute support, and it has a generalization of the fix here. (It returns false for any node with an attribute attached).
But it's worth landing this first as it has good tests for the objc cases, and that patch has its own prerequisites and risks of regressions.
(Not a timely coincidence, rather I got curious about the AST around Attrs after seeing this patch)

Tue, Oct 20, 7:10 AM · Restricted Project

Mon, Oct 19

dgoldman added inline comments to D89579: [clangd][ObjC] Support nullability annotations.
Mon, Oct 19, 9:01 AM · Restricted Project
dgoldman added a comment to D89579: [clangd][ObjC] Support nullability annotations.

With that change, somehow this extract test is now failing:

Mon, Oct 19, 6:45 AM · Restricted Project
dgoldman updated the diff for D89579: [clangd][ObjC] Support nullability annotations.

Update with changes requested

Mon, Oct 19, 6:41 AM · Restricted Project

Fri, Oct 16

dgoldman updated the diff for D89579: [clangd][ObjC] Support nullability annotations.

Fix merge

Fri, Oct 16, 2:30 PM · Restricted Project
dgoldman updated the diff for D89579: [clangd][ObjC] Support nullability annotations.

Lint fixes

Fri, Oct 16, 2:26 PM · Restricted Project
dgoldman added inline comments to D89579: [clangd][ObjC] Support nullability annotations.
Fri, Oct 16, 11:42 AM · Restricted Project
dgoldman added a reviewer for D89579: [clangd][ObjC] Support nullability annotations: sammccall.
Fri, Oct 16, 11:41 AM · Restricted Project
dgoldman requested review of D89579: [clangd][ObjC] Support nullability annotations.
Fri, Oct 16, 11:40 AM · Restricted Project

Aug 11 2020

dgoldman committed rGcb29c33984bf: [clangd][ObjC] Improve xrefs for protocols and classes (authored by dgoldman).
[clangd][ObjC] Improve xrefs for protocols and classes
Aug 11 2020, 9:37 AM
dgoldman closed D83501: [clangd][ObjC] Improve xrefs for protocols and classes.
Aug 11 2020, 9:37 AM · Restricted Project
dgoldman added inline comments to D83501: [clangd][ObjC] Improve xrefs for protocols and classes.
Aug 11 2020, 9:35 AM · Restricted Project
dgoldman updated the diff for D83501: [clangd][ObjC] Improve xrefs for protocols and classes.
  • Final touches
Aug 11 2020, 9:34 AM · Restricted Project

Aug 10 2020

dgoldman updated the diff for D83501: [clangd][ObjC] Improve xrefs for protocols and classes.

Rebase + lint fix

Aug 10 2020, 10:14 AM · Restricted Project

Jul 27 2020

dgoldman added a comment to D83501: [clangd][ObjC] Improve xrefs for protocols and classes.

(Sorry this has been pending a while - I think it's basically there. Only things we really need to address to land this is have a consistent view of what the canonical decl is for the no-@interface case, and avoid too much duplication of mechanisms in the tests)

Jul 27 2020, 8:33 AM · Restricted Project
dgoldman updated the diff for D83501: [clangd][ObjC] Improve xrefs for protocols and classes.
  • More fixes for review
Jul 27 2020, 8:33 AM · Restricted Project

Jul 24 2020

dgoldman committed rG3c1fca803bc1: Fix issue in typo handling which could lead clang to hang (authored by dgoldman).
Fix issue in typo handling which could lead clang to hang
Jul 24 2020, 2:36 PM

Jul 23 2020

dgoldman updated the diff for D83501: [clangd][ObjC] Improve xrefs for protocols and classes.

Rebase

Jul 23 2020, 6:22 AM · Restricted Project

Jul 20 2020

dgoldman committed rGdde98c82c0ad: Fix issue in typo handling which could lead clang to hang (authored by dgoldman).
Fix issue in typo handling which could lead clang to hang
Jul 20 2020, 8:42 AM
dgoldman closed D84067: Fix issue in typo handling which could lead clang to hang.
Jul 20 2020, 8:42 AM · Restricted Project

Jul 17 2020

dgoldman updated the diff for D84067: Fix issue in typo handling which could lead clang to hang.

Rebase

Jul 17 2020, 1:27 PM · Restricted Project
dgoldman updated the diff for D84067: Fix issue in typo handling which could lead clang to hang.
  • CheckAndAdvanceTypoExprCorrectionStreams comment fix
Jul 17 2020, 12:55 PM · Restricted Project
dgoldman updated the diff for D84067: Fix issue in typo handling which could lead clang to hang.
  • Minor comment fix
Jul 17 2020, 12:10 PM · Restricted Project
Herald added a project to D84067: Fix issue in typo handling which could lead clang to hang: Restricted Project.
Jul 17 2020, 12:09 PM · Restricted Project
dgoldman updated the diff for D83501: [clangd][ObjC] Improve xrefs for protocols and classes.
  • Minor test and formatting fixes
Jul 17 2020, 6:22 AM · Restricted Project
dgoldman added a comment to D83501: [clangd][ObjC] Improve xrefs for protocols and classes.

I implemented goto-definition from Foo() --> Foo impl in Xrefs, on the symbolcollector side I don't think there's anything to do?

This can't be done purely in xrefs as the AST may not be available.

A.m: @class Foo; ^Foo x; <-- go-to-definition at ^
B.m: @interface Foo...@end @implementation Foo...@end

The index needs to know that for the USR associated with the @class (found by targetDecl), the canonical decl is the @interface in B and the definition is the @implementation in B.
So SymbolCollector needs to see it as a definition. The tests seem to show it does already, but it's not obvious why from the code. Do you know? Maybe it's the fact that they share a USR and thus a symbol ID. This is worth making explicit somewhere.

Think we're talking about different things. See ObjCClassExtensions in SymbolCollectorTests which I added, the idea is that the Cat () can link to the implementation like I added to XRefs, but I'm not sure how this should be represented. As for @class -> @interface/@implementation those should have the same USR, yes.

Oh, sorry I indeed missed the parens.
Yes, this is a go-to-def special case, SymbolCollector shouldn't need anything. (I'm assuming that a reference to the class is reported already - could add a test that the ref exists if you like).

Jul 17 2020, 6:21 AM · Restricted Project

Jul 15 2020

dgoldman added inline comments to D83501: [clangd][ObjC] Improve xrefs for protocols and classes.
Jul 15 2020, 2:34 PM · Restricted Project
dgoldman updated the diff for D83501: [clangd][ObjC] Improve xrefs for protocols and classes.

SymbolCollector fixes + more tests

Jul 15 2020, 2:32 PM · Restricted Project
dgoldman added a comment to D83501: [clangd][ObjC] Improve xrefs for protocols and classes.

I implemented goto-definition from Foo() --> Foo impl in Xrefs, on the symbolcollector side I don't think there's anything to do?

This can't be done purely in xrefs as the AST may not be available.

A.m: @class Foo; ^Foo x; <-- go-to-definition at ^
B.m: @interface Foo...@end @implementation Foo...@end

The index needs to know that for the USR associated with the @class (found by targetDecl), the canonical decl is the @interface in B and the definition is the @implementation in B.
So SymbolCollector needs to see it as a definition. The tests seem to show it does already, but it's not obvious why from the code. Do you know? Maybe it's the fact that they share a USR and thus a symbol ID. This is worth making explicit somewhere.

Jul 15 2020, 2:00 PM · Restricted Project

Jul 14 2020

dgoldman updated the diff for D83501: [clangd][ObjC] Improve xrefs for protocols and classes.

Minor lint fixes

Jul 14 2020, 6:51 AM · Restricted Project

Jul 13 2020

dgoldman updated the diff for D83501: [clangd][ObjC] Improve xrefs for protocols and classes.

Rebase

Jul 13 2020, 3:58 PM · Restricted Project
dgoldman added a comment to D83501: [clangd][ObjC] Improve xrefs for protocols and classes.

Looking further into the indexing support, I've questions:

  • How targetDecl should behave for these objc container types

(Hmm, targetDecl doesn't seem to canonicalize decls anywhere, which might be a bug, but it's unrelated to objc)

The main thing is that AIUI @implementation is one thing, as far as clang's concerned, while @class+@interface are another.
i.e. getCanonicalDecl() and USR generation both split them into equivalence classes {@implementation} and {@class, @interface}. Is that right?

I believe they share the same USR but besides that, yes that's correct.

Jul 13 2020, 3:56 PM · Restricted Project
dgoldman updated the diff for D83501: [clangd][ObjC] Improve xrefs for protocols and classes.

Fixes for ObjC in SymbolCollector as well as XRefs

Jul 13 2020, 3:09 PM · Restricted Project
dgoldman added inline comments to D83501: [clangd][ObjC] Improve xrefs for protocols and classes.
Jul 13 2020, 9:29 AM · Restricted Project

Jul 10 2020

dgoldman committed rGea201e83e292: [AST][ObjC] Fix crash when printing invalid objc categories (authored by dgoldman).
[AST][ObjC] Fix crash when printing invalid objc categories
Jul 10 2020, 12:37 PM
dgoldman closed D83513: [AST][ObjC] Fix crash when printing invalid objc categories.
Jul 10 2020, 12:36 PM · Restricted Project
dgoldman updated the diff for D83501: [clangd][ObjC] Improve xrefs for protocols and classes.

rebase, phabricator keeps getting confused

Jul 10 2020, 11:02 AM · Restricted Project
dgoldman updated the diff for D83501: [clangd][ObjC] Improve xrefs for protocols and classes.

Move up null check

Jul 10 2020, 10:58 AM · Restricted Project
dgoldman updated the diff for D83501: [clangd][ObjC] Improve xrefs for protocols and classes.

Find target fixes + symbol collector test

Jul 10 2020, 10:47 AM · Restricted Project
dgoldman added inline comments to D83501: [clangd][ObjC] Improve xrefs for protocols and classes.
Jul 10 2020, 10:12 AM · Restricted Project
dgoldman updated the diff for D83501: [clangd][ObjC] Improve xrefs for protocols and classes.

Swap to getPreferredDecl and improve targetDecl

Jul 10 2020, 10:09 AM · Restricted Project
dgoldman added a comment to D83501: [clangd][ObjC] Improve xrefs for protocols and classes.

I think without index changes this will still give the wrong answer for go-to-definition if the @implementation is in a different file.
Do you want to include those too or will that work ok in a separate patch?
(I'm not 100% sure of the interactions here, possible it'll seem a bit glitchy)

Jul 10 2020, 8:43 AM · Restricted Project
dgoldman updated the diff for D83501: [clangd][ObjC] Improve xrefs for protocols and classes.

Add support for categories + fix tests

Jul 10 2020, 8:27 AM · Restricted Project
dgoldman updated the diff for D83501: [clangd][ObjC] Improve xrefs for protocols and classes.

Fixes for getDefinition/getCanonicalDecl for ObjC

Jul 10 2020, 7:06 AM · Restricted Project
dgoldman added inline comments to D83501: [clangd][ObjC] Improve xrefs for protocols and classes.
Jul 10 2020, 6:43 AM · Restricted Project

Jul 9 2020

Herald added a project to D83513: [AST][ObjC] Fix crash when printing invalid objc categories: Restricted Project.
Jul 9 2020, 2:37 PM · Restricted Project
dgoldman added inline comments to D83501: [clangd][ObjC] Improve xrefs for protocols and classes.
Jul 9 2020, 12:31 PM · Restricted Project
dgoldman added inline comments to D83501: [clangd][ObjC] Improve xrefs for protocols and classes.
Jul 9 2020, 12:04 PM · Restricted Project
Herald added a project to D83501: [clangd][ObjC] Improve xrefs for protocols and classes: Restricted Project.
Jul 9 2020, 12:01 PM · Restricted Project

Jun 25 2020

dgoldman committed rGc61ef1f25c7f: [Sema][CodeComplete][ObjC] Don't split the first selector fragment (authored by dgoldman).
[Sema][CodeComplete][ObjC] Don't split the first selector fragment
Jun 25 2020, 11:21 AM
dgoldman closed D82306: [Sema][CodeComplete][ObjC] Don't split the first selector fragment.
Jun 25 2020, 11:21 AM · Restricted Project

Jun 22 2020

dgoldman created D82306: [Sema][CodeComplete][ObjC] Don't split the first selector fragment.
Jun 22 2020, 8:35 AM · Restricted Project

Jun 8 2020

dgoldman committed rG2ef65adb6f9d: [Sema][CodeComplete][ObjC] Don't include arrow/dot fixits (authored by dgoldman).
[Sema][CodeComplete][ObjC] Don't include arrow/dot fixits
Jun 8 2020, 9:57 AM
dgoldman closed D81263: [Sema][CodeComplete][ObjC] Don't include arrow/dot fixits.
Jun 8 2020, 9:57 AM · Restricted Project
dgoldman updated the diff for D81263: [Sema][CodeComplete][ObjC] Don't include arrow/dot fixits.
  • Fix typo
Jun 8 2020, 9:56 AM · Restricted Project
dgoldman added inline comments to D81263: [Sema][CodeComplete][ObjC] Don't include arrow/dot fixits.
Jun 8 2020, 9:56 AM · Restricted Project
dgoldman updated the diff for D81263: [Sema][CodeComplete][ObjC] Don't include arrow/dot fixits.
  • Minor comment fixes
Jun 8 2020, 9:56 AM · Restricted Project
dgoldman added inline comments to D81263: [Sema][CodeComplete][ObjC] Don't include arrow/dot fixits.
Jun 8 2020, 6:30 AM · Restricted Project
dgoldman updated the diff for D81263: [Sema][CodeComplete][ObjC] Don't include arrow/dot fixits.

Remove stale comment

Jun 8 2020, 5:59 AM · Restricted Project
dgoldman updated the diff for D81263: [Sema][CodeComplete][ObjC] Don't include arrow/dot fixits.

Check AccessOpFixIt.hasValue()

Jun 8 2020, 5:58 AM · Restricted Project

Jun 5 2020

dgoldman updated the diff for D81263: [Sema][CodeComplete][ObjC] Don't include arrow/dot fixits.
  • Fix broken diff base (due to lint fixes maybe?)
Jun 5 2020, 8:52 AM · Restricted Project
dgoldman updated the diff for D81263: [Sema][CodeComplete][ObjC] Don't include arrow/dot fixits.
  • Fix test run line
Jun 5 2020, 8:18 AM · Restricted Project
dgoldman created D81263: [Sema][CodeComplete][ObjC] Don't include arrow/dot fixits.
Jun 5 2020, 8:18 AM · Restricted Project

Feb 19 2020

dgoldman committed rG4960eb4a1bdd: Another fix for 7d91633a2b9b1f563dc14c632cc0c461c3651f76 (authored by dgoldman).
Another fix for 7d91633a2b9b1f563dc14c632cc0c461c3651f76
Feb 19 2020, 2:18 PM
dgoldman added a comment to D74790: [Sema][CodeComplete] Handle symlinks for include code completion.

Submitted https://github.com/llvm/llvm-project/commit/7d91633a2b9b1f563dc14c632cc0c461c3651f76

Feb 19 2020, 1:59 PM · Restricted Project
dgoldman committed rG7d91633a2b9b: Fix broken test on Windows caused by D74790 (authored by dgoldman).
Fix broken test on Windows caused by D74790
Feb 19 2020, 1:59 PM
dgoldman added a comment to D74790: [Sema][CodeComplete] Handle symlinks for include code completion.

`The test you added in this change seems to be failing on Windows, can you take a look?

http://lab.llvm.org:8011/builders/clang-x64-windows-msvc/builds/14409

FAIL: Clang :: CodeCompletion/included-symlinks.cpp (1779 of 16867)
******************** TEST 'Clang :: CodeCompletion/included-symlinks.cpp' FAILED ********************
Script:
--
: 'RUN: at line 1';   rm -rf C:\b\slave\clang-x64-windows-msvc\build\stage1\tools\clang\test\CodeCompletion\Output\included-symlinks.cpp.tmp && mkdir -p C:\b\slave\clang-x64-windows-msvc\build\stage1\tools\clang\test\CodeCompletion\Output\included-symlinks.cpp.tmp/real/myproj && mkdir -p C:\b\slave\clang-x64-windows-msvc\build\stage1\tools\clang\test\CodeCompletion\Output\included-symlinks.cpp.tmp/links
: 'RUN: at line 2';   touch C:\b\slave\clang-x64-windows-msvc\build\stage1\tools\clang\test\CodeCompletion\Output\included-symlinks.cpp.tmp/real/foo.h && ln -s C:\b\slave\clang-x64-windows-msvc\build\stage1\tools\clang\test\CodeCompletion\Output\included-symlinks.cpp.tmp/real/foo.h C:\b\slave\clang-x64-windows-msvc\build\stage1\tools\clang\test\CodeCompletion\Output\included-symlinks.cpp.tmp/links/foo.h
: 'RUN: at line 3';   touch C:\b\slave\clang-x64-windows-msvc\build\stage1\tools\clang\test\CodeCompletion\Output\included-symlinks.cpp.tmp/real/foobar.h && ln -s C:\b\slave\clang-x64-windows-msvc\build\stage1\tools\clang\test\CodeCompletion\Output\included-symlinks.cpp.tmp/real/foobar.h C:\b\slave\clang-x64-windows-msvc\build\stage1\tools\clang\test\CodeCompletion\Output\included-symlinks.cpp.tmp/links/foobar.h
: 'RUN: at line 4';   touch C:\b\slave\clang-x64-windows-msvc\build\stage1\tools\clang\test\CodeCompletion\Output\included-symlinks.cpp.tmp/real/myproj/test.h && ln -s C:\b\slave\clang-x64-windows-msvc\build\stage1\tools\clang\test\CodeCompletion\Output\included-symlinks.cpp.tmp/real/myproj C:\b\slave\clang-x64-windows-msvc\build\stage1\tools\clang\test\CodeCompletion\Output\included-symlinks.cpp.tmp/links/myproj
: 'RUN: at line 8';   c:\b\slave\clang-x64-windows-msvc\build\stage1\bin\clang.exe -fsyntax-only -IC:\b\slave\clang-x64-windows-msvc\build\stage1\tools\clang\test\CodeCompletion\Output\included-symlinks.cpp.tmp/links -Xclang -code-completion-at=C:\b\slave\clang-x64-windows-msvc\llvm-project\clang\test\CodeCompletion\included-symlinks.cpp:7:13 C:\b\slave\clang-x64-windows-msvc\llvm-project\clang\test\CodeCompletion\included-symlinks.cpp | c:\b\slave\clang-x64-windows-msvc\build\stage1\bin\filecheck.exe -check-prefix=CHECK-1 C:\b\slave\clang-x64-windows-msvc\llvm-project\clang\test\CodeCompletion\included-symlinks.cpp
: 'RUN: at line 14';   c:\b\slave\clang-x64-windows-msvc\build\stage1\bin\clang.exe -fsyntax-only -IC:\b\slave\clang-x64-windows-msvc\build\stage1\tools\clang\test\CodeCompletion\Output\included-symlinks.cpp.tmp/links -Xclang -code-completion-at=C:\b\slave\clang-x64-windows-msvc\llvm-project\clang\test\CodeCompletion\included-symlinks.cpp:13:13 C:\b\slave\clang-x64-windows-msvc\llvm-project\clang\test\CodeCompletion\included-symlinks.cpp | c:\b\slave\clang-x64-windows-msvc\build\stage1\bin\filecheck.exe -check-prefix=CHECK-2 C:\b\slave\clang-x64-windows-msvc\llvm-project\clang\test\CodeCompletion\included-symlinks.cpp
--
Exit Code: 1

Command Output (stdout):
--
$ ":" "RUN: at line 1"
$ "rm" "-rf" "C:\b\slave\clang-x64-windows-msvc\build\stage1\tools\clang\test\CodeCompletion\Output\included-symlinks.cpp.tmp"
$ "mkdir" "-p" "C:\b\slave\clang-x64-windows-msvc\build\stage1\tools\clang\test\CodeCompletion\Output\included-symlinks.cpp.tmp/real/myproj"
$ "mkdir" "-p" "C:\b\slave\clang-x64-windows-msvc\build\stage1\tools\clang\test\CodeCompletion\Output\included-symlinks.cpp.tmp/links"
$ ":" "RUN: at line 2"
$ "touch" "C:\b\slave\clang-x64-windows-msvc\build\stage1\tools\clang\test\CodeCompletion\Output\included-symlinks.cpp.tmp/real/foo.h"
$ "ln" "-s" "C:\b\slave\clang-x64-windows-msvc\build\stage1\tools\clang\test\CodeCompletion\Output\included-symlinks.cpp.tmp/real/foo.h" "C:\b\slave\clang-x64-windows-msvc\build\stage1\tools\clang\test\CodeCompletion\Output\included-symlinks.cpp.tmp/links/foo.h"
$ ":" "RUN: at line 3"
$ "touch" "C:\b\slave\clang-x64-windows-msvc\build\stage1\tools\clang\test\CodeCompletion\Output\included-symlinks.cpp.tmp/real/foobar.h"
$ "ln" "-s" "C:\b\slave\clang-x64-windows-msvc\build\stage1\tools\clang\test\CodeCompletion\Output\included-symlinks.cpp.tmp/real/foobar.h" "C:\b\slave\clang-x64-windows-msvc\build\stage1\tools\clang\test\CodeCompletion\Output\included-symlinks.cpp.tmp/links/foobar.h"
$ ":" "RUN: at line 4"
$ "touch" "C:\b\slave\clang-x64-windows-msvc\build\stage1\tools\clang\test\CodeCompletion\Output\included-symlinks.cpp.tmp/real/myproj/test.h"
$ "ln" "-s" "C:\b\slave\clang-x64-windows-msvc\build\stage1\tools\clang\test\CodeCompletion\Output\included-symlinks.cpp.tmp/real/myproj" "C:\b\slave\clang-x64-windows-msvc\build\stage1\tools\clang\test\CodeCompletion\Output\included-symlinks.cpp.tmp/links/myproj"
$ ":" "RUN: at line 8"
$ "c:\b\slave\clang-x64-windows-msvc\build\stage1\bin\clang.exe" "-fsyntax-only" "-IC:\b\slave\clang-x64-windows-msvc\build\stage1\tools\clang\test\CodeCompletion\Output\included-symlinks.cpp.tmp/links" "-Xclang" "-code-completion-at=C:\b\slave\clang-x64-windows-msvc\llvm-project\clang\test\CodeCompletion\included-symlinks.cpp:7:13" "C:\b\slave\clang-x64-windows-msvc\llvm-project\clang\test\CodeCompletion\included-symlinks.cpp"
$ "c:\b\slave\clang-x64-windows-msvc\build\stage1\bin\filecheck.exe" "-check-prefix=CHECK-1" "C:\b\slave\clang-x64-windows-msvc\llvm-project\clang\test\CodeCompletion\included-symlinks.cpp"
# command stderr:
C:\b\slave\clang-x64-windows-msvc\llvm-project\clang\test\CodeCompletion\included-symlinks.cpp:9:13: error: CHECK-1: expected string not found in input

// CHECK-1: foo.h"

            ^

<stdin>:1:1: note: scanning from here

COMPLETION: Pattern : fontsub.h"

^

<stdin>:1:27: note: possible intended match here

COMPLETION: Pattern : fontsub.h"

                          ^


error: command failed with exit status: 1

--
Feb 19 2020, 1:40 PM · Restricted Project
dgoldman committed rGf50fe5eb6d2e: [Sema][CodeComplete] Handle symlinks for include code completion (authored by dgoldman).
[Sema][CodeComplete] Handle symlinks for include code completion
Feb 19 2020, 8:53 AM
dgoldman closed D74790: [Sema][CodeComplete] Handle symlinks for include code completion.
Feb 19 2020, 8:51 AM · Restricted Project
dgoldman added a comment to D74790: [Sema][CodeComplete] Handle symlinks for include code completion.

Thanks! I can't see this being a performance problem (famous last words...)

Feb 19 2020, 8:33 AM · Restricted Project
dgoldman updated the diff for D74790: [Sema][CodeComplete] Handle symlinks for include code completion.
  • Fixes for Sam's comments
Feb 19 2020, 8:26 AM · Restricted Project
dgoldman added a comment to D73916: [clang] Add `forceReload` clangd extension to 'textDocument/didChange'.

Which client(s) use or plan to use this extension?

Feb 19 2020, 8:26 AM · Restricted Project

Feb 18 2020

dgoldman updated the diff for D74790: [Sema][CodeComplete] Handle symlinks for include code completion.
  • Add test case
Feb 18 2020, 1:58 PM · Restricted Project
dgoldman created D74790: [Sema][CodeComplete] Handle symlinks for include code completion.
Feb 18 2020, 1:30 PM · Restricted Project

Feb 14 2020

dgoldman added a comment to D74417: [clang][ARC] Remove invalid assertion that can crash clangd.

Added but it's still failing due to a different assertion failure, do you think this could be because the abbreviation is different for the ParamVars? I'm not sure how to handle this...

Yeah, that looks to be the problem, the parameter abbreviation is assumed to be a literal zero (since it was previously impossible) for the ParmVarDecl case, i.e:

Abv->Add(BitCodeAbbrevOp(0));                       // ARCPseudoStrong

But we really want it to look like the VarDecl case, where we actually get a bit for it:

Abv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 1)); // isARCPseudoStrong

I think you can fix the crash by changing the BitCodeAbbrevOp(0) to BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 1).

Feb 14 2020, 11:53 AM · Restricted Project
dgoldman updated the diff for D74417: [clang][ARC] Remove invalid assertion that can crash clangd.
  • Fix parameter abbreviation for ParamVarDecl
Feb 14 2020, 11:53 AM · Restricted Project

Feb 13 2020

dgoldman updated the diff for D74417: [clang][ARC] Remove invalid assertion that can crash clangd.
  • Add test (fails due to different assertion)
Feb 13 2020, 10:06 AM · Restricted Project
dgoldman added a comment to D74417: [clang][ARC] Remove invalid assertion that can crash clangd.

This looks good, but please add a testcase.

Feb 13 2020, 10:06 AM · Restricted Project

Feb 11 2020

dgoldman created D74417: [clang][ARC] Remove invalid assertion that can crash clangd.
Feb 11 2020, 8:38 AM · Restricted Project

Feb 10 2020

dgoldman committed rG6ff0228c6df3: [clang] Add `forceReload` clangd extension to 'textDocument/didChange' (authored by dgoldman).
[clang] Add `forceReload` clangd extension to 'textDocument/didChange'
Feb 10 2020, 11:05 AM
dgoldman closed D73916: [clang] Add `forceReload` clangd extension to 'textDocument/didChange'.
Feb 10 2020, 11:05 AM · Restricted Project
dgoldman added inline comments to D73916: [clang] Add `forceReload` clangd extension to 'textDocument/didChange'.
Feb 10 2020, 10:23 AM · Restricted Project
dgoldman updated the diff for D73916: [clang] Add `forceReload` clangd extension to 'textDocument/didChange'.
  • Minor test fixes
Feb 10 2020, 10:23 AM · Restricted Project
dgoldman updated the diff for D73916: [clang] Add `forceReload` clangd extension to 'textDocument/didChange'.
  • Fixes for tests and InputFiles
Feb 10 2020, 9:19 AM · Restricted Project

Feb 7 2020

dgoldman updated the diff for D73916: [clang] Add `forceReload` clangd extension to 'textDocument/didChange'.
  • Rebase
Feb 7 2020, 1:12 PM · Restricted Project
dgoldman added inline comments to D73916: [clang] Add `forceReload` clangd extension to 'textDocument/didChange'.
Feb 7 2020, 11:30 AM · Restricted Project
dgoldman updated the diff for D73916: [clang] Add `forceReload` clangd extension to 'textDocument/didChange'.
  • Refactor to use forceRebuild and ParseOptions
Feb 7 2020, 11:30 AM · Restricted Project

Feb 3 2020

dgoldman updated the diff for D73916: [clang] Add `forceReload` clangd extension to 'textDocument/didChange'.
  • Fix comment
Feb 3 2020, 12:27 PM · Restricted Project
dgoldman created D73916: [clang] Add `forceReload` clangd extension to 'textDocument/didChange'.
Feb 3 2020, 12:17 PM · Restricted Project

Jan 27 2020

dgoldman committed rG60249c2c3b9e: [clangd] Only re-open files if their flags changed (authored by dgoldman).
[clangd] Only re-open files if their flags changed
Jan 27 2020, 8:03 AM
dgoldman closed D72647: [clangd] Only re-open files if their flags changed.
Jan 27 2020, 8:02 AM · Restricted Project

Jan 25 2020

dgoldman accepted D72508: [clangd] Support pseudo-obj expr, opaque values, and property references in findExplicitReferences().
Jan 25 2020, 9:04 AM · Restricted Project
dgoldman accepted D72634: [clangd] Improve ObjC property handling in SelectionTree..
Jan 25 2020, 8:59 AM · Restricted Project

Jan 23 2020

dgoldman updated the diff for D72647: [clangd] Only re-open files if their flags changed.
  • Swap to stringset and simpler way of tracking modified files
Jan 23 2020, 8:10 AM · Restricted Project
dgoldman added a comment to D72647: [clangd] Only re-open files if their flags changed.

Let's make the minimal change here and land this.

Jan 23 2020, 8:10 AM · Restricted Project

Jan 14 2020

dgoldman added inline comments to D72647: [clangd] Only re-open files if their flags changed.
Jan 14 2020, 7:52 AM · Restricted Project

Jan 13 2020

dgoldman updated the diff for D72647: [clangd] Only re-open files if their flags changed.
  • Fix broken did-change-configuration test
Jan 13 2020, 3:08 PM · Restricted Project