e.pos,
e.cname)
return scope
-
+
+ def add_include_file(self, filename):
+ self.outer_scope.add_include_file(filename)
class PropertyScope(Scope):
# Scope holding the __get__, __set__ and __del__ methods for
cdef int raise_index_value "raise_index"(bint fire) except +ValueError
cdef int raise_index_custom "raise_index"(bint fire) except +raise_py_error
+ cdef cppclass Foo:
+ int bar_raw "bar"(bint fire) except +
+ int bar_value "bar"(bint fire) except +ValueError
+ int bar_custom "bar"(bint fire) except +raise_py_error
+
+
def test_int_raw(bint fire):
"""
>>> test_int_raw(False)
TypeError: custom
"""
raise_index_custom(fire)
+
+def test_cppclass_method_raw(bint fire):
+ """
+ >>> test_cppclass_method_raw(False)
+ >>> test_cppclass_method_raw(True)
+ Traceback (most recent call last):
+ ...
+ RuntimeError: Unknown exception
+ """
+ foo = new Foo()
+ try:
+ foo.bar_raw(fire)
+ finally:
+ del foo
+
+def test_cppclass_method_value(bint fire):
+ """
+ >>> test_cppclass_method_value(False)
+ >>> test_cppclass_method_value(True)
+ Traceback (most recent call last):
+ ...
+ ValueError
+ """
+ foo = new Foo()
+ try:
+ foo.bar_value(fire)
+ finally:
+ del foo
+
+def test_cppclass_method_custom(bint fire):
+ """
+ >>> test_cppclass_method_custom(False)
+ >>> test_cppclass_method_custom(True)
+ Traceback (most recent call last):
+ ...
+ TypeError: custom
+ """
+ foo = new Foo()
+ try:
+ foo.bar_custom(fire)
+ finally:
+ del foo