---
name: "Mouse::Meta::Class"
section: "3pm"
platform: "linux"
package: "perl-mouse"
version: "2.6.2-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Mouse::Meta::Class"
---

# Mouse::Meta::Class(3pm)

The Mouse class metaclass

## NAME

Mouse::Meta::Class - The Mouse class metaclass

## VERSION

This document describes Mouse version v2.6.2

## DESCRIPTION

This class is a meta object protocol for Mouse classes, which is a subset of Moose::Meta:::Class.

## METHODS

### "initialize(ClassName) -\> Mouse::Meta::Class"

Finds or creates a `"Mouse::Meta::Class"` instance for the given ClassName. Only one instance should exist for a given class.

### "name -\> ClassName"

Returns the name of the owner class.

### "superclasses -\> ClassNames" superclass(ClassNames)

Gets (or sets) the list of superclasses of the owner class.

### "add\_method(name =\> CodeRef)"

Adds a method to the owner class.

### "has\_method(name) -\> Bool"

Returns whether we have a method with the given name.

### "get\_method(name) -\> Mouse::Meta::Method \| undef"

Returns a Mouse::Meta::Method with the given name.

Note that you can also use `"$metaclass->name->can($name)"` for a method body.

### "get\_method\_list -\> Names"

Returns a list of method names which are defined in the local class. If you want a list of all applicable methods for a class, use the `"get_all_methods"` method.

### "get\_all\_methods -\> (Mouse::Meta::Method)"

Return the list of all Mouse::Meta::Method instances associated with the class and its superclasses.

### "add\_attribute(name =\> spec \| Mouse::Meta::Attribute)"

Begins keeping track of the existing Mouse::Meta::Attribute for the owner class.

### "has\_attribute(Name) -\> Bool"

Returns whether we have a Mouse::Meta::Attribute with the given name.

### "get\_attribute Name -\> Mouse::Meta::Attribute \| undef"

Returns the Mouse::Meta::Attribute with the given name.

### "get\_attribute\_list -\> Names"

Returns a list of attribute names which are defined in the local class. If you want a list of all applicable attributes for a class, use the `"get_all_attributes"` method.

### "get\_all\_attributes -\> (Mouse::Meta::Attribute)"

Returns the list of all Mouse::Meta::Attribute instances associated with this class and its superclasses.

### "linearized\_isa -\> \[ClassNames\]"

Returns the list of classes in method dispatch order, with duplicates removed.

### "new\_object(Parameters) -\> Instance"

Creates a new instance.

### "clone\_object(Instance, Parameters) -\> Instance"

Clones the given instance which must be an instance governed by this metaclass.

### "throw\_error(Message, Parameters)"

Throws an error with the given message.

## SEE ALSO

Mouse::Meta::Module

Moose::Meta::Class

Class::MOP::Class
