├── .gitignore ├── .travis.yml ├── Changes ├── README.md ├── dist.ini ├── lib ├── MOP.pm └── MOP │ ├── Class.pm │ ├── Internal │ └── Util.pm │ ├── Method.pm │ ├── Method │ └── Attribute.pm │ ├── Role.pm │ ├── Slot.pm │ ├── Slot │ └── Initializer.pm │ └── Util.pm ├── t ├── 001-examples │ ├── 001-point.t │ └── 007-currency.t ├── 010-role │ ├── 001-basic.t │ ├── 010-composition │ │ ├── 001-basic.t │ │ ├── 002-basic.t │ │ ├── 010-method-conflicts.t │ │ └── 020-slot-conflicts.t │ ├── 100-meta.t │ ├── 100-methods │ │ ├── 000-methods-all-kinds.t │ │ ├── 005-required-methods.t │ │ ├── 010-add-method.t │ │ ├── 015-delete-method.t │ │ ├── 020-alias-method.t │ │ ├── 025-delete-method-alias.t │ │ ├── 030-add-required-method.t │ │ └── 035-delete-required-method.t │ └── 200-slots │ │ ├── 001-basic.t │ │ ├── 010-add-slot.t │ │ ├── 015-delete-slot.t │ │ ├── 020-alias-slot.t │ │ └── 025-delete-slot-alias.t ├── 020-class │ ├── 001-basic.t │ ├── 010-superclasses-and-mro.t │ ├── 011-setting-superclass.t │ └── 100-meta.t ├── 030-method │ ├── 001-method.t │ ├── 002-required-method.t │ ├── 003-aliased-method.t │ ├── 005-errors.t │ ├── 020-method-attributes.t │ └── 100-meta.t └── 040-slot │ ├── 001-slot.t │ ├── 002-aliased-slot.t │ ├── 005-errors.t │ └── 100-meta.t └── weaver.ini /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/.travis.yml -------------------------------------------------------------------------------- /Changes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/Changes -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/README.md -------------------------------------------------------------------------------- /dist.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/dist.ini -------------------------------------------------------------------------------- /lib/MOP.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/lib/MOP.pm -------------------------------------------------------------------------------- /lib/MOP/Class.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/lib/MOP/Class.pm -------------------------------------------------------------------------------- /lib/MOP/Internal/Util.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/lib/MOP/Internal/Util.pm -------------------------------------------------------------------------------- /lib/MOP/Method.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/lib/MOP/Method.pm -------------------------------------------------------------------------------- /lib/MOP/Method/Attribute.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/lib/MOP/Method/Attribute.pm -------------------------------------------------------------------------------- /lib/MOP/Role.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/lib/MOP/Role.pm -------------------------------------------------------------------------------- /lib/MOP/Slot.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/lib/MOP/Slot.pm -------------------------------------------------------------------------------- /lib/MOP/Slot/Initializer.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/lib/MOP/Slot/Initializer.pm -------------------------------------------------------------------------------- /lib/MOP/Util.pm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/lib/MOP/Util.pm -------------------------------------------------------------------------------- /t/001-examples/001-point.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/001-examples/001-point.t -------------------------------------------------------------------------------- /t/001-examples/007-currency.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/001-examples/007-currency.t -------------------------------------------------------------------------------- /t/010-role/001-basic.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/010-role/001-basic.t -------------------------------------------------------------------------------- /t/010-role/010-composition/001-basic.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/010-role/010-composition/001-basic.t -------------------------------------------------------------------------------- /t/010-role/010-composition/002-basic.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/010-role/010-composition/002-basic.t -------------------------------------------------------------------------------- /t/010-role/010-composition/010-method-conflicts.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/010-role/010-composition/010-method-conflicts.t -------------------------------------------------------------------------------- /t/010-role/010-composition/020-slot-conflicts.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/010-role/010-composition/020-slot-conflicts.t -------------------------------------------------------------------------------- /t/010-role/100-meta.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/010-role/100-meta.t -------------------------------------------------------------------------------- /t/010-role/100-methods/000-methods-all-kinds.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/010-role/100-methods/000-methods-all-kinds.t -------------------------------------------------------------------------------- /t/010-role/100-methods/005-required-methods.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/010-role/100-methods/005-required-methods.t -------------------------------------------------------------------------------- /t/010-role/100-methods/010-add-method.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/010-role/100-methods/010-add-method.t -------------------------------------------------------------------------------- /t/010-role/100-methods/015-delete-method.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/010-role/100-methods/015-delete-method.t -------------------------------------------------------------------------------- /t/010-role/100-methods/020-alias-method.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/010-role/100-methods/020-alias-method.t -------------------------------------------------------------------------------- /t/010-role/100-methods/025-delete-method-alias.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/010-role/100-methods/025-delete-method-alias.t -------------------------------------------------------------------------------- /t/010-role/100-methods/030-add-required-method.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/010-role/100-methods/030-add-required-method.t -------------------------------------------------------------------------------- /t/010-role/100-methods/035-delete-required-method.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/010-role/100-methods/035-delete-required-method.t -------------------------------------------------------------------------------- /t/010-role/200-slots/001-basic.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/010-role/200-slots/001-basic.t -------------------------------------------------------------------------------- /t/010-role/200-slots/010-add-slot.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/010-role/200-slots/010-add-slot.t -------------------------------------------------------------------------------- /t/010-role/200-slots/015-delete-slot.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/010-role/200-slots/015-delete-slot.t -------------------------------------------------------------------------------- /t/010-role/200-slots/020-alias-slot.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/010-role/200-slots/020-alias-slot.t -------------------------------------------------------------------------------- /t/010-role/200-slots/025-delete-slot-alias.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/010-role/200-slots/025-delete-slot-alias.t -------------------------------------------------------------------------------- /t/020-class/001-basic.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/020-class/001-basic.t -------------------------------------------------------------------------------- /t/020-class/010-superclasses-and-mro.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/020-class/010-superclasses-and-mro.t -------------------------------------------------------------------------------- /t/020-class/011-setting-superclass.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/020-class/011-setting-superclass.t -------------------------------------------------------------------------------- /t/020-class/100-meta.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/020-class/100-meta.t -------------------------------------------------------------------------------- /t/030-method/001-method.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/030-method/001-method.t -------------------------------------------------------------------------------- /t/030-method/002-required-method.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/030-method/002-required-method.t -------------------------------------------------------------------------------- /t/030-method/003-aliased-method.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/030-method/003-aliased-method.t -------------------------------------------------------------------------------- /t/030-method/005-errors.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/030-method/005-errors.t -------------------------------------------------------------------------------- /t/030-method/020-method-attributes.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/030-method/020-method-attributes.t -------------------------------------------------------------------------------- /t/030-method/100-meta.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/030-method/100-meta.t -------------------------------------------------------------------------------- /t/040-slot/001-slot.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/040-slot/001-slot.t -------------------------------------------------------------------------------- /t/040-slot/002-aliased-slot.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/040-slot/002-aliased-slot.t -------------------------------------------------------------------------------- /t/040-slot/005-errors.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/040-slot/005-errors.t -------------------------------------------------------------------------------- /t/040-slot/100-meta.t: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/t/040-slot/100-meta.t -------------------------------------------------------------------------------- /weaver.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevan/p5-MOP/HEAD/weaver.ini --------------------------------------------------------------------------------