NAME¶
ExtUtils::XSpp::Node::Class - A class (inherits from Package).
DESCRIPTION¶
An ExtUtils::XSpp::Node::Package sub-class representing a class declaration such
as
%name{PerlClassName} class MyClass : public BaseClass
{
...
}
The Perl-level class name and the C++ class name attributes are inherited from
the ExtUtils::XSpp::Node::Package class.
METHODS¶
new¶
Creates a new "ExtUtils::XSpp::Node::Class" object.
Optional named parameters: "methods" can be a reference to an array of
methods (ExtUtils::XSpp::Node::Method) of the class, and
"base_classes", a reference to an array of base classes
("ExtUtils::XSpp::Node::Class" objects). "catch" may be a
list of exception names that all methods in the class handle.
add_methods¶
Adds new methods to the class. By default, their scope is "public".
Takes arbitrary number of arguments which are processed in order.
If an argument is an ExtUtils::XSpp::Node::Access, the current method scope is
changed accordingly for all following methods.
If an argument is an ExtUtils::XSpp::Node::Method it is added to the list of
methods of the class. The method's class name is set to the current class and
its scope is set to the current method scope.
ACCESSORS¶
methods¶
Returns the internal reference to the array of methods in this class. Each of
the methods is an "ExtUtils::XSpp::Node::Method"
base_classes¶
Returns the internal reference to the array of base classes of this class.
If the base classes have been defined in the same file, these are the complete
class objects including method definitions, otherwise only the C++ and Perl
name of the class are available as attributes.