Class::MOP::Method - Method Meta Object
|
Class::MOP::Method - Method Meta Object
version 2.1605
The Method Protocol is very small, since methods in Perl 5 are just
subroutines in a specific package. We provide a very basic
introspection interface.
- Class::MOP::Method-wrap($code, %options) >>
-
This is the constructor. It accepts a method body in the form of
either a code reference or a the Class::MOP::Method manpage instance, followed
by a hash of options.
-
The options are:
- $metamethod-
clone(%params)
>>
-
This makes a shallow clone of the method object. In particular,
subroutine reference itself is shared between all clones of a given
method.
-
When a method is cloned, the original method object will be available
by calling original_method
on the clone.
- $metamethod-body >>
-
This returns a reference to the method's subroutine.
- $metamethod-name >>
-
This returns the method's name.
- $metamethod-package_name >>
-
This returns the method's package name.
- $metamethod-fully_qualified_name >>
-
This returns the method's fully qualified name (package name and
method name).
- $metamethod-associated_metaclass >>
-
This returns the the Class::MOP::Class manpage object for the method, if one
exists.
- $metamethod-original_method >>
-
If this method object was created as a clone of some other method
object, this returns the object that was cloned.
- $metamethod-original_name >>
-
This returns the method's original name, wherever it was first
defined.
-
If this method is a clone of a clone (of a clone, etc.), this method
returns the name from the first method in the chain of clones.
- $metamethod-original_package_name >>
-
This returns the method's original package name, wherever it was first
defined.
-
If this method is a clone of a clone (of a clone, etc.), this method
returns the package name from the first method in the chain of
clones.
- $metamethod-original_fully_qualified_name >>
-
This returns the method's original fully qualified name, wherever it
was first defined.
-
If this method is a clone of a clone (of a clone, etc.), this method
returns the fully qualified name from the first method in the chain
of clones.
- $metamethod-is_stub >>
-
Returns true if the method is just a stub:
-
sub foo;
- $metamethod-
attach_to_class($metaclass)
>>
-
Given a the Class::MOP::Class manpage object, this method sets the associated
metaclass for the method. This will overwrite any existing associated
metaclass.
- $metamethod-detach_from_class >>
-
Removes any associated metaclass object for the method.
- $metamethod-
execute(...)
>>
-
This executes the method. Any arguments provided will be passed on to
the method itself.
- Class::MOP::Method-meta >>
-
This will return a the Class::MOP::Class manpage instance for this class.
-
It should also be noted that the Class::MOP manpage will actually bootstrap
this module by installing a number of attribute meta-objects into its
metaclass.
This software is copyright (c) 2006 by Infinity Interactive, Inc.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
Class::MOP::Method - Method Meta Object
|