[PATCH] D42895: [libclang] Add `CXSymbolRole role` to CXIdxEntityRefInfo
Ilya Biryukov via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Feb 9 01:42:22 PST 2018
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
More information about the cfe-commits
mailing list