Changes for version 0.43

  • Class::MOP
    • Add support for the 'builder' attribute (groditi)
  • Class::MOP::Class
    • optimise metaclass-already-exists check in construct_class_instance (groditi)
    • duplicate check into initialize to save a call through (groditi)
  • Class::MOP::Attribute
    • Add support for the 'builder' attribute (groditi)
    • Make predicates check for the existence of a value, not whether it is defined (groditi)
  • Class::MOP::Instance
    • Make predicates check for the existence of a value, not whether it is defined (groditi)
  • Class::MOP::Method::Accessor
    • made this a subclass of Class::MOP::Method::Generated
      • removed the relevant attributes
  • Class::MOP::Method::Constructor
    • fixed the cached values we had to be more sane
    • made this a subclass of Class::MOP::Method::Generated
    • fixed generated constructor so it properly handles subclasses now.
      • added tests for this
    • added the option to allow for both inlined and non-inlined constructors.
    • Update inlined methods for builder and predicate changes (groditi)
  • Class::MOP::Method::Generated
    • added this class as an abstract base for the Class::MOP::Method::{Constructor,Accessor} classes
      • added tests for this
  • *t/
    • Alter tests (005, 014 020, 021) for new builder addition (groditi)
    • Tests for new predicate behavior (and corrections to old tests) (groditi)
  • *examples/
    • Update ArrayRef based class example to work with predicate changes

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