This allows clients of libclang to check whether a completion result is a keyword. Previously, keywords had CursorKind == CXCursor_NotImplemented and it wasn't trivial to distinguish a keyword from a pattern.
This change moves CodeCompletionResult::ResultKind to clang-c under a new name CXCompletionResultKind. It also tweaks c-index-test to print the result kind instead of NotImplemented, and adjusts the tests for the new output.
rdar://91852088
i don't follow the reason for replacing this struct with CXCompletionResultKind and renaming occurrences in half of the codebase. can we keep this around, introduce the new enum type into Index.h and have clang/tools/libclang/CIndexCodeCompletion.cpp do the conversion from Sema type to Index type instead?
Unless I am missing some other requirement for doing so. i feel like the conceptual dependency from Sema to Index is one we should get rid of, rather than make tighter.