From 4b4f36990d2008aa5e8510ef511c8dd7eb4a0a7b Mon Sep 17 00:00:00 2001 From: Ted Kremenek Date: Tue, 16 Nov 2010 01:56:27 +0000 Subject: Move CXString creation/management routines into their own .cpp file and make the interpretation of its flags private. llvm-svn: 119319 --- clang/tools/libclang/CIndex.cpp | 46 +-------------------------- clang/tools/libclang/CIndexCXX.cpp | 1 - clang/tools/libclang/CIndexCodeCompletion.cpp | 1 + clang/tools/libclang/CIndexDiagnostic.cpp | 1 + clang/tools/libclang/CIndexUSRs.cpp | 1 + clang/tools/libclang/CIndexer.h | 7 ---- clang/tools/libclang/CMakeLists.txt | 1 + clang/tools/libclang/CXCursor.cpp | 1 + clang/tools/libclang/CXType.cpp | 1 + 9 files changed, 7 insertions(+), 53 deletions(-) (limited to 'clang/tools/libclang') diff --git a/clang/tools/libclang/CIndex.cpp b/clang/tools/libclang/CIndex.cpp index b573c067a80..a25570e0c14 100644 --- a/clang/tools/libclang/CIndex.cpp +++ b/clang/tools/libclang/CIndex.cpp @@ -14,6 +14,7 @@ #include "CIndexer.h" #include "CXCursor.h" +#include "CXString.h" #include "CXType.h" #include "CXSourceLocation.h" #include "CIndexDiagnostic.h" @@ -4574,51 +4575,6 @@ CXType clang_getIBOutletCollectionType(CXCursor C) { } } // end: extern "C" -//===----------------------------------------------------------------------===// -// CXString Operations. -//===----------------------------------------------------------------------===// - -extern "C" { -const char *clang_getCString(CXString string) { - return string.Spelling; -} - -void clang_disposeString(CXString string) { - if (string.MustFreeString && string.Spelling) - free((void*)string.Spelling); -} - -} // end: extern "C" - -namespace clang { namespace cxstring { -CXString createCXString(const char *String, bool DupString){ - CXString Str; - if (DupString) { - Str.Spelling = strdup(String); - Str.MustFreeString = 1; - } else { - Str.Spelling = String; - Str.MustFreeString = 0; - } - return Str; -} - -CXString createCXString(llvm::StringRef String, bool DupString) { - CXString Result; - if (DupString || (!String.empty() && String.data()[String.size()] != 0)) { - char *Spelling = (char *)malloc(String.size() + 1); - memmove(Spelling, String.data(), String.size()); - Spelling[String.size()] = 0; - Result.Spelling = Spelling; - Result.MustFreeString = 1; - } else { - Result.Spelling = String.data(); - Result.MustFreeString = 0; - } - return Result; -} -}} - //===----------------------------------------------------------------------===// // Misc. utility functions. //===----------------------------------------------------------------------===// diff --git a/clang/tools/libclang/CIndexCXX.cpp b/clang/tools/libclang/CIndexCXX.cpp index 3ade5195d8f..fca89ed4104 100644 --- a/clang/tools/libclang/CIndexCXX.cpp +++ b/clang/tools/libclang/CIndexCXX.cpp @@ -18,7 +18,6 @@ #include "clang/AST/DeclTemplate.h" using namespace clang; -using namespace clang::cxstring; using namespace clang::cxcursor; extern "C" { diff --git a/clang/tools/libclang/CIndexCodeCompletion.cpp b/clang/tools/libclang/CIndexCodeCompletion.cpp index f22f5eeff64..7e8cdb2c204 100644 --- a/clang/tools/libclang/CIndexCodeCompletion.cpp +++ b/clang/tools/libclang/CIndexCodeCompletion.cpp @@ -13,6 +13,7 @@ //===----------------------------------------------------------------------===// #include "CIndexer.h" +#include "CXString.h" #include "CIndexDiagnostic.h" #include "clang/Basic/SourceManager.h" #include "clang/Basic/FileManager.h" diff --git a/clang/tools/libclang/CIndexDiagnostic.cpp b/clang/tools/libclang/CIndexDiagnostic.cpp index 036a28b5387..84f39e3ea00 100644 --- a/clang/tools/libclang/CIndexDiagnostic.cpp +++ b/clang/tools/libclang/CIndexDiagnostic.cpp @@ -13,6 +13,7 @@ #include "CIndexDiagnostic.h" #include "CIndexer.h" #include "CXSourceLocation.h" +#include "CXString.h" #include "clang/Frontend/ASTUnit.h" #include "clang/Frontend/FrontendDiagnostic.h" diff --git a/clang/tools/libclang/CIndexUSRs.cpp b/clang/tools/libclang/CIndexUSRs.cpp index e22980df394..adc77d16b62 100644 --- a/clang/tools/libclang/CIndexUSRs.cpp +++ b/clang/tools/libclang/CIndexUSRs.cpp @@ -13,6 +13,7 @@ #include "CIndexer.h" #include "CXCursor.h" +#include "CXString.h" #include "clang/AST/DeclTemplate.h" #include "clang/AST/DeclVisitor.h" #include "clang/Frontend/ASTUnit.h" diff --git a/clang/tools/libclang/CIndexer.h b/clang/tools/libclang/CIndexer.h index 32cfa971f34..8bcdce343ad 100644 --- a/clang/tools/libclang/CIndexer.h +++ b/clang/tools/libclang/CIndexer.h @@ -24,13 +24,6 @@ namespace llvm { class CrashRecoveryContext; } -namespace clang { -namespace cxstring { - CXString createCXString(const char *String, bool DupString = false); - CXString createCXString(llvm::StringRef String, bool DupString = true); -} -} - class CIndexer { bool OnlyLocalDecls; bool DisplayDiagnostics; diff --git a/clang/tools/libclang/CMakeLists.txt b/clang/tools/libclang/CMakeLists.txt index 9a2a2a63cfd..d1d99726cce 100644 --- a/clang/tools/libclang/CMakeLists.txt +++ b/clang/tools/libclang/CMakeLists.txt @@ -27,6 +27,7 @@ add_clang_library(libclang CIndexUSRs.cpp CIndexer.cpp CXCursor.cpp + CXString.cpp CXType.cpp ../../include/clang-c/Index.h ) diff --git a/clang/tools/libclang/CXCursor.cpp b/clang/tools/libclang/CXCursor.cpp index f5941e7327f..a8cbca57dc6 100644 --- a/clang/tools/libclang/CXCursor.cpp +++ b/clang/tools/libclang/CXCursor.cpp @@ -14,6 +14,7 @@ //===----------------------------------------------------------------------===// #include "CXCursor.h" +#include "CXString.h" #include "clang/Frontend/ASTUnit.h" #include "clang/AST/Decl.h" #include "clang/AST/DeclCXX.h" diff --git a/clang/tools/libclang/CXType.cpp b/clang/tools/libclang/CXType.cpp index 05912b1db35..45a5bed2796 100644 --- a/clang/tools/libclang/CXType.cpp +++ b/clang/tools/libclang/CXType.cpp @@ -13,6 +13,7 @@ #include "CIndexer.h" #include "CXCursor.h" +#include "CXString.h" #include "CXType.h" #include "clang/AST/Expr.h" #include "clang/AST/Type.h" -- cgit v1.2.3