line |
true |
false |
branch |
12
|
0 |
48 |
unless open my $fh, '<', $path |
32
|
48 |
0 |
if (my $config = $decoder->config) { } |
89
|
2165 |
47 |
if (length $self->{'tape'} >= $eos_pos) |
97
|
321 |
3363 |
if (length $next == length $str and $str eq $next) |
109
|
243 |
964 |
if ($self->_match_str($expected)) |
117
|
488 |
625 |
if ($char eq ' ' or $char eq "\t" or $char eq "\n" or $char eq "\r") |
131
|
446 |
0 |
if (defined(my $char = $self->_peek(0))) { } |
132
|
218 |
228 |
if $self->_consume_if_space($char) |
133
|
22 |
206 |
if ($char eq '{') { } |
|
15 |
191 |
elsif ($char eq '[') { } |
|
29 |
162 |
elsif ($char eq '"') { } |
|
4 |
158 |
elsif ($char eq '<' and $self->_match_str('<<')) { } |
|
22 |
136 |
elsif ($char =~ /[0-9\-]/) { } |
|
6 |
130 |
elsif (my $false = $self->false) { } |
|
7 |
123 |
elsif (my $true = $self->true) { } |
|
3 |
120 |
elsif (my $null = $self->null) { } |
|
7 |
113 |
elsif ($char eq '/') { } |
146
|
4 |
18 |
if ($self->_match_str('0x')) { } |
|
2 |
16 |
elsif ($self->_match_str('0b')) { } |
|
2 |
14 |
elsif ($self->_match_str('0o')) { } |
169
|
7 |
0 |
if ($self->_match_str('//') or $self->_match_str('/*')) { } |
187
|
6 |
130 |
(shift())->_consume_if('false') ? : |
188
|
7 |
123 |
(shift())->_consume_if('true') ? : |
189
|
3 |
120 |
(shift())->_consume_if('null') ? : |
196
|
4 |
10 |
if ($self->_consume_if('-')) |
198
|
4 |
0 |
if (defined(my $char = $self->_peek(0))) { } |
199
|
0 |
4 |
unless ($char =~ /[0-9]/) |
208
|
0 |
14 |
if ($self->_consume_if('0')) |
210
|
0 |
0 |
if (defined(my $char = $self->_peek(0))) { } |
211
|
0 |
0 |
if ($char =~ /[0-9]/) |
220
|
114 |
0 |
if (defined(my $char = $self->_peek(0))) { } |
221
|
100 |
14 |
if ($char =~ /[0-9.]/) { } |
234
|
3 |
11 |
if ($self->_consume_if('e') or $self->_consume_if('E')) |
236
|
0 |
3 |
if ($self->_consume_if('+')) { } |
|
2 |
1 |
elsif ($self->_consume_if('-')) { } |
244
|
8 |
0 |
if (defined(my $char = $self->_peek(0))) { } |
245
|
5 |
3 |
if ($char =~ /[1-9]/) { } |
257
|
0 |
3 |
unless ($digit_after_exp) |
262
|
5 |
9 |
if ($string =~ /[.eE]/) { } |
263
|
5 |
0 |
$self->{'option'}{'allow_bigint'} ? : |
265
|
1 |
8 |
if (($string + 0) =~ /[.eE]/) { } |
266
|
1 |
0 |
$self->{'option'}{'allow_bigint'} ? : |
276
|
0 |
4 |
unless $self->_consume_if($prefix) |
281
|
36 |
0 |
if (defined(my $char = $self->_peek(0))) { } |
282
|
32 |
4 |
if ($char =~ /[A-F0-9]/i) { } |
298
|
0 |
2 |
unless $self->_consume_if($prefix) |
303
|
14 |
0 |
if (defined(my $char = $self->_peek(0))) { } |
304
|
12 |
2 |
if ($char =~ /[01]/i) { } |
320
|
0 |
2 |
unless $self->_consume_if($prefix) |
325
|
8 |
0 |
if (defined(my $char = $self->_peek(0))) { } |
326
|
6 |
2 |
if ($char =~ /[0-7]/i) { } |
341
|
5 |
5 |
if ($self->_match_str('//')) { } |
|
5 |
0 |
elsif ($self->_match_str('/*')) { } |
354
|
0 |
6 |
unless $self->_consume_if('//') |
358
|
79 |
0 |
if (defined(my $char = $self->_peek(0))) { } |
360
|
6 |
73 |
if ($char eq "\n") { } |
374
|
0 |
7 |
unless $self->_consume_if('/*') |
378
|
1 |
449 |
if ($self->_match_str('//')) { } |
|
2 |
447 |
elsif ($self->_match_str('/*')) { } |
|
7 |
440 |
elsif ($self->_match_str('*/')) { } |
397
|
0 |
36 |
unless $self->_consume_if('"') |
402
|
333 |
0 |
if (defined(my $char = $self->_peek(0))) { } |
403
|
18 |
315 |
if ($char eq '\\') { } |
|
36 |
279 |
elsif ($char eq '"') { } |
404
|
18 |
0 |
if (defined(my $next_char = $self->_peek(1))) { } |
415
|
4 |
14 |
if (my $ch = $escapes->{$next_char}) { } |
|
14 |
0 |
elsif ($next_char eq 'u') { } |
423
|
56 |
0 |
if (defined $char and $char =~ /[A-F0-9]/i) { } |
431
|
14 |
0 |
if ((my $hex = CORE::hex $utf) > 127) { } |
444
|
0 |
36 |
if ($self->_peek(-1) eq '\\') { } |
466
|
0 |
4 |
unless $self->_consume_if('<<') |
469
|
2 |
2 |
$self->_consume_if('-') ? : |
473
|
16 |
0 |
if (defined(my $char = $self->_peek(0))) { } |
475
|
0 |
16 |
if ($char eq ' ' or $char eq "\t") { } |
|
4 |
12 |
elsif ($char eq "\n") { } |
489
|
4 |
311 |
if $self->_consume_if($delimiter) |
490
|
311 |
0 |
if (defined(my $char = $self->_peek(0))) { } |
500
|
2 |
2 |
if ($strip_space) |
505
|
8 |
0 |
if $_ eq ' ' |
517
|
0 |
15 |
unless $self->_consume_if('[') |
522
|
59 |
0 |
if (defined(my $char = $self->_peek(0))) { } |
523
|
15 |
44 |
if ($self->_consume_if(']')) { } |
|
15 |
29 |
elsif ($self->_consume_if(',')) { } |
530
|
24 |
5 |
if (defined(my $value = $self->config)) { } |
544
|
0 |
22 |
unless $self->_consume_if('{') |
550
|
139 |
0 |
if (defined(my $char = $self->_peek(0))) { } |
551
|
116 |
23 |
if $self->_consume_if_space($char) |
552
|
1 |
22 |
if ($self->_match_str('//') or $self->_match_str('/*')) { } |
|
1 |
21 |
elsif ($self->_consume_if('}')) { } |
584
|
311 |
0 |
if (defined(my $char = $self->_peek(0))) { } |
585
|
154 |
157 |
if $self->_consume_if_space($char) |
586
|
2 |
155 |
if ($self->_match_str('//') or $self->_match_str('/*')) { } |
|
21 |
134 |
elsif ($self->_consume_if('}')) { } |
594
|
36 |
98 |
if ($state eq 'STATE_KEY') { } |
|
36 |
62 |
elsif ($state eq 'STATE_KEY_SEPARATOR') { } |
|
36 |
26 |
elsif ($state eq 'STATE_VALUE') { } |
|
26 |
0 |
elsif ($state eq 'STATE_VALUE_SEPARATOR') { } |
595
|
36 |
0 |
if (defined(my $key = $self->map_key)) { } |
604
|
36 |
0 |
if ($self->_consume_if(':')) { } |
612
|
36 |
0 |
if (defined(my $value = $self->config)) { } |
621
|
26 |
0 |
if ($self->_consume_if(',')) { } |
647
|
7 |
29 |
$self->_match_str('"') ? : |
653
|
224 |
0 |
if (defined(my $char = $self->_peek(0))) { } |
654
|
7 |
217 |
if ($mode eq 'MODE_MAP_KEY_QUOTED') { } |
657
|
0 |
217 |
if ($self->_consume_if_space($char)) { } |
|
0 |
217 |
elsif ($self->_match_str('//') or $self->_match_str('/*')) { } |
|
29 |
188 |
elsif ($self->_match_str(':')) { } |