Hello,
tl;dr ⚙ D42895 [libclang] Add `CXSymbolRole role` to CXIdxEntityRefInfo
In clang/Index.h at master · llvm-mirror/clang · GitHub,
CXIdxEntityRefKind is used to express Objective-C implicit reference
(I cannot found its use in C/C++).
CXIdxEntityRef_Implicit is assigned when a symbol occurrence has the
`Implicit` bit of enum IndexSymbol
It turns out that IndexSymbol has more roles (Read/Write/Call) that
fit well with Language Server Protocol `DocumentHighlightKind`, which
can be used to differentiate Read/Write references of a symbol.
I have a pending revision ⚙ D42895 [libclang] Add `CXSymbolRole role` to CXIdxEntityRefInfo to add
support for CXSymbolRole in libclang. I intended to deprecate
CXIdxEntityRefKind in my first version because the feature is fully
covered by SymbolRole. But my reviewer suggested me asking for API
deprecation opinions on cfe-dev. What do you think?
Someone told me Clion differentiates read/write references. With
SymbolRole exposed to libclang, other libclang users (e.g. some C++
language servers/IDE plugins) can benefit from this.
Also appreciated if someone could tell me who is the owner of libclang
or who can make these decisions about API deprecation.
//////////////////////// this is fully covered by SymbolRole
/**
* \brief Data for IndexerCallbacks#indexEntityReference.