2 package Class::MOP::Method::Generated;
10 our $AUTHORITY = 'cpan:STEVAN';
12 use base 'Class::MOP::Method';
17 confess __PACKAGE__ . " is an abstract base class, you must provide a constructor.";
20 sub _initialize_body {
21 confess "No body to initialize, " . __PACKAGE__ . " is an abstract base class";
24 sub _generate_description {
25 my ( $self, $context ) = @_;
26 $context ||= $self->definition_context;
28 return "generated method (unknown origin)"
29 unless defined $context;
31 if (defined $context->{description}) {
32 return "$context->{description} "
33 . "(defined at $context->{file} line $context->{line})";
35 return "$context->{file} (line $context->{line})";
40 my ( $self, @args ) = @_;
41 unshift @args, 'source' if @args % 2;
44 my $context = delete $args{context};
45 my $environment = $self->can('_eval_environment')
46 ? $self->_eval_environment
50 environment => $environment,
51 description => $self->_generate_description($context),
64 Class::MOP::Method::Generated - Abstract base class for generated methods
68 This is a C<Class::MOP::Method> subclass which is subclassed by
69 C<Class::MOP::Method::Accessor> and
70 C<Class::MOP::Method::Constructor>.
72 It is not intended to be used directly.