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