line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package CBOR::Free::Decoder::Base; |
2
|
|
|
|
|
|
|
|
3
|
7
|
|
|
7
|
|
3151
|
use strict; |
|
7
|
|
|
|
|
19
|
|
|
7
|
|
|
|
|
211
|
|
4
|
7
|
|
|
7
|
|
35
|
use warnings; |
|
7
|
|
|
|
|
13
|
|
|
7
|
|
|
|
|
1332
|
|
5
|
|
|
|
|
|
|
|
6
|
|
|
|
|
|
|
sub set_tag_handlers { |
7
|
106
|
|
|
106
|
0
|
72805
|
my ($self, @tag_kv) = @_; |
8
|
|
|
|
|
|
|
|
9
|
106
|
100
|
|
|
|
327
|
die "Uneven tag handlers list given!" if @tag_kv % 2; |
10
|
|
|
|
|
|
|
|
11
|
105
|
|
|
|
|
206
|
my @tag_kv_copy = @tag_kv; |
12
|
|
|
|
|
|
|
|
13
|
105
|
|
|
|
|
312
|
while ( my ($tag, $cr) = splice @tag_kv ) { |
14
|
105
|
100
|
|
|
|
628
|
die "Invalid tag: $tag" if $tag !~ m<\A[0-9]+\z>; |
15
|
104
|
100
|
100
|
|
|
683
|
die "Invalid tag $tag handler: $cr" if defined($cr) && !UNIVERSAL::isa($cr, 'CODE'); |
16
|
|
|
|
|
|
|
} |
17
|
|
|
|
|
|
|
|
18
|
103
|
|
|
|
|
500
|
$self->_set_tag_handlers_backend(@tag_kv_copy); |
19
|
|
|
|
|
|
|
|
20
|
103
|
|
|
|
|
256
|
return $self; |
21
|
|
|
|
|
|
|
} |
22
|
|
|
|
|
|
|
|
23
|
|
|
|
|
|
|
1; |