Looks good to me!

On 10/16/12 10:19 AM, Matthias Kleine wrote:
http://llvm-reviews.chandlerc.com/D64

Files:
   bindings/python/clang/cindex.py
   bindings/python/tests/cindex/test_cursor.py

Index: bindings/python/clang/cindex.py
===================================================================
--- bindings/python/clang/cindex.py
+++ bindings/python/clang/cindex.py
@@ -1271,6 +1271,12 @@
          # created.
          return self._tu
+ def get_arguments(self):
+        """Return an iterator for accessing the arguments of this cursor."""
+        num_args = conf.lib.clang_Cursor_getNumArguments(self)
+        for i in range(0, num_args):
+            yield conf.lib.clang_Cursor_getArgument(self, i)
+
      def get_children(self):
          """Return an iterator for accessing the children of this cursor."""
@@ -2973,6 +2979,15 @@
    ("clang_visitChildren",
     [Cursor, callbacks['cursor_visit'], py_object],
     c_uint),
+
+  ("clang_Cursor_getNumArguments",
+   [Cursor],
+   c_int),
+
+  ("clang_Cursor_getArgument",
+   [Cursor, c_uint],
+   Cursor,
+   Cursor.from_result),
  ]
class LibclangError(Exception):
Index: bindings/python/tests/cindex/test_cursor.py
===================================================================
--- bindings/python/tests/cindex/test_cursor.py
+++ bindings/python/tests/cindex/test_cursor.py
@@ -241,3 +241,12 @@
      assert len(tokens) == 7
      assert tokens[0].spelling == 'int'
      assert tokens[1].spelling == 'foo'
+
+def test_get_arguments():
+    tu = get_tu('void foo(int i, int j);')
+    foo = get_cursor(tu, 'foo')
+    arguments = list(foo.get_arguments())
+
+    assert len(arguments) == 2
+    assert arguments[0].spelling == "i"
+    assert arguments[1].spelling == "j"


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to