[cfe-commits] r94037 - in /cfe/trunk: include/clang-c/Index.h tools/CIndex/CIndex.cpp tools/CIndex/CIndex.exports
Douglas Gregor
dgregor at apple.com
Wed Jan 20 13:45:59 PST 2010
Author: dgregor
Date: Wed Jan 20 15:45:58 2010
New Revision: 94037
URL: http://llvm.org/viewvc/llvm-project?rev=94037&view=rev
Log:
Kill some CXDecl-related APIs that have been superceded by
CXCursor-based APIs.
Modified:
cfe/trunk/include/clang-c/Index.h
cfe/trunk/tools/CIndex/CIndex.cpp
cfe/trunk/tools/CIndex/CIndex.exports
Modified: cfe/trunk/include/clang-c/Index.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang-c/Index.h?rev=94037&r1=94036&r2=94037&view=diff
==============================================================================
--- cfe/trunk/include/clang-c/Index.h (original)
+++ cfe/trunk/include/clang-c/Index.h Wed Jan 20 15:45:58 2010
@@ -438,9 +438,7 @@
/*
* CXDecl Operations.
*/
-CINDEX_LINKAGE CXCursor clang_getCursorFromDecl(CXDecl);
CINDEX_LINKAGE CXEntity clang_getEntityFromDecl(CXIndex, CXDecl);
-CINDEX_LINKAGE CXString clang_getDeclSpelling(CXDecl);
/**
* \brief Identifies a specific source location within a translation
@@ -610,13 +608,6 @@
unsigned *endLine,
unsigned *endColumn);
-/*
- * If CXCursorKind == Cursor_Reference, then this will return the referenced
- * declaration.
- * If CXCursorKind == Cursor_Declaration, then this will return the declaration.
- */
-CINDEX_LINKAGE CXDecl clang_getCursorDecl(CXCursor);
-
/**
* \brief A semantic string that describes a code-completion result.
*
Modified: cfe/trunk/tools/CIndex/CIndex.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/CIndex/CIndex.cpp?rev=94037&r1=94036&r2=94037&view=diff
==============================================================================
--- cfe/trunk/tools/CIndex/CIndex.cpp (original)
+++ cfe/trunk/tools/CIndex/CIndex.cpp Wed Jan 20 15:45:58 2010
@@ -594,36 +594,6 @@
}
//===----------------------------------------------------------------------===//
-// CXDecl Operations.
-//===----------------------------------------------------------------------===//
-
-extern "C" {
-CXString clang_getDeclSpelling(CXDecl AnonDecl) {
- assert(AnonDecl && "Passed null CXDecl");
- Decl *D = static_cast<Decl *>(AnonDecl);
- NamedDecl *ND = dyn_cast<NamedDecl>(D);
- if (!ND)
- return CIndexer::createCXString("");
-
- if (ObjCMethodDecl *OMD = dyn_cast<ObjCMethodDecl>(ND))
- return CIndexer::createCXString(OMD->getSelector().getAsString().c_str(),
- true);
-
- if (ObjCCategoryImplDecl *CIMP = dyn_cast<ObjCCategoryImplDecl>(ND))
- // No, this isn't the same as the code below. getIdentifier() is non-virtual
- // and returns different names. NamedDecl returns the class name and
- // ObjCCategoryImplDecl returns the category name.
- return CIndexer::createCXString(CIMP->getIdentifier()->getNameStart());
-
- if (ND->getIdentifier())
- return CIndexer::createCXString(ND->getIdentifier()->getNameStart());
-
- return CIndexer::createCXString("");
-}
-
-} // end: extern "C"
-
-//===----------------------------------------------------------------------===//
// CXFile Operations.
//===----------------------------------------------------------------------===//
@@ -692,6 +662,27 @@
return CursorVis.VisitChildren(parent);
}
+static CXString getDeclSpelling(Decl *D) {
+ NamedDecl *ND = dyn_cast_or_null<NamedDecl>(D);
+ if (!ND)
+ return CIndexer::createCXString("");
+
+ if (ObjCMethodDecl *OMD = dyn_cast<ObjCMethodDecl>(ND))
+ return CIndexer::createCXString(OMD->getSelector().getAsString().c_str(),
+ true);
+
+ if (ObjCCategoryImplDecl *CIMP = dyn_cast<ObjCCategoryImplDecl>(ND))
+ // No, this isn't the same as the code below. getIdentifier() is non-virtual
+ // and returns different names. NamedDecl returns the class name and
+ // ObjCCategoryImplDecl returns the category name.
+ return CIndexer::createCXString(CIMP->getIdentifier()->getNameStart());
+
+ if (ND->getIdentifier())
+ return CIndexer::createCXString(ND->getIdentifier()->getNameStart());
+
+ return CIndexer::createCXString("");
+}
+
CXString clang_getCursorSpelling(CXCursor C) {
assert(getCursorDecl(C) && "CXCursor has null decl");
if (clang_isTranslationUnit(C.kind))
@@ -720,11 +711,11 @@
if (clang_isExpression(C.kind)) {
Decl *D = getDeclFromExpr(getCursorExpr(C));
if (D)
- return clang_getDeclSpelling(D);
+ return getDeclSpelling(D);
return CIndexer::createCXString("");
}
- return clang_getDeclSpelling(getCursorDecl(C));
+ return getDeclSpelling(getCursorDecl(C));
}
const char *clang_getCursorKindSpelling(enum CXCursorKind Kind) {
@@ -817,11 +808,6 @@
return X == Y;
}
-CXCursor clang_getCursorFromDecl(CXDecl AnonDecl) {
- assert(AnonDecl && "Passed null CXDecl");
- return MakeCXCursor(static_cast<NamedDecl *>(AnonDecl));
-}
-
unsigned clang_isInvalid(enum CXCursorKind K) {
return K >= CXCursor_FirstInvalid && K <= CXCursor_LastInvalid;
}
@@ -850,23 +836,6 @@
return C.kind;
}
-CXDecl clang_getCursorDecl(CXCursor C) {
- if (clang_isDeclaration(C.kind))
- return getCursorDecl(C);
-
- if (clang_isReference(C.kind)) {
- if (getCursorStmt(C))
- return getDeclFromExpr(getCursorStmt(C));
-
- return getCursorDecl(C);
- }
-
- if (clang_isExpression(C.kind))
- return getDeclFromExpr(getCursorStmt(C));
-
- return 0;
-}
-
static SourceLocation getLocationFromExpr(Expr *E) {
if (ObjCMessageExpr *Msg = dyn_cast<ObjCMessageExpr>(E))
return /*FIXME:*/Msg->getLeftLoc();
Modified: cfe/trunk/tools/CIndex/CIndex.exports
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/CIndex/CIndex.exports?rev=94037&r1=94036&r2=94037&view=diff
==============================================================================
--- cfe/trunk/tools/CIndex/CIndex.exports (original)
+++ cfe/trunk/tools/CIndex/CIndex.exports Wed Jan 20 15:45:58 2010
@@ -12,17 +12,14 @@
_clang_getCompletionChunkKind
_clang_getCompletionChunkText
_clang_getCursor
-_clang_getCursorDecl
_clang_getCursorDefinition
_clang_getCursorExtent
-_clang_getCursorFromDecl
_clang_getCursorKind
_clang_getCursorKindSpelling
_clang_getCursorLocation
_clang_getCursorReferenced
_clang_getCursorSpelling
_clang_getCursorUSR
-_clang_getDeclSpelling
_clang_getDeclaration
_clang_getDefinitionSpellingAndExtent
_clang_getEntityFromDecl
More information about the cfe-commits
mailing list