GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Class::MOP::Method(3) User Contributed Perl Documentation Class::MOP::Method(3)

Class::MOP::Method - Method Meta Object

version 2.2201

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 Class::MOP::Method instance, followed by a hash of options.

The options are:

  • name

    The method name (without a package name). This is required if $code is a coderef.

  • package_name

    The package name for the method. This is required if $code is a coderef.

  • associated_metaclass

    An optional Class::MOP::Class object. This is the metaclass for the method's class.

$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 Class::MOP::Class 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 Class::MOP::Class 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 Class::MOP::Class instance for this class.

It should also be noted that Class::MOP will actually bootstrap this module by installing a number of attribute meta-objects into its metaclass.

  • Stevan Little <stevan@cpan.org>
  • Dave Rolsky <autarch@urth.org>
  • Jesse Luehrs <doy@cpan.org>
  • Shawn M Moore <sartak@cpan.org>
  • יובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>
  • Karen Etheridge <ether@cpan.org>
  • Florian Ragwitz <rafl@debian.org>
  • Hans Dieter Pearcey <hdp@cpan.org>
  • Chris Prather <chris@prather.org>
  • Matt S Trout <mstrout@cpan.org>

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.

2021-11-07 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.