diff options
author | Saleem Abdulrasool <compnerd@compnerd.org> | 2014-04-25 02:58:03 +0000 |
---|---|---|
committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2014-04-25 02:58:03 +0000 |
commit | 05f9613610aba1f041e79a2efbb4dc32ebaa3e70 (patch) | |
tree | b93508bb28e647d22572eb923258aa88fc3276f4 /clang/bindings/python/tests | |
parent | b59d7c73b0035b16ed59d0b518697185709df56b (diff) | |
download | bcm5719-llvm-05f9613610aba1f041e79a2efbb4dc32ebaa3e70.tar.gz bcm5719-llvm-05f9613610aba1f041e79a2efbb4dc32ebaa3e70.zip |
bindings: expose C++ access specifiers
Expose the enum CX_CXXAccessSpecifier in the python bindings as a property of
the cursor. If access specifier is not applicable to the node, return the
INVALID specifier rather than raising an exception.
Patch by Tamás Szeli!
llvm-svn: 207173
Diffstat (limited to 'clang/bindings/python/tests')
-rw-r--r-- | clang/bindings/python/tests/cindex/test_access_specifiers.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/clang/bindings/python/tests/cindex/test_access_specifiers.py b/clang/bindings/python/tests/cindex/test_access_specifiers.py new file mode 100644 index 00000000000..cfa04dc8657 --- /dev/null +++ b/clang/bindings/python/tests/cindex/test_access_specifiers.py @@ -0,0 +1,34 @@ + +from clang.cindex import AccessSpecifier +from clang.cindex import Cursor +from clang.cindex import TranslationUnit + +from .util import get_cursor +from .util import get_tu + +def test_access_specifiers(): + """Ensure that C++ access specifiers are available on cursors""" + + tu = get_tu(""" +class test_class { +public: + void public_member_function(); +protected: + void protected_member_function(); +private: + void private_member_function(); +}; +""", lang = 'cpp') + + test_class = get_cursor(tu, "test_class") + assert test_class.access_specifier == AccessSpecifier.INVALID; + + public = get_cursor(tu.cursor, "public_member_function") + assert public.access_specifier == AccessSpecifier.PUBLIC + + protected = get_cursor(tu.cursor, "protected_member_function") + assert protected.access_specifier == AccessSpecifier.PROTECTED + + private = get_cursor(tu.cursor, "private_member_function") + assert private.access_specifier == AccessSpecifier.PRIVATE + |