table of contents
ExtUtils::XSpp::Node::Argument(3pm) | User Contributed Perl Documentation | ExtUtils::XSpp::Node::Argument(3pm) |
NAME¶
ExtUtils::XSpp::Node::Argument - Node representing a method/function argument
DESCRIPTION¶
An ExtUtils::XSpp::Node subclass representing a single function or method argument such as
int foo = 0.
which would translate to an "ExtUtils::XSpp::Node::Argument" which has its "type" set to "int", its "name" set to "foo" and its "default" set to 0..
METHODS¶
new¶
Creates a new "ExtUtils::XSpp::Node::Argument".
Named parameters: "type" indicating the C++ argument type, "name" indicating the variable name, and optionally "default" indicating the default value of the argument.
uses_length¶
Returns true if the argument uses the XS length feature, false otherwise.
implementation_name¶
Returns the same as the "name" method unless the argument is of the "%length(something)" variant. In that case, "implementation_name" returns a munged version of the name that addresses the name mangling done by xsubpp: "XSauto_length_of_somthing".
fix_name_in_code¶
Given a code string, replaces any occurrances of the name of this "Argument" with its implementation name. If the implementation name is the same as the name, which is the most likely case, the code remains completely untouched.
Returns the potentially modified code.
ACCESSORS¶
type¶
Returns the type of the argument.
name¶
Returns the variable name of the argument variable.
default¶
Returns the default for the function parameter if any.
has_default¶
Returns whether there is a default for the function parameter.
function¶
Returns a reference to the containing function/method.
index¶
Returns the 0-based index of the argument in the argument list.
2022-06-13 | perl v5.34.0 |