line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package Class::Component::Component::Autocall::Autoload; |
2
|
|
|
|
|
|
|
|
3
|
6
|
|
|
6
|
|
43
|
use strict; |
|
6
|
|
|
|
|
11
|
|
|
6
|
|
|
|
|
304
|
|
4
|
6
|
|
|
6
|
|
35
|
use warnings; |
|
6
|
|
|
|
|
12
|
|
|
6
|
|
|
|
|
310
|
|
5
|
|
|
|
|
|
|
|
6
|
6
|
|
|
6
|
|
35
|
use Carp::Clan qw/Class::Component/; |
|
6
|
|
|
|
|
97
|
|
|
6
|
|
|
|
|
62
|
|
7
|
|
|
|
|
|
|
|
8
|
|
|
|
|
|
|
our $AUTOLOAD; |
9
|
|
|
|
|
|
|
sub AUTOLOAD { |
10
|
18
|
|
|
18
|
|
9438
|
my $self = shift; |
11
|
18
|
50
|
|
|
|
64
|
return unless ref($self); |
12
|
18
|
|
|
|
|
115
|
(my $method = $AUTOLOAD) =~ s/.*:://; |
13
|
18
|
50
|
|
|
|
65
|
return if $method eq 'DESTROY'; |
14
|
|
|
|
|
|
|
|
15
|
18
|
|
|
|
|
33
|
eval { |
16
|
|
|
|
|
|
|
# $self->SUPER::can('AUTOLOAD')->(@_) if $self->SUPER::can('AUTOLOAD'); |
17
|
|
|
|
|
|
|
# $self->SUPER::can($method)->(@_) if $self->SUPER::can($method); |
18
|
18
|
|
|
|
|
103
|
$self->NEXT($method => @_); |
19
|
|
|
|
|
|
|
}; |
20
|
18
|
|
|
|
|
42
|
my $super_error = $@; |
21
|
|
|
|
|
|
|
|
22
|
18
|
100
|
66
|
|
|
142
|
if (ref($self) && (my $plugin = $self->class_component_methods->{$method})) { |
23
|
17
|
|
|
|
|
74
|
return $self->call($method, @_); |
24
|
|
|
|
|
|
|
} |
25
|
|
|
|
|
|
|
|
26
|
1
|
50
|
|
|
|
5
|
croak $super_error if $super_error; |
27
|
1
|
|
33
|
|
|
13
|
croak sprintf('Can\'t locate object method "%s" via package "%s"', $method, ref($self) || $self); |
28
|
|
|
|
|
|
|
} |
29
|
|
|
|
|
|
|
|
30
|
|
|
|
|
|
|
1; |