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 ? : |