]> granicus.if.org Git - clang/commitdiff
Fix cindex.py compatibility with older libclang.so
authorDmitri Gribenko <gribozavr@gmail.com>
Sat, 22 Sep 2012 17:52:29 +0000 (17:52 +0000)
committerDmitri Gribenko <gribozavr@gmail.com>
Sat, 22 Sep 2012 17:52:29 +0000 (17:52 +0000)
The issue is that we were calling clang_getCompletionBriefComment
unconditionally.  New we check if this function is available before calling it.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164464 91177308-0d34-0410-b5e6-96231b3b80d8

bindings/python/clang/cindex.py

index 770ff0e0fecf8818d78714bbb9f54fd477db49e9..edd3e707f7f36c9dc0156bd5f5a8adbb43c89f78 100644 (file)
@@ -1737,7 +1737,9 @@ class CompletionString(ClangObject):
 
     @property
     def briefComment(self):
-        return conf.lib.clang_getCompletionBriefComment(self.obj)
+        if conf.function_exists("clang_getCompletionBriefComment"):
+            return conf.lib.clang_getCompletionBriefComment(self.obj)
+        return _CXString()
 
     def __repr__(self):
         return " | ".join([str(a) for a in self]) \
@@ -3097,6 +3099,13 @@ class Config:
 
         return library
 
+    def function_exists(self, name):
+        try:
+            getattr(self.lib, name)
+        except AttributeError:
+            return False
+
+        return True
 
 def register_enumerations():
     for name, value in clang.enumerations.TokenKinds: