diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2018-09-14 11:48:10 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2018-09-27 06:16:46 +0000 |
commit | 2412e332a9984891aa481176141d403183ac3b11 (patch) | |
tree | 5646f4a929a3585131eb09009f404834a55c6cd2 /sources/shiboken2/ApiExtractor/doc/typesystem_manipulating_objects.rst | |
parent | 0f8b1cf2daae6fcc0a922a9e2514f12374eeee31 (diff) |
Add exception handling
Add XML elements specifying an exception handling mode to type system,
complex type entries (classes) and function modifications.
From the mode and the exception specification as detected
by Clang, deduce whether to generate try/catch code.
Task-number: PYSIDE-62
Change-Id: Ib76adc21cefd81bf9f82f819a3c151056c33a3b7
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/shiboken2/ApiExtractor/doc/typesystem_manipulating_objects.rst')
-rw-r--r-- | sources/shiboken2/ApiExtractor/doc/typesystem_manipulating_objects.rst | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sources/shiboken2/ApiExtractor/doc/typesystem_manipulating_objects.rst b/sources/shiboken2/ApiExtractor/doc/typesystem_manipulating_objects.rst index 2d0c40e20..531c4ece8 100644 --- a/sources/shiboken2/ApiExtractor/doc/typesystem_manipulating_objects.rst +++ b/sources/shiboken2/ApiExtractor/doc/typesystem_manipulating_objects.rst @@ -75,6 +75,7 @@ modify-function remove="all | c++" access="public | private | protected" allow-thread="true | auto | false" + exception-handling="off | auto-off | auto-on | on" rename="..." /> </object-type> @@ -92,6 +93,17 @@ modify-function The value ``auto`` means that it will be turned off for functions for which it is deemed to be safe, for example, simple getters. + The ``exception-handling`` attribute specifies whether to generate exception + handling code (nest the function call into try / catch statements). It accepts + the following values: + + * no, false: Do not generate exception handling code + * auto-off: Generate exception handling code for functions + declaring a non-empty ``throw`` list + * auto-on: Generate exception handling code unless function + declares ``noexcept`` + * yes, true: Always generate exception handling code + The ``remove``, ``access`` and ``rename`` attributes are *optional* attributes for added convenience; they serve the same purpose as the deprecated tags :ref:`remove`, :ref:`access` and :ref:`rename`. |