diff options
author | Tobias Grosser <grosser@fim.uni-passau.de> | 2012-02-05 11:42:03 +0000 |
---|---|---|
committer | Tobias Grosser <grosser@fim.uni-passau.de> | 2012-02-05 11:42:03 +0000 |
commit | ebb0ae82a21cf238a581b35c8fd85540cf41cac0 (patch) | |
tree | 60b83c1eaea0aae5add931a9febe3caee50b3867 /clang/bindings/python | |
parent | 9fc76f2cbf72697ddaf2a463749d19e2be5d3293 (diff) | |
download | bcm5719-llvm-ebb0ae82a21cf238a581b35c8fd85540cf41cac0.tar.gz bcm5719-llvm-ebb0ae82a21cf238a581b35c8fd85540cf41cac0.zip |
[clang.py] Implement Cursor.hash
Contributed by: Gregory Szorc <gregory.szorc@gmail.com>
llvm-svn: 149826
Diffstat (limited to 'clang/bindings/python')
-rw-r--r-- | clang/bindings/python/clang/cindex.py | 12 | ||||
-rw-r--r-- | clang/bindings/python/tests/cindex/test_cursor.py | 1 |
2 files changed, 13 insertions, 0 deletions
diff --git a/clang/bindings/python/clang/cindex.py b/clang/bindings/python/clang/cindex.py index e385ca2893e..4c9f96ddb38 100644 --- a/clang/bindings/python/clang/cindex.py +++ b/clang/bindings/python/clang/cindex.py @@ -969,6 +969,14 @@ class Cursor(Structure): self._type = Cursor_type(self) return self._type + @property + def hash(self): + """Returns a hash of the cursor as an int.""" + if not hasattr(self, '_hash'): + self._hash = Cursor_hash(self) + + return self._hash + def get_children(self): """Return an iterator for accessing the children of this cursor.""" @@ -1735,6 +1743,10 @@ Cursor_eq = lib.clang_equalCursors Cursor_eq.argtypes = [Cursor, Cursor] Cursor_eq.restype = c_uint +Cursor_hash = lib.clang_hashCursor +Cursor_hash.argtypes = [Cursor] +Cursor_hash.restype = c_uint + Cursor_spelling = lib.clang_getCursorSpelling Cursor_spelling.argtypes = [Cursor] Cursor_spelling.restype = _CXString diff --git a/clang/bindings/python/tests/cindex/test_cursor.py b/clang/bindings/python/tests/cindex/test_cursor.py index 3dde891a9c2..efcede90154 100644 --- a/clang/bindings/python/tests/cindex/test_cursor.py +++ b/clang/bindings/python/tests/cindex/test_cursor.py @@ -42,6 +42,7 @@ def test_get_children(): assert tu_nodes[0].location.file.name == 't.c' assert tu_nodes[0].location.line == 4 assert tu_nodes[0].location.column == 8 + assert tu_nodes[0].hash > 0 s0_nodes = list(tu_nodes[0].get_children()) assert len(s0_nodes) == 2 |