line |
true |
false |
branch |
30
|
4 |
3 |
if $to eq "MF::STRING"
|
67
|
29 |
1 |
if ($op eq "." and $right->isa("MF::NAME"))
|
68
|
29 |
0 |
if (my $attr = $self->attribute($right->token))
|
69
|
29 |
0 |
ref $attr eq 'CODE' ? :
|
74
|
1 |
0 |
if $op eq "~"
|
92
|
56 |
50 |
$value ? :
|
|
106 |
50 |
unless defined $token
|
98
|
6 |
0 |
if ($op eq "not")
|
108
|
19 |
4 |
$right->isa('MF::BOOLEAN') ? :
|
|
23 |
0 |
if (my $r = $right->isa("MF::BOOLEAN") ? $right : $right->cast("MF::BOOLEAN", $context))
|
109
|
6 |
0 |
$op eq 'xor' ? :
|
|
7 |
6 |
$op eq 'or' ? :
|
|
10 |
13 |
$op eq 'and' ? :
|
114
|
23 |
0 |
if defined $v
|
120
|
47 |
45 |
$_[1] ? :
|
135
|
3 |
145 |
if ref $token eq "SCALAR"
|
144
|
5 |
0 |
substr($token, 0, 1) eq q['] ? :
|
|
83 |
5 |
substr($token, 0, 1) eq '"' ? :
|
152
|
11 |
0 |
ref $self eq 'MF::STRING' && $to eq 'MF::PATTERN' ? :
|
|
5 |
11 |
ref $self eq 'MF::STRING' && $to eq 'MF::REGEXP' ? :
|
161
|
5 |
45 |
if ($op eq '~') { }
|
|
4 |
41 |
elsif ($op eq '=~' or $op eq '!~') { }
|
|
12 |
29 |
elsif ($op eq 'like' or $op eq 'unlike') { }
|
|
21 |
8 |
elsif ($op eq 'cmp') { }
|
162
|
4 |
1 |
$right->isa('MF::STRING') ? :
|
163
|
5 |
0 |
if $r
|
166
|
0 |
4 |
$right->isa('MF::REGEXP') ? :
|
167
|
2 |
2 |
$op eq '=~' ? :
|
|
0 |
4 |
!$r ? :
|
169
|
4 |
0 |
if $r
|
173
|
2 |
10 |
$right->isa('MF::PATTERN') || $right->isa('MF::REGEXP') ? :
|
174
|
6 |
6 |
$op eq 'like' ? :
|
|
0 |
12 |
!$r ? :
|
176
|
12 |
0 |
if $r
|
179
|
21 |
0 |
$right->isa('MF::STRING') ? :
|
192
|
0 |
8 |
unless $string_attrs{$_[1]}
|
204
|
4 |
8 |
$_[0]->value == 0 ? :
|
|
1 |
3 |
$to eq 'MF::FLOAT' ? :
|
|
12 |
4 |
$to eq 'MF::BOOLEAN' ? :
|
211
|
5 |
0 |
$op eq '-' ? :
|
|
4 |
5 |
$op eq '+' ? :
|
220
|
3 |
46 |
if $op eq "and" or $op eq "or" or $op eq "xor"
|
223
|
42 |
4 |
if ($right->isa("MF::INTEGER") or $right->isa("MF::FLOAT"))
|
224
|
2 |
25 |
$op eq '%' ? :
|
|
3 |
27 |
$op eq '*' ? :
|
|
4 |
30 |
$op eq '-' ? :
|
|
8 |
34 |
$op eq '+' ? :
|
229
|
17 |
25 |
if defined $v
|
231
|
24 |
1 |
if $op eq "<=>"
|
234
|
1 |
0 |
if $op eq "/"
|
238
|
1 |
3 |
if $op eq "*" and $right->isa("MF::DURATION")
|
256
|
0 |
116 |
unless my($v, $m) = $_[1] =~ /^ ( [0-9]+ (?: _[0-9][0-9][0-9] )* ) ($multipliers)? $/ux
|
259
|
3 |
113 |
$2 ? :
|
265
|
0 |
2 |
unless $int_attrs{$_[1]}
|
277
|
4 |
19 |
$t =~ /[e.]/u ? :
|
281
|
1 |
1 |
$to eq 'MF::INTEGER' ? :
|
287
|
5 |
0 |
$op eq '-' ? :
|
|
4 |
5 |
$op eq '+' ? :
|
296
|
0 |
16 |
if $op eq "and" or $op eq "or" or $op eq "xor"
|
299
|
16 |
0 |
if ($right->isa("MF::FLOAT") or $right->isa("MF::INTEGER"))
|
301
|
2 |
6 |
$op eq '/' ? :
|
|
2 |
8 |
$op eq '%' ? :
|
|
2 |
10 |
$op eq '*' ? :
|
|
2 |
12 |
$op eq '-' ? :
|
|
2 |
14 |
$op eq '+' ? :
|
307
|
10 |
6 |
if defined $v
|
309
|
6 |
0 |
if $op eq "<=>"
|
338
|
0 |
37 |
unless $token =~ /^
|
358
|
1 |
0 |
$to eq 'MF::DATE' ? :
|
|
1 |
1 |
$to eq 'MF::TIME' ? :
|
367
|
3 |
18 |
if ($op eq "+" or $op eq "-")
|
369
|
2 |
1 |
if ($right->isa("MF::DURATION"))
|
370
|
1 |
1 |
$op eq '+' ? :
|
373
|
1 |
0 |
if ($op eq "-")
|
374
|
1 |
0 |
$right->isa('MF::DATETIME') ? :
|
379
|
8 |
10 |
if ($op eq "<=>")
|
380
|
5 |
3 |
if $right->isa("MF::DATETIME")
|
383
|
3 |
0 |
if ($right->isa("MF::DATE"))
|
386
|
0 |
3 |
$date =~ /\+/u ? :
|
387
|
1 |
2 |
if "DateTime"->compare($begin, $self->value) > 0
|
389
|
0 |
2 |
$date =~ /\+/u ? :
|
390
|
1 |
1 |
'DateTime'->compare($self->value, $end) > 0 ? :
|
407
|
0 |
10 |
unless $dt_attrs{$_[1]} or $MF::DATE::date_attrs{$_[1]}
|
428
|
0 |
11 |
unless $token =~ /^
|
442
|
2 |
1 |
if ($to eq "MF::INTEGER")
|
449
|
1 |
0 |
if ($to eq "MF::DATETIME")
|
451
|
1 |
0 |
$t =~ /\+/u ? :
|
462
|
1 |
11 |
if ($op eq "+" and $right->isa("MF::TIME"))
|
472
|
1 |
10 |
if ($op eq "-" and $right->isa("MF::DATE"))
|
476
|
2 |
8 |
if ($op eq "+" or $op eq "-")
|
477
|
2 |
0 |
$right->isa('MF::DURATION') ? :
|
478
|
0 |
2 |
if $r and $r->token =~ /T.*[1-9]/u
|
483
|
1 |
1 |
$op eq '+' ? :
|
487
|
4 |
4 |
if ($op eq "<=>")
|
488
|
4 |
0 |
$right->isa('MF::DATE') ? :
|
493
|
1 |
3 |
unless $ld ne $rd or ($ltz // "") eq ($rtz // "")
|
509
|
0 |
4 |
unless $date_attrs{$_[1]}
|
524
|
2 |
5 |
$ns ? :
|
530
|
0 |
23 |
unless $token =~ /^ ([01][0-9]|2[0-3]) \: ([0-5][0-9]) \: ([0-5][0-9]) (?:(\.[0-9]+))? $/ux
|
543
|
0 |
10 |
unless $time_attrs{$_[1]}
|
547
|
1 |
7 |
if ($ns < 0) { }
|
|
0 |
7 |
elsif ($ns > 1000000000) { }
|
560
|
8 |
5 |
if ($op eq "+" or $op eq "-")
|
565
|
3 |
5 |
$right->isa('MF::TIME') ? :
|
|
5 |
3 |
if (my $r = $right->isa("MF::TIME") ? $right : $right->cast("MF::TIME", $context))
|
569
|
2 |
3 |
$diff->{'nanosecond'} ? :
|
574
|
3 |
0 |
$right->isa('MF::DURATION') ? :
|
|
3 |
0 |
if (my $r = $right->isa("MF::DURATION") ? $right : $right->cast("MF::DURATION", $context))
|
579
|
2 |
1 |
$op eq '+' ? :
|
580
|
2 |
1 |
$op eq '+' ? :
|
604
|
2 |
7 |
$_[1]->is_negative ? :
|
610
|
2 |
21 |
$negative ? :
|
615
|
1 |
0 |
$op eq '-' ? :
|
|
1 |
1 |
$op eq '+' ? :
|
624
|
2 |
5 |
if ($op eq '+' or $op eq '-') { }
|
|
2 |
3 |
elsif ($op eq '*') { }
|
|
3 |
0 |
elsif ($op eq '<=>') { }
|
625
|
2 |
0 |
$right->isa('MF::DURATION') ? :
|
627
|
1 |
1 |
$op eq '+' ? :
|
|
0 |
2 |
!$r ? :
|
628
|
2 |
0 |
if $r
|
631
|
2 |
0 |
$right->isa('MF::INTEGER') ? :
|
632
|
2 |
0 |
if $r
|
635
|
3 |
0 |
$right->isa('MF::DURATION') ? :
|
636
|
3 |
0 |
if $r
|
643
|
0 |
0 |
unless $dur_attrs{$_[1]}
|
662
|
0 |
0 |
unless $name =~ qr/^$pattern$/ou
|
672
|
0 |
2 |
if ($type->isa("MF::FRAGMENT"))
|
673
|
0 |
0 |
$self->token eq '' ? :
|
674
|
0 |
0 |
if $frag
|
683
|
4 |
0 |
if $op eq "exists"
|
694
|
4 |
17 |
if ($op eq ".")
|
695
|
1 |
3 |
$name eq '' ? :
|
696
|
4 |
0 |
if $left
|
699
|
7 |
10 |
if ($op eq "#")
|
700
|
7 |
0 |
$name eq '' ? :
|
701
|
7 |
0 |
if $left
|
704
|
5 |
5 |
if ($op eq "//")
|
705
|
1 |
4 |
defined $context->formula($name) ? :
|
711
|
5 |
0 |
$left ? :
|
739
|
2 |
104 |
if (length $char == 2)
|
740
|
6 |
57 |
$in_range ? :
|
|
63 |
41 |
if (not $char =~ /^[\[\]*?{},!]$/u) { }
|
|
12 |
29 |
elsif ($char eq '*') { }
|
|
1 |
28 |
elsif ($char eq '?') { }
|
|
3 |
25 |
elsif ($char eq '[') { }
|
|
3 |
22 |
elsif ($char eq ']') { }
|
|
2 |
20 |
elsif ($char eq '!') { }
|
|
5 |
15 |
elsif ($char eq '{') { }
|
|
5 |
10 |
elsif ($char eq '}') { }
|
|
10 |
0 |
elsif ($char eq ',') { }
|
745
|
1 |
1 |
$in_range && $regexp[-1] eq '[' ? :
|
746
|
1 |
4 |
$in_range ? :
|
|
4 |
1 |
unless $in_range
|
747
|
1 |
4 |
$in_range ? :
|
|
4 |
1 |
unless $in_range
|
748
|
8 |
2 |
$in_alts ? :
|
772
|
2 |
6 |
if defined $self->[2]
|
793
|
7 |
8 |
if ($op eq "#" and $right->isa("MF::NAME"))
|
794
|
0 |
7 |
unless my $fragment = $self->context->fragment($name)
|
801
|
8 |
0 |
if ($op eq "." and $right->isa("MF::NAME"))
|
803
|
8 |
0 |
if $result
|