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.