]> granicus.if.org Git - clang/commitdiff
cindex/Python: Update to support _getInstantiationLocation's new offset value.
authorDaniel Dunbar <daniel@zuster.org>
Fri, 29 Jan 2010 17:02:32 +0000 (17:02 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Fri, 29 Jan 2010 17:02:32 +0000 (17:02 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94813 91177308-0d34-0410-b5e6-96231b3b80d8

bindings/python/clang/cindex.py

index ee996bbf8b84d377a78c54898758a23f448ebb6d..1734ddbcaf714c4021b253ce0e854d2d3edd3097 100644 (file)
@@ -105,10 +105,10 @@ class SourceLocation(Structure):
 
     def _get_instantiation(self):
         if self._data is None:
-            f, l, c = c_object_p(), c_uint(), c_uint()
-            SourceLocation_loc(self, byref(f), byref(l), byref(c))
+            f, l, c, o = c_object_p(), c_uint(), c_uint(), c_uint()
+            SourceLocation_loc(self, byref(f), byref(l), byref(c), byref(o))
             f = File(f) if f else None
-            self._data = (f, int(l.value), int(c.value))
+            self._data = (f, int(l.value), int(c.value), int(c.value))
         return self._data
 
     @property
@@ -126,6 +126,11 @@ class SourceLocation(Structure):
         """Get the column represented by this source location."""
         return self._get_instantiation()[2]
 
+    @property
+    def offset(self):
+        """Get the file offset represented by this source location."""
+        return self._get_instantiation()[3]
+
     def __repr__(self):
         return "<SourceLocation file %r, line %r, column %r>" % (
             self.file.name if self.file else None, self.line, self.column)
@@ -593,7 +598,8 @@ _CXString_getCString.restype = c_char_p
 # Source Location Functions
 SourceLocation_loc = lib.clang_getInstantiationLocation
 SourceLocation_loc.argtypes = [SourceLocation, POINTER(c_object_p),
-                               POINTER(c_uint), POINTER(c_uint)]
+                               POINTER(c_uint), POINTER(c_uint),
+                               POINTER(c_uint)]
 
 # Source Range Functions
 SourceRange_start = lib.clang_getRangeStart