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.