From 8560b8437fdc84f16221cabb37397f092f52e087 Mon Sep 17 00:00:00 2001 From: Marcelo Lira Date: Sat, 21 Nov 2009 21:29:12 -0300 Subject: The code injections in the native/beginning position come after the C++ arguments conversion to a Python argument tuple. The documentation was updated with this information. The virtual method writer was also fixed to not convert removed arguments. --- doc/codeinjectionsemantics.rst | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'doc/codeinjectionsemantics.rst') diff --git a/doc/codeinjectionsemantics.rst b/doc/codeinjectionsemantics.rst index e1891188c..c0d6fa2d7 100644 --- a/doc/codeinjectionsemantics.rst +++ b/doc/codeinjectionsemantics.rst @@ -66,9 +66,10 @@ The following table describes the semantics of ``inject-code`` tag as used on | | | |code here will be executed after all the wrapped class | | | | |components have been initialized. | +---------------+------+---------+--------------------------------------------------------------+ - |modify-function|native|beginning|Code here is put on the beginning of a virtual method | - | | | |override on the C++ wrapper class (the one responsible for | - | | | |passing C++ calls to Python overrides, if there is any). | + |modify-function|native|beginning|Code here is put on the virtual method override of a C++ | + | | | |wrapper class (the one responsible for passing C++ calls to a | + | | | |Python override, if there is any), right after the C++ | + | | | |arguments have been converted but before the Python call. | | | +---------+--------------------------------------------------------------+ | | |end |This code injection goes to the end of a virtual method | | | | |override on the C++ wrapper class, right before the return | @@ -199,8 +200,11 @@ class is polymorphic. if (!method) return this->InjectCode::virtualMethod(arg); + (... here C++ arguments are converted to Python ...) + // INJECT-CODE: - // Uses: pre method call custom code. + // Uses: pre method call custom code, modify the argument before the + // Python call. (... Python method call goes in here ...) -- cgit v1.2.3