Changes for version 0.59

  • !! Several fixes resulting in yet another 25-30% speedup !!
  • Class::MOP::Class
    • now stores the instance of the instance metaclass to avoid needless recomputation and deletes it when the cache is blown
    • introduce methods to query Class::MOP::Class for the options used to make it immutable as well as the proper immutable transformer. (groditi)
  • Class::MOP::Package
    • {add, has, get, remove}_package_symbol all now accept a HASH ref argument as well as the string. All internal usages now use the HASH ref version.
  • Class::MOP
    • MOP.xs does sanity checks on the coderef to avoid a segfault
    • is_class_loaded check now uses code that was improved in Moose's ClassName type check (Sartak)
    • nonsensical (undef, empty, reference) class names now throw a more direct error in load_class (Sartak)
      • tests for this and other aspects of load_class (Sartak)
  • Class::MOP Class::MOP::Class Class::MOP::Method Class::MOP::Method::Wrapped Class::MOP::Attribute
    • switched usage of reftype to ref because it is much faster

Modules

A Meta Object Protocol for Perl 5
Attribute Meta Object
Class Meta Object
A class to transform Class::MOP::Class metaclasses
Instance Meta Object
Method Meta Object
Method Meta Object for accessors
Method Meta Object for constructors
Abstract base class for generated methods
Method Meta Object to handle before/around/after modifiers
Module Meta Object
Object Meta Object
Package Meta Object
a pragma for installing and using Class::MOP metaclasses