| line |
true |
false |
branch |
|
59
|
0 |
114 |
ref $_[0] eq 'HASH' ? : |
|
62
|
0 |
228 |
unless $args{$key} |
|
69
|
5 |
83 |
$self->{'expression'} =~ /\$_/ ? : |
|
|
26 |
88 |
$args{'script_engine'} ? : |
|
79
|
57 |
57 |
unless (ref $json_object) |
|
91
|
112 |
2 |
wantarray ? : |
|
107
|
114 |
0 |
if $token_stream->[0] eq $JSON::Path::Evaluator::TOKEN_ROOT |
|
108
|
95 |
19 |
if $token_stream->[0] eq $JSON::Path::Evaluator::TOKEN_CHILD |
|
110
|
11 |
103 |
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 |
492 |
unless ref $obj |
|
164
|
492 |
0 |
defined $token_stream ? : |
|
167
|
147 |
781 |
if $token eq $JSON::Path::Evaluator::TOKEN_CURRENT |
|
168
|
289 |
492 |
if $token eq $JSON::Path::Evaluator::TOKEN_CHILD |
|
170
|
30 |
462 |
if ($token eq $JSON::Path::Evaluator::TOKEN_FILTER_OPEN) { } |
|
|
16 |
446 |
elsif ($token eq $JSON::Path::Evaluator::TOKEN_RECURSIVE) { } |
|
174
|
0 |
30 |
if $ASSERT_ENABLE |
|
179
|
11 |
19 |
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 |
383 |
if ($token eq $JSON::Path::Evaluator::TOKEN_SUBSCRIPT_OPEN) { } |
|
211
|
0 |
63 |
if $ASSERT_ENABLE |
|
217
|
431 |
15 |
if $index ne $JSON::Path::Evaluator::TOKEN_ALL |
|
218
|
0 |
446 |
if $ASSERT_ENABLE |
|
221
|
280 |
166 |
if (not @{$token_stream;}) { } |
|
222
|
44 |
236 |
$want_ref ? : |
|
235
|
64 |
6 |
if ($self->{'script_engine'} eq 'PseudoJS') { } |
|
|
6 |
0 |
elsif ($self->{'script_engine'} eq 'perl') { } |
|
256
|
0 |
610 |
if $ASSERT_ENABLE |
|
263
|
23 |
587 |
if (ref $object eq 'REF') |
|
267
|
15 |
595 |
if ($index eq $JSON::Path::Evaluator::TOKEN_ALL) { } |
|
268
|
1 |
14 |
if (_hashlike($object)) { } |
|
277
|
9 |
586 |
if ($index =~ /$JSON::Path::Evaluator::TOKEN_ARRAY_SLICE/) { } |
|
|
5 |
581 |
elsif ($index =~ /$JSON::Path::Evaluator::TOKEN_UNION/) { } |
|
278
|
0 |
9 |
_hashlike($object) ? : |
|
288
|
463 |
132 |
if (_hashlike($object)) { } |
|
289
|
84 |
379 |
if ($create_key) { } |
|
295
|
357 |
23 |
if exists $object->{$index} |
|
302
|
18 |
114 |
if ($create_key) { } |
|
308
|
105 |
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 |
|
496
|
27 |
63 |
if (_hashlike($object)) { } |
|
|
61 |
2 |
elsif (_arraylike($object)) { } |
|
509
|
61 |
82 |
if _compare($operator, $val, $rhs) |
|
513
|
34 |
15 |
if $val == @expressions_and |
|
527
|
23 |
67 |
if ($expression =~ /$JSON::Path::Evaluator::EQUAL_SIGN/) { } |
|
529
|
12 |
11 |
if (substr($expression, $position + 1, 1) eq $JSON::Path::Evaluator::EQUAL_SIGN) { } |
|
530
|
0 |
12 |
if (substr($expression, $position + 2, 1) eq $JSON::Path::Evaluator::EQUAL_SIGN) { } |
|
539
|
9 |
2 |
if ($preceding_char eq $JSON::Path::Evaluator::GREATER_THAN_SIGN) { } |
|
|
0 |
2 |
elsif ($preceding_char eq $JSON::Path::Evaluator::LESS_THAN_SIGN) { } |
|
|
0 |
2 |
elsif ($preceding_char eq $JSON::Path::Evaluator::EXCLAMATION_MARK) { } |
|
556
|
317 |
121 |
if /$JSON::Path::Evaluator::EQUAL_SIGN/ |
|
557
|
65 |
56 |
if ($expression =~ /$_/) |
|
566
|
88 |
2 |
if ($operator) { } |
|
596
|
2 |
4 |
if (_hashlike($object)) { } |
|
600
|
0 |
10 |
if $@ |
|
601
|
2 |
8 |
if $ret |
|
608
|
0 |
15 |
if $@ |
|
609
|
7 |
8 |
if $ret |
|
619
|
7 |
136 |
if ($operator eq $OPERATOR_IS_TRUE) |
|
620
|
3 |
4 |
$lhs ? : |
|
625
|
27 |
105 |
if ($operator eq '=' or $operator eq '==' or $operator eq '===') |
|
626
|
8 |
23 |
$use_numeric ? : |
|
628
|
18 |
87 |
if ($operator eq '<') |
|
629
|
18 |
0 |
$use_numeric ? : |
|
631
|
69 |
18 |
if ($operator eq '>') |
|
632
|
41 |
28 |
$use_numeric ? : |
|
634
|
0 |
18 |
if ($operator eq '<=') |
|
635
|
0 |
0 |
$use_numeric ? : |
|
637
|
18 |
0 |
if ($operator eq '>=') |
|
638
|
12 |
6 |
$use_numeric ? : |
|
640
|
0 |
0 |
if ($operator eq '!=' or $operator eq '!==') |
|
641
|
0 |
0 |
$use_numeric ? : |