diff options
Diffstat (limited to 'clang/tools/CIndex/CIndexCodeCompletion.cpp')
-rw-r--r-- | clang/tools/CIndex/CIndexCodeCompletion.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/clang/tools/CIndex/CIndexCodeCompletion.cpp b/clang/tools/CIndex/CIndexCodeCompletion.cpp index 4e41c5f1c7b..4912fef2e25 100644 --- a/clang/tools/CIndex/CIndexCodeCompletion.cpp +++ b/clang/tools/CIndex/CIndexCodeCompletion.cpp @@ -21,6 +21,7 @@ #include "llvm/System/Program.h" using namespace clang; +using namespace clang::cxstring; extern "C" { @@ -80,11 +81,11 @@ clang_getCompletionChunkKind(CXCompletionString completion_string, return CXCompletionChunk_Text; } -const char *clang_getCompletionChunkText(CXCompletionString completion_string, - unsigned chunk_number) { +CXString clang_getCompletionChunkText(CXCompletionString completion_string, + unsigned chunk_number) { CodeCompletionString *CCStr = (CodeCompletionString *)completion_string; if (!CCStr || chunk_number >= CCStr->size()) - return 0; + return createCXString(0); switch ((*CCStr)[chunk_number].Kind) { case CodeCompletionString::CK_TypedText: @@ -107,17 +108,18 @@ const char *clang_getCompletionChunkText(CXCompletionString completion_string, case CodeCompletionString::CK_Equal: case CodeCompletionString::CK_HorizontalSpace: case CodeCompletionString::CK_VerticalSpace: - return (*CCStr)[chunk_number].Text; + return createCXString((*CCStr)[chunk_number].Text, false); case CodeCompletionString::CK_Optional: // Note: treated as an empty text block. - return ""; + return createCXString(""); } // Should be unreachable, but let's be careful. - return 0; + return createCXString(0); } + CXCompletionString clang_getCompletionChunkCompletionString(CXCompletionString completion_string, unsigned chunk_number) { |