diff options
-rw-r--r-- | find-modules/sip_generator.py | 7 | ||||
-rw-r--r-- | tests/GenerateSipBindings/cpplib.h | 6 | ||||
-rw-r--r-- | tests/GenerateSipBindings/testscript.py | 5 |
3 files changed, 17 insertions, 1 deletions
diff --git a/find-modules/sip_generator.py b/find-modules/sip_generator.py index 5311e8c5..55220e2f 100644 --- a/find-modules/sip_generator.py +++ b/find-modules/sip_generator.py @@ -256,7 +256,12 @@ class SipGenerator(object): # pass else: - SipGenerator._report_ignoring(container, member) + text = self._read_source(member.extent) + if self.skippable_attribute(container, member, text, sip): + if not sip["name"]: + return "" + else: + SipGenerator._report_ignoring(container, member) def is_copy_constructor(member): if member.kind != CursorKind.CONSTRUCTOR: diff --git a/tests/GenerateSipBindings/cpplib.h b/tests/GenerateSipBindings/cpplib.h index b3ea22a8..958b8750 100644 --- a/tests/GenerateSipBindings/cpplib.h +++ b/tests/GenerateSipBindings/cpplib.h @@ -213,3 +213,9 @@ public: EXPORT int visible_fn() { return 1; } NO_EXPORT int invisible_fn() { return 1; } }; + +class NO_EXPORT Invisible +{ +public: + int someApi() { return 1; } +}; diff --git a/tests/GenerateSipBindings/testscript.py b/tests/GenerateSipBindings/testscript.py index 98443d53..b388841f 100644 --- a/tests/GenerateSipBindings/testscript.py +++ b/tests/GenerateSipBindings/testscript.py @@ -130,3 +130,8 @@ try: assert False except AttributeError as e: assert str(e) == "'Visible' object has no attribute 'invisible_fn'" +try: + invisible = PyTest.CppLib.Invisible() + assert False +except AttributeError as e: + assert str(e) == "module 'PyTest.CppLib' has no attribute 'Invisible'" |