Modifying Functions

modify-argument

The modify-argument node specifies which of the given function鈥檚 arguments the modification affects, and is a child of the modify-function node. 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 ..." >
        // 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 鈥渞eturn鈥 or 鈥渢his鈥 if you want to modify the function鈥檚 return value or the object the function is called upon, respectively.

remove

The remove node removes the given method from the generated target language API, and it is a child of the modify-function node.

<modify-function>
    <remove class="all" />
</modify-function>

Warning

This tag is deprecated, use the remove attribute from modify-function tag instead.

access

The access node changes the access privileges of the given function in the generated target language API, and it is a child of the modify-function node.

<modify-function>
    <access modifier="public | protected | private"/>
</modify-function>

Warning

This tag is deprecated, use the access attribute from modify-function tag instead.

rename

The rename node changes the name of the given function in the generated target language API, and it is a child of the modify-function node.

<modify-function>
    <rename to="..." />
</modify-function>

The to attribute is the new name of the function.

Warning

This tag is deprecated, use the rename attribute from modify-function tag instead.