The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Object::Pad::MOP::Class - meta-object representation of a Object::Pad class

DESCRIPTION

Instances of this class represent a class implemented by Object::Pad. Accessors provide information about the class, and methods that can alter the class, typically by adding new elements to it, allow a program to extend existing classes.

Where possible, this API is designed to be compatible with MOP::Class.

This API should be considered experimental even within the overall context in which Object::Pad is expermental.

METHODS

name

   $name = $metaclass->name

Returns the name of the class, as a plain string.

superclasses

   @classes = $metaclass->superclasses

Returns a list of superclasses, as Object::Pad::MOP::Class instances.

Because Object::Pad does not support multiple superclasses, this list will contain at most one item.

add_BUILD

   $metaclass->add_BUILD( $code )

Adds a new BUILD block to the class, as a CODE reference.

add_method

   $metamethod = $metaclass->add_method( $name, $code )

Adds a new named method to the class under the given name, as CODE reference.

Returns an instance of Object::Pad::MOP::Method to represent it.

get_own_method

   $metamethod = $metaclass->get_own_method( $name )

Returns an instance of Object::Pad::MOP::Slot to represent the method of the given name, if one exists. If not an exception is thrown.

This can only see directly-applied methods; that is, methods created by the method keyword on the class itself, or added via "add_method". This will not see other names in the package stash, even if they contain a CODE slot, nor will it see methods inherited from a superclass.

add_slot

   $metaslot = $metaclass->add_slot( $name )

Adds a new slot to the class, using the given name (which must begin with the sigil character $, @ or %).

Returns an instance of Object::Pad::MOP::Slot to represent it.

get_slot

   $metaslot = $metaclass->get_slot( $name )

Returns an instance of Object::Pad::MOP::Slot to represent the slot of the given name, if one exists. If not an exception is thrown.

AUTHOR

Paul Evans <leonerd@leonerd.org.uk>