libclang: introduce cxstring::{createRef,createDup} for C strings
Also migrate all clients from the old API.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174238 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/libclang/CIndexCodeCompletion.cpp b/tools/libclang/CIndexCodeCompletion.cpp
index 950513d..e287eda 100644
--- a/tools/libclang/CIndexCodeCompletion.cpp
+++ b/tools/libclang/CIndexCodeCompletion.cpp
@@ -135,7 +135,7 @@
case CodeCompletionString::CK_Equal:
case CodeCompletionString::CK_HorizontalSpace:
case CodeCompletionString::CK_VerticalSpace:
- return createCXString((*CCStr)[chunk_number].Text, false);
+ return cxstring::createRef((*CCStr)[chunk_number].Text);
case CodeCompletionString::CK_Optional:
// Note: treated as an empty text block.
@@ -210,7 +210,7 @@
CXString clang_getCompletionAnnotation(CXCompletionString completion_string,
unsigned annotation_number) {
CodeCompletionString *CCStr = (CodeCompletionString *)completion_string;
- return CCStr ? createCXString(CCStr->getAnnotation(annotation_number))
+ return CCStr ? cxstring::createRef(CCStr->getAnnotation(annotation_number))
: cxstring::createNull();
}
@@ -234,7 +234,7 @@
if (!CCStr)
return cxstring::createNull();
- return createCXString(CCStr->getBriefComment(), /*DupString=*/false);
+ return cxstring::createRef(CCStr->getBriefComment());
}
namespace {
@@ -600,8 +600,7 @@
// However, there are cases when AllocatedResults outlives the
// CXTranslationUnit. This is a workaround that failure mode.
if (cxstring::isManagedByPool(cursorUSR)) {
- CXString heapStr =
- cxstring::createCXString(clang_getCString(cursorUSR), true);
+ CXString heapStr = cxstring::createDup(clang_getCString(cursorUSR));
clang_disposeString(cursorUSR);
cursorUSR = heapStr;
}
@@ -914,7 +913,7 @@
if (!Results)
return cxstring::createEmpty();
- return createCXString(clang_getCString(Results->ContainerUSR));
+ return cxstring::createRef(clang_getCString(Results->ContainerUSR));
}