use Carp 'confess';
use Eval::Closure;
-our $AUTHORITY = 'cpan:STEVAN';
-
use base 'Class::MOP::Method';
## accessors
my ( $self, $context ) = @_;
$context ||= $self->definition_context;
- return "generated method (unknown origin)"
- unless defined $context;
-
- if (defined $context->{description}) {
- return "$context->{description} "
- . "(defined at $context->{file} line $context->{line})";
- } else {
- return "$context->{file} (line $context->{line})";
+ my $desc = "generated method";
+ my $origin = "unknown origin";
+
+ if (defined $context) {
+ if (defined $context->{description}) {
+ $desc = $context->{description};
+ }
+
+ if (defined $context->{file} || defined $context->{line}) {
+ $origin = "defined at "
+ . (defined $context->{file}
+ ? $context->{file} : "<unknown file>")
+ . " line "
+ . (defined $context->{line}
+ ? $context->{line} : "<unknown line>");
+ }
}
+
+ return "$desc ($origin)";
}
sub _compile_code {
1;
+# ABSTRACT: Abstract base class for generated methods
+
__END__
=pod
-=head1 NAME
-
-Class::MOP::Method::Generated - Abstract base class for generated methods
-
=head1 DESCRIPTION
This is a C<Class::MOP::Method> subclass which is subclassed by