Modifying Functions#
modify-argument#
Function modifications consist of a list of
modify-argument
nodes contained in modify-function, add-function or declare-function nodes. Use the remove-argument, replace-default-expression, remove-default-expression, replace-type, reference-count and define-ownership nodes to specify the details of the modification.<modify-function> <modify-argument index="return | this | 1 ..." rename="..." invalidate-after-use = "true | false" pyi-type="..."> // modifications </modify-argument> </modify-function>Set the
index
attribute to “1” for the first argument, “2” for the second one and so on. Alternatively, set it to “return” or “this” if you want to modify the function’s return value or the object the function is called upon, respectively.The optional
rename
attribute is used to rename a argument and use this new name in the generated code. This attribute can be used to enable the usage ofkeyword arguments
.The optional
pyi-type
attribute specifies the type to appear in the signature strings and.pyi
files. The type string is determined by checking this attribute value, the replace-type modification and the C++ type. The attribute can be used for example to enclose a pointer return value withinOptional[]
to indicate thatNone
can occur.For the optional
invalidate-after-use
attribute, see Invalidation after use .