[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