aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken6/doc/typesystem_codegeneration.rst
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2020-10-28 07:51:22 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2020-10-28 09:34:35 +0000
commit2a2a0827fa54b2eeb48e0e2090dfc503492ef33e (patch)
tree4311f7ad34ff98fabcbe4c34e59a970ae4ff4bcf /sources/shiboken6/doc/typesystem_codegeneration.rst
parentfb1c0f204e09ba29fa3d360d72231d4ed468c1e4 (diff)
Rename shiboken2 to shiboken6
Adapt CMake files, build scripts, tests and examples. Task-number: PYSIDE-904 Change-Id: I4cb5ee4c8df539546014b08202a7b1e98ed3ff07 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'sources/shiboken6/doc/typesystem_codegeneration.rst')
-rw-r--r--sources/shiboken6/doc/typesystem_codegeneration.rst37
1 files changed, 37 insertions, 0 deletions
diff --git a/sources/shiboken6/doc/typesystem_codegeneration.rst b/sources/shiboken6/doc/typesystem_codegeneration.rst
new file mode 100644
index 000000000..fb41e28e1
--- /dev/null
+++ b/sources/shiboken6/doc/typesystem_codegeneration.rst
@@ -0,0 +1,37 @@
+.. _codegenerationterminology:
+
+***************************
+Code Generation Terminology
+***************************
+
+Types of generated code
+=======================
+
+
+**Python Wrapper**
+ The code that exports the C++ wrapped class to Python. **Python wrapper**
+ refers to all the code needed to export a C++ class to Python, and
+ **Python method/function wrapper** means the specific function that calls
+ the C++ method/function on behalf of Python. This code is invoked from
+ the Python side.
+
+**C++ Wrapper**
+ This term refers to a generated C++ class that extends a class from the
+ wrapped library. It is generated only when a wrapped C++ class is
+ polymorphic, i.e. it has or inherits any virtual methods.
+ The **C++ Wrapper** overrides the virtual methods of the wrapped C++ class
+ with code that allows for overriding the method with a Python implementation.
+ It checks whether a corresponding method in the Python instance exists and
+ calls it. This code is invoked from the C++ side.
+
+
+Specifying a target for modifications
+=====================================
+
+In the typesystem files, the ``class`` attribute is used to which class a
+modification is applied (see :ref:`codeinjectionsemantics`,
+:ref:`objectownership`).
+The value **Target** means the modification is applied to the
+**Python Wrapper**. The value **Native** means the modification is applied to
+the **C++ Wrapper**.
+