[PATCH] D58880: [WIP] [Looking for API feedback] [clangd] Type hierarchy subtypes

2019-03-17 Thread Nathan Ridge via Phabricator via cfe-commits
nridge added a comment. In D58880#1422494 , @kadircet wrote: > Also please have a look at D59083 , and make > sure it helps implement what you have in might and let me know if there's > anything missing. I verified

[PATCH] D58880: [WIP] [Looking for API feedback] [clangd] Type hierarchy subtypes

2019-03-14 Thread Nathan Ridge via Phabricator via cfe-commits
nridge added a comment. In D58880#1422494 , @kadircet wrote: > Hi Nathan, > > I would also suggest splitting up current changes so that we can start > reviewing them, which might result in other changes in your planned changes > and help reduce

[PATCH] D58880: [WIP] [Looking for API feedback] [clangd] Type hierarchy subtypes

2019-03-08 Thread Kadir Cetinkaya via Phabricator via cfe-commits
kadircet added a comment. Hi Nathan, I would also suggest splitting up current changes so that we can start reviewing them, which might result in other changes in your planned changes and help reduce duplicate work both on our and your side. Also please have a look at D59083

[PATCH] D58880: [WIP] [Looking for API feedback] [clangd] Type hierarchy subtypes

2019-03-07 Thread Nathan Ridge via Phabricator via cfe-commits
nridge planned changes to this revision. nridge added a comment. Thanks for the detailed analysis! For completeness, I think another advantage of option 3 is that it allows us to make the key for relation lookups be a (SymbolID, RelationKind) pair rather than just a SymbolID. It sounds like I

[PATCH] D58880: [WIP] [Looking for API feedback] [clangd] Type hierarchy subtypes

2019-03-06 Thread Dmitri Gribenko via Phabricator via cfe-commits
gribozavr added a comment. > My understanding is that the storage space taken up for Refs is currently 8 > bytes per Ref (4 each for the start and end positions), plus filename strings > which are deduplicated across all refs. If we add a SymbolID, that adds an > additional 8 bytes to each

[PATCH] D58880: [WIP] [Looking for API feedback] [clangd] Type hierarchy subtypes

2019-03-05 Thread Nathan Ridge via Phabricator via cfe-commits
nridge added a comment. In D58880#1418195 , @hokein wrote: > I think we can extend the existing Ref to support it, so that most of the > stuff could be reused, rather than implementing a new slab: > > - introduce a new RefKind, like BaseOf > - add a new

[PATCH] D58880: [WIP] [Looking for API feedback] [clangd] Type hierarchy subtypes

2019-03-05 Thread Haojian Wu via Phabricator via cfe-commits
hokein added a comment. Haven't looked at the patch. I think we can extend the existing Ref to support it, so that most of the stuff could be reused, rather than implementing a new slab: - introduce a new RefKind, like BaseOf - add a new field SymbolID in Ref and `clangIndex` library has

[PATCH] D58880: [WIP] [Looking for API feedback] [clangd] Type hierarchy subtypes

2019-03-04 Thread Nathan Ridge via Phabricator via cfe-commits
nridge added a comment. In D58880#1416754 , @kadircet wrote: > Sorry I didn't notice the mailing thread beforehand, looks like Sam had a > good point regarding performing operations on types rather than >

[PATCH] D58880: [WIP] [Looking for API feedback] [clangd] Type hierarchy subtypes

2019-03-04 Thread Nathan Ridge via Phabricator via cfe-commits
nridge updated this revision to Diff 189275. nridge added a comment. Add tests involving templates and template specializations Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D58880/new/ https://reviews.llvm.org/D58880 Files:

[PATCH] D58880: [WIP] [Looking for API feedback] [clangd] Type hierarchy subtypes

2019-03-04 Thread Kadir Cetinkaya via Phabricator via cfe-commits
kadircet added a comment. Sorry I didn't notice the mailing thread beforehand, looks like Sam had a good point regarding performing operations on types rather than symbols(http://lists.llvm.org/pipermail/clangd-dev/2019-January/000241.html). Does current implementation take this into account by

[PATCH] D58880: [WIP] [Looking for API feedback] [clangd] Type hierarchy subtypes

2019-03-04 Thread Kadir Cetinkaya via Phabricator via cfe-commits
kadircet added a comment. For starters, what about just introducing a new field `Bases` into the `Symbol`. Which can store symbol IDs for the parents of the mentioned symbol, then during index build we can simply add same relations from base to this symbol. This should help us get rid of

[PATCH] D58880: [WIP] [Looking for API feedback] [clangd] Type hierarchy subtypes

2019-03-03 Thread Nathan Ridge via Phabricator via cfe-commits
nridge updated this revision to Diff 189093. nridge added a comment. Rebased onto updated D56370 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D58880/new/ https://reviews.llvm.org/D58880 Files:

[PATCH] D58880: [WIP] [Looking for API feedback] [clangd] Type hierarchy subtypes

2019-03-03 Thread Nathan Ridge via Phabricator via cfe-commits
nridge removed a reviewer: sammccall. nridge added a comment. Removing Sam as reviewer as he's on parental leave. Kadir, if you have other reviewers to suggest to provide feedback on the API changes here, please feel free to add them. Thanks! Repository: rG LLVM Github Monorepo CHANGES

[PATCH] D58880: [WIP] [Looking for API feedback] [clangd] Type hierarchy subtypes

2019-03-02 Thread Nathan Ridge via Phabricator via cfe-commits
nridge created this revision. nridge added reviewers: sammccall, kadircet. Herald added subscribers: cfe-commits, jdoerfert, arphaman, mgrang, jkorous, MaskRay, ioeric, ilya-biryukov. Herald added a project: clang. This is an early draft of an implementation of type hierarchy subtypes. There is