---
name: "Class::MOP::Method::Accessor"
section: "3pm"
platform: "linux"
package: "perl-moose"
version: "2.4001-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Class::MOP::Method::Accessor"
---

# Class::MOP::Method::Accessor(3pm)

Method Meta Object for accessors

## NAME

Class::MOP::Method::Accessor - Method Meta Object for accessors

## VERSION

version 2.4001

## SYNOPSIS

```
    use Class::MOP::Method::Accessor;
    my $reader = Class::MOP::Method::Accessor->new(
        attribute     => $attribute,
        is_inline     => 1,
        accessor_type => 'reader',
    );
    $reader->body->execute($instance); # call the reader method
```

## DESCRIPTION

This is a subclass of `"Class::MOP::Method"` which is used by `"Class::MOP::Attribute"` to generate accessor code. It handles generation of readers, writers, predicates and clearers. For each type of method, it can either create a subroutine reference, or actually inline code by generating a string and `"eval"`'ing it.

## METHODS

- **Class::MOP::Method::Accessor-\>new(%options)**

  This returns a new `"Class::MOP::Method::Accessor"` based on the `%options` provided.

  - •

    attribute

    This is the `"Class::MOP::Attribute"` for which accessors are being generated. This option is required.

  - •

    accessor\_type

    This is a string which should be one of "reader", "writer", "accessor", "predicate", or "clearer". This is the type of method being generated. This option is required.

  - •

    is\_inline

    This indicates whether or not the accessor should be inlined. This defaults to false.

  - •

    name

    The method name (without a package name). This is required.

  - •

    package\_name

    The package name for the method. This is required.

- **$metamethod-\>accessor\_type**

  Returns the accessor type which was passed to `"new"`.

- **$metamethod-\>is\_inline**

  Returns a boolean indicating whether or not the accessor is inlined.

- **$metamethod-\>associated\_attribute**

  This returns the Class::MOP::Attribute object which was passed to `"new"`.

- **$metamethod-\>body**

  The method itself is *generated* when the accessor object is constructed.

## AUTHORS

- •

  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\>

## COPYRIGHT AND LICENSE

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.
