ilya-biryukov added inline comments.

================
Comment at: include/clang-c/Index.h:6159
+   */
+  CXSymbolRole role;
 } CXIdxEntityRefInfo;
----------------
MaskRay wrote:
> ilya-biryukov wrote:
> > MaskRay wrote:
> > > ilya-biryukov wrote:
> > > > Why do we need to store both `CXIdxEntityRefKind` and `CXSymbolRole`? 
> > > > Can we store just `CXSymbolRole`?
> > > > Is this for compatibility with existing clients?
> > > > 
> > > > If so, maybe we could:
> > > > - remove `Implicit` and `Direct` from the `CXSymbolRole`
> > > > - keep it only in `CXIdxEntityRefKind`
> > > > - not deprecate the `CXIdxEntityRefKind`
> > > I think `CXIdxEntityRefKind` should be deprecated but for compatibility 
> > > we do not remove the field for this minor version upgrade. But they can 
> > > be removed after a major version upgrade.
> > > 
> > > For what I have observed, `Implicit` is only used by Objective-C
> > We should definitely loop the owners of libclang in if we want to deprecate 
> > the API, I'm not familiar with the contract of libclang regarding the API 
> > deprecation.
> > I'm not sure who's responsible for that, asking at the cfe-dev mailing list 
> > could be your best bet for that.
> > 
> > The alternative I suggest is removing `Implicit` from `CXSymbolRole`, 
> > making this change an extension of existing API. I expect that this could 
> > be done without more through discussion.
> I'll keep `CXSymbolRole_Implicit` and make it duplicate the functionality 
> provided by CXIdxEntityRefKind, with a comment that CXIdxEntityRefKind may be 
> deprecated in a future version.
> 
> Thanks, I'll also ask the cfe-dev mailing list.
LG, thanks.


================
Comment at: tools/c-index-test/c-index-test.c:3545
   printCXIndexContainer(info->container);
-  printf(" | refkind: ");
-  switch (info->kind) {
----------------
Maybe keep this debug-printing of refkind? We're not removing it in this patch.


Repository:
  rC Clang

https://reviews.llvm.org/D42895



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to