use strict;
use warnings;
+our $VERSION = '0.97';
+$VERSION = eval $VERSION;
+our $AUTHORITY = 'cpan:STEVAN';
+
use Scalar::Util 'blessed';
sub meta {
}
1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+Class::MOP::Mixin - Base class for mixin classes
+
+=head1 DESCRIPTION
+
+This class provides a single method shared by all mixins
+
+=head1 METHODS
+
+This class provides a few methods which are useful in all metaclasses.
+
+=over 4
+
+=item B<< Class::MOP::Mixin->meta >>
+
+This returns a L<Class::MOP::Class> object for the mixin class.
+
+=back
+
+=head1 AUTHORS
+
+Dave Rolsky E<lt>autarch@urth.orgE<gt>
+
+=head1 COPYRIGHT AND LICENSE
+
+Copyright 2006-2009 by Infinity Interactive, Inc.
+
+L<http://www.iinteractive.com>
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
use strict;
use warnings;
-use Scalar::Util 'blessed';
-
-our $VERSION = '0.97';
+our $VERSION = '0.97';
$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';
+use Scalar::Util 'blessed';
+
use base 'Class::MOP::Mixin';
sub has_accessor { defined $_[0]->{'accessor'} }
}
1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+Class::MOP::Mixin::AttributeCore - Core attributes shared by attribute metaclasses
+
+=head1 DESCRIPTION
+
+This class implements the core attributes (aka properties) shared by all
+attributes. See the L<Class::MOP::Attribute> documentation for API details.
+
+=head1 AUTHORS
+
+Dave Rolsky E<lt>autarch@urth.orgE<gt>
+
+=head1 COPYRIGHT AND LICENSE
+
+Copyright 2006-2009 by Infinity Interactive, Inc.
+
+L<http://www.iinteractive.com>
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
use strict;
use warnings;
+our $VERSION = '0.97';
+$VERSION = eval $VERSION;
+our $AUTHORITY = 'cpan:STEVAN';
+
use Carp 'confess';
use Scalar::Util 'blessed';
}
1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+Class::MOP::Mixin::HasMethods - Methods for metaclasses which have attributes
+
+=head1 DESCRIPTION
+
+This class implements methods for metaclasses which have attributes
+(L<Class::MOP::Class> and L<Moose::Meta::Role>). See L<Class::MOP::Class> for
+API details.
+
+=head1 AUTHORS
+
+Dave Rolsky E<lt>autarch@urth.orgE<gt>
+
+=head1 COPYRIGHT AND LICENSE
+
+Copyright 2006-2009 by Infinity Interactive, Inc.
+
+L<http://www.iinteractive.com>
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
use strict;
use warnings;
+our $VERSION = '0.97';
+$VERSION = eval $VERSION;
+our $AUTHORITY = 'cpan:STEVAN';
+
use Scalar::Util 'blessed';
use Carp 'confess';
use Sub::Name 'subname';
}
1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+Class::MOP::Mixin::HasMethods - Methods for metaclasses which have methods
+
+=head1 DESCRIPTION
+
+This class implements methods for metaclasses which have methods
+(L<Class::MOP::Package> and L<Moose::Meta::Role>). See L<Class::MOP::Package>
+for API details.
+
+=head1 AUTHORS
+
+Dave Rolsky E<lt>autarch@urth.orgE<gt>
+
+=head1 COPYRIGHT AND LICENSE
+
+Copyright 2006-2009 by Infinity Interactive, Inc.
+
+L<http://www.iinteractive.com>
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
'Class::MOP' => [ 'HAVE_ISAREV', 'subname', 'in_global_destruction' ],
'Class::MOP::Attribute' => ['process_accessors'],
'Class::MOP::Class' => [
-
# deprecated
'alias_method',
'compute_all_applicable_attributes',
'Class::MOP::Class::Immutable::Trait' => ['.+'],
'Class::MOP::Class::Immutable::Class::MOP::Class' => ['.+'],
'Class::MOP::Deprecated' => ['.+'],
-
- 'Class::MOP::Instance' => [
+ 'Class::MOP::Instance' => [
qw( BUILDARGS
bless_instance_structure
is_dependent_on_superclasses ),
initialize_body
)
],
- 'Class::MOP::Module' => ['create'],
+ 'Class::MOP::Mixin::AttributeCore' => ['.+'],
+ 'Class::MOP::Mixin::HasAttributes' => ['.+'],
+ 'Class::MOP::Mixin::HasMethods' => ['.+'],
+ 'Class::MOP::Module' => ['create'],
'Class::MOP::Package' => [ 'get_method_map', 'wrap_method_body' ],
);
isa
login
metadata
+mixin
+mixins
munge
namespace
namespaced