| line |
true |
false |
branch |
|
59
|
0 |
97 |
ref $_[0] eq 'HASH' ? : |
|
62
|
0 |
194 |
unless $args{$key} |
|
69
|
5 |
66 |
$self->{'expression'} =~ /\$_/ ? : |
|
|
26 |
71 |
$args{'script_engine'} ? : |
|
79
|
40 |
57 |
unless (ref $json_object) |
|
91
|
95 |
2 |
wantarray ? : |
|
107
|
97 |
0 |
if $token_stream->[0] eq $JSON::Path::Evaluator::TOKEN_ROOT |
|
108
|
78 |
19 |
if $token_stream->[0] eq $JSON::Path::Evaluator::TOKEN_CHILD |
|
110
|
11 |
86 |
if ($args{'want_path'}) |
|
116
|
9 |
8 |
ref ${$ref;} ? : |
|
129
|
66 |
11 |
defined $base_path ? : |
|
130
|
77 |
0 |
defined $json_object ? : |
|
134
|
8 |
69 |
if (_arraylike($json_object)) { } |
|
|
63 |
6 |
elsif (_hashlike($json_object)) { } |
|
137
|
30 |
0 |
if (ref $json_object->[$_]) { } |
|
148
|
36 |
198 |
if (ref $json_object->{$index}) { } |
|
162
|
84 |
354 |
unless ref $obj |
|
164
|
354 |
0 |
defined $token_stream ? : |
|
167
|
61 |
539 |
if $token eq $JSON::Path::Evaluator::TOKEN_CURRENT |
|
168
|
185 |
354 |
if $token eq $JSON::Path::Evaluator::TOKEN_CHILD |
|
170
|
13 |
341 |
if ($token eq $JSON::Path::Evaluator::TOKEN_FILTER_OPEN) { } |
|
|
16 |
325 |
elsif ($token eq $JSON::Path::Evaluator::TOKEN_RECURSIVE) { } |
|
174
|
0 |
13 |
if $ASSERT_ENABLE |
|
179
|
11 |
2 |
if (not @{$token_stream;}) { } |
|
181
|
6 |
5 |
$want_ref ? : |
|
191
|
2 |
14 |
if ($index eq $JSON::Path::Evaluator::TOKEN_FILTER_OPEN) |
|
195
|
0 |
2 |
if $ASSERT_ENABLE |
|
201
|
6 |
8 |
unless (@{$token_stream;}) |
|
208
|
63 |
262 |
if ($token eq $JSON::Path::Evaluator::TOKEN_SUBSCRIPT_OPEN) { } |
|
211
|
0 |
63 |
if $ASSERT_ENABLE |
|
217
|
310 |
15 |
if $index ne $JSON::Path::Evaluator::TOKEN_ALL |
|
218
|
0 |
325 |
if $ASSERT_ENABLE |
|
221
|
176 |
149 |
if (not @{$token_stream;}) { } |
|
222
|
44 |
132 |
$want_ref ? : |
|
235
|
47 |
6 |
if ($self->{'script_engine'} eq 'PseudoJS') { } |
|
|
6 |
0 |
elsif ($self->{'script_engine'} eq 'perl') { } |
|
256
|
0 |
471 |
if $ASSERT_ENABLE |
|
263
|
5 |
466 |
if (ref $object eq 'REF') |
|
267
|
15 |
456 |
if ($index eq $JSON::Path::Evaluator::TOKEN_ALL) { } |
|
268
|
1 |
14 |
if (_hashlike($object)) { } |
|
277
|
9 |
447 |
if ($index =~ /$JSON::Path::Evaluator::TOKEN_ARRAY_SLICE/) { } |
|
|
5 |
442 |
elsif ($index =~ /$JSON::Path::Evaluator::TOKEN_UNION/) { } |
|
278
|
0 |
9 |
_hashlike($object) ? : |
|
288
|
342 |
114 |
if (_hashlike($object)) { } |
|
289
|
84 |
258 |
if ($create_key) { } |
|
295
|
236 |
23 |
if exists $object->{$index} |
|
302
|
18 |
96 |
if ($create_key) { } |
|
308
|
87 |
0 |
if exists $object->[$index] |
|
320
|
11 |
2 |
_arraylike($object) ? : |
|
|
27 |
13 |
_hashlike($object) ? : |
|
337
|
0 |
0 |
unless defined $token |
|
339
|
0 |
0 |
if ($token eq $JSON::Path::Evaluator::TOKEN_SUBSCRIPT_OPEN) |
|
343
|
0 |
0 |
if ($token eq $JSON::Path::Evaluator::TOKEN_SUBSCRIPT_CLOSE) |
|
350
|
0 |
0 |
if $ASSERT_ENABLE |
|
352
|
0 |
0 |
if (grep {$_ eq $JSON::Path::Evaluator::TOKEN_ARRAY_SLICE;} @substream) { } |
|
|
0 |
0 |
elsif (grep {$_ eq $JSON::Path::Evaluator::TOKEN_UNION;} @substream) { } |
|
361
|
0 |
0 |
if ($substream[0] eq $JSON::Path::Evaluator::TOKEN_ARRAY_SLICE) |
|
366
|
0 |
0 |
if ($substream[2] eq $JSON::Path::Evaluator::TOKEN_ARRAY_SLICE) |
|
396
|
0 |
9 |
if (not defined $start or $start eq '') |
|
399
|
6 |
3 |
if (not defined $end or $end eq '') |
|
402
|
9 |
0 |
if (not defined $step or $step eq '') |
|
406
|
6 |
3 |
if $start == -1 |
|
407
|
6 |
3 |
if $end == -1 |
|
410
|
0 |
9 |
if ($step < 0) { } |
|
431
|
2 |
279 |
if (ref $obj eq 'REF') |
|
435
|
82 |
199 |
if (_arraylike($obj)) { } |
|
|
191 |
8 |
elsif (_hashlike($obj)) { } |
|
436
|
0 |
0 |
if (&looks_like_number($index) and exists $obj->[$index]) |
|
437
|
0 |
0 |
$want_ref ? : |
|
440
|
136 |
115 |
unless ref $obj->[$_] |
|
445
|
16 |
175 |
if (exists $obj->{$index}) |
|
446
|
8 |
8 |
$want_ref ? : |
|
449
|
439 |
152 |
unless ref $val |
|
465
|
2 |
2 |
$want_ref ? : |
|
472
|
84 |
38 |
unless ref $got |
|
489
|
27 |
20 |
if (_hashlike($object)) { } |
|
|
18 |
2 |
elsif (_arraylike($object)) { } |
|
503
|
15 |
42 |
if _compare($operator, $val, $rhs) |
|
516
|
2 |
45 |
if ($expression =~ /$JSON::Path::Evaluator::EQUAL_SIGN/) { } |
|
518
|
2 |
0 |
if (substr($expression, $position + 1, 1) eq $JSON::Path::Evaluator::EQUAL_SIGN) { } |
|
519
|
0 |
2 |
if (substr($expression, $position + 2, 1) eq $JSON::Path::Evaluator::EQUAL_SIGN) { } |
|
528
|
0 |
0 |
if ($preceding_char eq $JSON::Path::Evaluator::GREATER_THAN_SIGN) { } |
|
|
0 |
0 |
elsif ($preceding_char eq $JSON::Path::Evaluator::LESS_THAN_SIGN) { } |
|
|
0 |
0 |
elsif ($preceding_char eq $JSON::Path::Evaluator::EXCLAMATION_MARK) { } |
|
545
|
52 |
55 |
if /$JSON::Path::Evaluator::EQUAL_SIGN/ |
|
546
|
43 |
12 |
if ($expression =~ /$_/) |
|
555
|
45 |
2 |
if ($operator) { } |
|
585
|
2 |
4 |
if (_hashlike($object)) { } |
|
589
|
0 |
10 |
if $@ |
|
590
|
2 |
8 |
if $ret |
|
597
|
0 |
15 |
if $@ |
|
598
|
7 |
8 |
if $ret |
|
608
|
7 |
50 |
if ($operator eq $OPERATOR_IS_TRUE) |
|
609
|
3 |
4 |
$lhs ? : |
|
614
|
7 |
43 |
if ($operator eq '=' or $operator eq '==' or $operator eq '===') |
|
615
|
0 |
7 |
$use_numeric ? : |
|
617
|
0 |
43 |
if ($operator eq '<') |
|
618
|
0 |
0 |
$use_numeric ? : |
|
620
|
43 |
0 |
if ($operator eq '>') |
|
621
|
17 |
26 |
$use_numeric ? : |
|
623
|
0 |
0 |
if ($operator eq '<=') |
|
624
|
0 |
0 |
$use_numeric ? : |
|
626
|
0 |
0 |
if ($operator eq '>=') |
|
627
|
0 |
0 |
$use_numeric ? : |
|
629
|
0 |
0 |
if ($operator eq '!=' or $operator eq '!==') |
|
630
|
0 |
0 |
$use_numeric ? : |