line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
1
|
|
|
1
|
|
6
|
use strict; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
28
|
|
2
|
1
|
|
|
1
|
|
5
|
use warnings; |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
25
|
|
3
|
|
|
|
|
|
|
|
4
|
|
|
|
|
|
|
package Pad::Tie::Plugin; |
5
|
|
|
|
|
|
|
|
6
|
1
|
|
|
1
|
|
5
|
use Data::OptList; |
|
1
|
|
|
|
|
20
|
|
|
1
|
|
|
|
|
12
|
|
7
|
1
|
|
|
1
|
|
21
|
use Carp (); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
188
|
|
8
|
|
|
|
|
|
|
|
9
|
|
|
|
|
|
|
sub provides { |
10
|
0
|
|
|
0
|
1
|
0
|
Carp::confess "subclass $_[0] did not override virtual method 'provides'"; |
11
|
|
|
|
|
|
|
} |
12
|
|
|
|
|
|
|
|
13
|
|
|
|
|
|
|
# input: ( [ foo => { -as => 'bar' } ], ... ) |
14
|
|
|
|
|
|
|
# return: { foo => 'bar', ... } |
15
|
|
|
|
|
|
|
sub canon_args { |
16
|
7
|
|
|
7
|
1
|
9
|
my ($plugin, $args) = @_; |
17
|
|
|
|
|
|
|
|
18
|
7
|
|
|
|
|
10
|
my %n; |
19
|
7
|
|
|
|
|
8
|
my @args = @{ Data::OptList::mkopt($args) }; |
|
7
|
|
|
|
|
21
|
|
20
|
7
|
|
|
|
|
304
|
for (@args) { |
21
|
7
|
|
|
|
|
16
|
my ($method, $xtra) = @$_; |
22
|
7
|
|
66
|
|
|
31
|
my $name = $xtra->{-as} || $method; |
23
|
|
|
|
|
|
|
#$name = "$xtra->{-prefix}$name" if $xtra->{-prefix}; |
24
|
7
|
|
|
|
|
26
|
$n{$method} = $name; |
25
|
|
|
|
|
|
|
} |
26
|
7
|
|
|
|
|
116
|
return \%n; |
27
|
|
|
|
|
|
|
} |
28
|
|
|
|
|
|
|
|
29
|
|
|
|
|
|
|
1; |
30
|
|
|
|
|
|
|
|
31
|
|
|
|
|
|
|
__END__ |