[cfe-commits] r97881 - /cfe/trunk/bindings/python/clang/cindex.py
Benjamin Kramer
benny.kra at googlemail.com
Sat Mar 6 07:38:03 PST 2010
Author: d0k
Date: Sat Mar 6 09:38:03 2010
New Revision: 97881
URL: http://llvm.org/viewvc/llvm-project?rev=97881&view=rev
Log:
Rename the new Iterator objects and raise an assertion instead of returning invalid objects when the key is out of range.
Modified:
cfe/trunk/bindings/python/clang/cindex.py
Modified: cfe/trunk/bindings/python/clang/cindex.py
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/bindings/python/clang/cindex.py?rev=97881&r1=97880&r2=97881&view=diff
==============================================================================
--- cfe/trunk/bindings/python/clang/cindex.py (original)
+++ cfe/trunk/bindings/python/clang/cindex.py Sat Mar 6 09:38:03 2010
@@ -207,7 +207,7 @@
@property
def ranges(self):
- class Ranges:
+ class RangeIterator:
def __init__(self, diag):
self.diag = diag
@@ -217,11 +217,11 @@
def __getitem__(self, key):
return _clang_getDiagnosticRange(self.diag, key)
- return Ranges(self.ptr)
+ return RangeIterator(self.ptr)
@property
def fixits(self):
- class FixIts:
+ class FixItIterator:
def __init__(self, diag):
self.diag = diag
@@ -231,10 +231,12 @@
def __getitem__(self, key):
range = SourceRange()
value = _clang_getDiagnosticFixIt(self.diag, key, byref(range))
+ if len(value) == 0:
+ raise IndexError
return FixIt(range, value)
- return FixIts(self.ptr)
+ return FixItIterator(self.ptr)
def __repr__(self):
return "<Diagnostic severity %r, location %r, spelling %r>" % (
@@ -581,9 +583,6 @@
## Diagnostic Conversion ##
-# Diagnostic objects are temporary, we must extract all the information from the
-# diagnostic object when it is passed to the callback.
-
_clang_getNumDiagnostics = lib.clang_getNumDiagnostics
_clang_getNumDiagnostics.argtypes = [c_object_p]
_clang_getNumDiagnostics.restype = c_uint
@@ -730,7 +729,7 @@
"""
Return an iterable (and indexable) object containing the diagnostics.
"""
- class Diags:
+ class DiagIterator:
def __init__(self, tu):
self.tu = tu
@@ -738,9 +737,12 @@
return int(_clang_getNumDiagnostics(self.tu))
def __getitem__(self, key):
- return Diagnostic(_clang_getDiagnostic(self.tu, key))
+ diag = _clang_getDiagnostic(self.tu, key)
+ if not diag:
+ raise IndexError
+ return Diagnostic(diag)
- return Diags(self)
+ return DiagIterator(self)
class File(ClangObject):
"""
More information about the cfe-commits
mailing list