Branch Coverage

blib/lib/MarpaX/Languages/M4/Impl/Default/Eval.pm
Criterion Covered Total %
branch 313 704 44.4


line true false branch
34 162 0 @_ ? :
0 162 if @_ != 1
162 0 $#_ >= 0 ? :
162 0 if (&Scalar::Util::blessed($expression))
162 0 do { if (&Scalar::Util::blessed($expression)) { my $method = $expression->can('DOES') || $expression->can('isa'); $expression->$method('Bit::Vector'); } } ? :
162 0 if ($#_ >= 0)
38 2 0 @_ ? :
0 2 if @_ != 1
2 0 $#_ >= 0 ? :
2 0 Type::Tiny::XS::Str($op) ? :
2 0 if ($#_ >= 0)
44 2 0 @_ ? :
0 2 if @_ != 2
2 0 $#_ >= 0 ? :
2 0 Type::Tiny::XS::Str($op) ? :
2 0 if ($#_ >= 0)
2 0 $#_ >= 1 ? :
2 0 if (&Scalar::Util::blessed($expression))
2 0 do { if (&Scalar::Util::blessed($expression)) { my $method = $expression->can('DOES') || $expression->can('isa'); $expression->$method('Bit::Vector'); } } ? :
2 0 if ($#_ >= 1)
48 3 0 @_ ? :
0 3 if @_ != 2
3 0 $#_ >= 0 ? :
3 0 Type::Tiny::XS::Str($op) ? :
3 0 if ($#_ >= 0)
3 0 $#_ >= 1 ? :
3 0 if (&Scalar::Util::blessed($expression))
3 0 do { if (&Scalar::Util::blessed($expression)) { my $method = $expression->can('DOES') || $expression->can('isa'); $expression->$method('Bit::Vector'); } } ? :
3 0 if ($#_ >= 1)
52 21 0 @_ ? :
0 21 if @_ != 3
21 0 $#_ >= 0 ? :
21 0 if (&Scalar::Util::blessed($expression1))
21 0 do { if (&Scalar::Util::blessed($expression1)) { my $method = $expression1->can('DOES') || $expression1->can('isa'); $expression1->$method('Bit::Vector'); } } ? :
21 0 if ($#_ >= 0)
21 0 $#_ >= 1 ? :
21 0 Type::Tiny::XS::Str($op) ? :
21 0 if ($#_ >= 1)
21 0 $#_ >= 2 ? :
21 0 if (&Scalar::Util::blessed($expression2))
21 0 do { if (&Scalar::Util::blessed($expression2)) { my $method = $expression2->can('DOES') || $expression2->can('isa'); $expression2->$method('Bit::Vector'); } } ? :
21 0 if ($#_ >= 2)
53 1 20 if ($expression2->to_Dec < 0)
61 1 19 if ($expression1->to_Dec == 0 and $expression2->to_Dec == 0)
74 13 0 @_ ? :
0 13 if @_ != 2
13 0 $#_ >= 0 ? :
13 0 Type::Tiny::XS::Str($op) ? :
13 0 if ($#_ >= 0)
13 0 $#_ >= 1 ? :
13 0 if (&Scalar::Util::blessed($expression))
13 0 do { if (&Scalar::Util::blessed($expression)) { my $method = $expression->can('DOES') || $expression->can('isa'); $expression->$method('Bit::Vector'); } } ? :
13 0 if ($#_ >= 1)
80 2 0 @_ ? :
0 2 if @_ != 2
2 0 $#_ >= 0 ? :
2 0 Type::Tiny::XS::Str($op) ? :
2 0 if ($#_ >= 0)
2 0 $#_ >= 1 ? :
2 0 if (&Scalar::Util::blessed($expression))
2 0 do { if (&Scalar::Util::blessed($expression)) { my $method = $expression->can('DOES') || $expression->can('isa'); $expression->$method('Bit::Vector'); } } ? :
2 0 if ($#_ >= 1)
86 12 0 @_ ? :
0 12 if @_ != 3
12 0 $#_ >= 0 ? :
12 0 if (&Scalar::Util::blessed($expression1))
12 0 do { if (&Scalar::Util::blessed($expression1)) { my $method = $expression1->can('DOES') || $expression1->can('isa'); $expression1->$method('Bit::Vector'); } } ? :
12 0 if ($#_ >= 0)
12 0 $#_ >= 1 ? :
12 0 Type::Tiny::XS::Str($op) ? :
12 0 if ($#_ >= 1)
12 0 $#_ >= 2 ? :
12 0 if (&Scalar::Util::blessed($expression2))
12 0 do { if (&Scalar::Util::blessed($expression2)) { my $method = $expression2->can('DOES') || $expression2->can('isa'); $expression2->$method('Bit::Vector'); } } ? :
12 0 if ($#_ >= 2)
92 5 0 @_ ? :
0 5 if @_ != 3
5 0 $#_ >= 0 ? :
5 0 if (&Scalar::Util::blessed($expression1))
5 0 do { if (&Scalar::Util::blessed($expression1)) { my $method = $expression1->can('DOES') || $expression1->can('isa'); $expression1->$method('Bit::Vector'); } } ? :
5 0 if ($#_ >= 0)
5 0 $#_ >= 1 ? :
5 0 Type::Tiny::XS::Str($op) ? :
5 0 if ($#_ >= 1)
5 0 $#_ >= 2 ? :
5 0 if (&Scalar::Util::blessed($expression2))
5 0 do { if (&Scalar::Util::blessed($expression2)) { my $method = $expression2->can('DOES') || $expression2->can('isa'); $expression2->$method('Bit::Vector'); } } ? :
5 0 if ($#_ >= 2)
103 5 0 @_ ? :
0 5 if @_ != 3
5 0 $#_ >= 0 ? :
5 0 if (&Scalar::Util::blessed($expression1))
5 0 do { if (&Scalar::Util::blessed($expression1)) { my $method = $expression1->can('DOES') || $expression1->can('isa'); $expression1->$method('Bit::Vector'); } } ? :
5 0 if ($#_ >= 0)
5 0 $#_ >= 1 ? :
5 0 Type::Tiny::XS::Str($op) ? :
5 0 if ($#_ >= 1)
5 0 $#_ >= 2 ? :
5 0 if (&Scalar::Util::blessed($expression2))
5 0 do { if (&Scalar::Util::blessed($expression2)) { my $method = $expression2->can('DOES') || $expression2->can('isa'); $expression2->$method('Bit::Vector'); } } ? :
5 0 if ($#_ >= 2)
114 82 0 @_ ? :
0 82 if @_ != 3
82 0 $#_ >= 0 ? :
82 0 if (&Scalar::Util::blessed($expression1))
82 0 do { if (&Scalar::Util::blessed($expression1)) { my $method = $expression1->can('DOES') || $expression1->can('isa'); $expression1->$method('Bit::Vector'); } } ? :
82 0 if ($#_ >= 0)
82 0 $#_ >= 1 ? :
82 0 Type::Tiny::XS::Str($op) ? :
82 0 if ($#_ >= 1)
82 0 $#_ >= 2 ? :
82 0 if (&Scalar::Util::blessed($expression2))
82 0 do { if (&Scalar::Util::blessed($expression2)) { my $method = $expression2->can('DOES') || $expression2->can('isa'); $expression2->$method('Bit::Vector'); } } ? :
82 0 if ($#_ >= 2)
120 21 0 @_ ? :
0 21 if @_ != 3
21 0 $#_ >= 0 ? :
21 0 if (&Scalar::Util::blessed($expression1))
21 0 do { if (&Scalar::Util::blessed($expression1)) { my $method = $expression1->can('DOES') || $expression1->can('isa'); $expression1->$method('Bit::Vector'); } } ? :
21 0 if ($#_ >= 0)
21 0 $#_ >= 1 ? :
21 0 Type::Tiny::XS::Str($op) ? :
21 0 if ($#_ >= 1)
21 0 $#_ >= 2 ? :
21 0 if (&Scalar::Util::blessed($expression2))
21 0 do { if (&Scalar::Util::blessed($expression2)) { my $method = $expression2->can('DOES') || $expression2->can('isa'); $expression2->$method('Bit::Vector'); } } ? :
21 0 if ($#_ >= 2)
133 1 0 @_ ? :
0 1 if @_ != 3
1 0 $#_ >= 0 ? :
1 0 if (&Scalar::Util::blessed($expression1))
1 0 do { if (&Scalar::Util::blessed($expression1)) { my $method = $expression1->can('DOES') || $expression1->can('isa'); $expression1->$method('Bit::Vector'); } } ? :
1 0 if ($#_ >= 0)
1 0 $#_ >= 1 ? :
1 0 Type::Tiny::XS::Str($op) ? :
1 0 if ($#_ >= 1)
1 0 $#_ >= 2 ? :
1 0 if (&Scalar::Util::blessed($expression2))
1 0 do { if (&Scalar::Util::blessed($expression2)) { my $method = $expression2->can('DOES') || $expression2->can('isa'); $expression2->$method('Bit::Vector'); } } ? :
1 0 if ($#_ >= 2)
138 2 0 @_ ? :
0 2 if @_ != 3
2 0 $#_ >= 0 ? :
2 0 if (&Scalar::Util::blessed($expression1))
2 0 do { if (&Scalar::Util::blessed($expression1)) { my $method = $expression1->can('DOES') || $expression1->can('isa'); $expression1->$method('Bit::Vector'); } } ? :
2 0 if ($#_ >= 0)
2 0 $#_ >= 1 ? :
2 0 Type::Tiny::XS::Str($op) ? :
2 0 if ($#_ >= 1)
2 0 $#_ >= 2 ? :
2 0 if (&Scalar::Util::blessed($expression2))
2 0 do { if (&Scalar::Util::blessed($expression2)) { my $method = $expression2->can('DOES') || $expression2->can('isa'); $expression2->$method('Bit::Vector'); } } ? :
2 0 if ($#_ >= 2)
140 2 0 if ($expression1->Sign < 0)
144 2 0 if ($expression1->Sign < 0)
150 13 0 @_ ? :
0 13 if @_ != 3
13 0 $#_ >= 0 ? :
13 0 if (&Scalar::Util::blessed($expression1))
13 0 do { if (&Scalar::Util::blessed($expression1)) { my $method = $expression1->can('DOES') || $expression1->can('isa'); $expression1->$method('Bit::Vector'); } } ? :
13 0 if ($#_ >= 0)
13 0 $#_ >= 1 ? :
13 0 Type::Tiny::XS::Str($op) ? :
13 0 if ($#_ >= 1)
13 0 $#_ >= 2 ? :
13 0 if (&Scalar::Util::blessed($expression2))
13 0 do { if (&Scalar::Util::blessed($expression2)) { my $method = $expression2->can('DOES') || $expression2->can('isa'); $expression2->$method('Bit::Vector'); } } ? :
13 0 if ($#_ >= 2)
151 11 2 $expression1->Compare($expression2) > 0 ? :
155 1 0 @_ ? :
0 1 if @_ != 3
1 0 $#_ >= 0 ? :
1 0 if (&Scalar::Util::blessed($expression1))
1 0 do { if (&Scalar::Util::blessed($expression1)) { my $method = $expression1->can('DOES') || $expression1->can('isa'); $expression1->$method('Bit::Vector'); } } ? :
1 0 if ($#_ >= 0)
1 0 $#_ >= 1 ? :
1 0 Type::Tiny::XS::Str($op) ? :
1 0 if ($#_ >= 1)
1 0 $#_ >= 2 ? :
1 0 if (&Scalar::Util::blessed($expression2))
1 0 do { if (&Scalar::Util::blessed($expression2)) { my $method = $expression2->can('DOES') || $expression2->can('isa'); $expression2->$method('Bit::Vector'); } } ? :
1 0 if ($#_ >= 2)
156 1 0 $expression1->Compare($expression2) >= 0 ? :
160 1 0 @_ ? :
0 1 if @_ != 3
1 0 $#_ >= 0 ? :
1 0 if (&Scalar::Util::blessed($expression1))
1 0 do { if (&Scalar::Util::blessed($expression1)) { my $method = $expression1->can('DOES') || $expression1->can('isa'); $expression1->$method('Bit::Vector'); } } ? :
1 0 if ($#_ >= 0)
1 0 $#_ >= 1 ? :
1 0 Type::Tiny::XS::Str($op) ? :
1 0 if ($#_ >= 1)
1 0 $#_ >= 2 ? :
1 0 if (&Scalar::Util::blessed($expression2))
1 0 do { if (&Scalar::Util::blessed($expression2)) { my $method = $expression2->can('DOES') || $expression2->can('isa'); $expression2->$method('Bit::Vector'); } } ? :
1 0 if ($#_ >= 2)
161 1 0 $expression1->Compare($expression2) < 0 ? :
165 0 0 @_ ? :
0 0 if @_ != 3
0 0 $#_ >= 0 ? :
0 0 if (&Scalar::Util::blessed($expression1))
0 0 do { if (&Scalar::Util::blessed($expression1)) { my $method = $expression1->can('DOES') || $expression1->can('isa'); $expression1->$method('Bit::Vector'); } } ? :
0 0 if ($#_ >= 0)
0 0 $#_ >= 1 ? :
0 0 Type::Tiny::XS::Str($op) ? :
0 0 if ($#_ >= 1)
0 0 $#_ >= 2 ? :
0 0 if (&Scalar::Util::blessed($expression2))
0 0 do { if (&Scalar::Util::blessed($expression2)) { my $method = $expression2->can('DOES') || $expression2->can('isa'); $expression2->$method('Bit::Vector'); } } ? :
0 0 if ($#_ >= 2)
166 0 0 $expression1->Compare($expression2) <= 0 ? :
170 3 0 @_ ? :
0 3 if @_ != 3
3 0 $#_ >= 0 ? :
3 0 if (&Scalar::Util::blessed($expression1))
3 0 do { if (&Scalar::Util::blessed($expression1)) { my $method = $expression1->can('DOES') || $expression1->can('isa'); $expression1->$method('Bit::Vector'); } } ? :
3 0 if ($#_ >= 0)
3 0 $#_ >= 1 ? :
3 0 Type::Tiny::XS::Str($op) ? :
3 0 if ($#_ >= 1)
3 0 $#_ >= 2 ? :
3 0 if (&Scalar::Util::blessed($expression2))
3 0 do { if (&Scalar::Util::blessed($expression2)) { my $method = $expression2->can('DOES') || $expression2->can('isa'); $expression2->$method('Bit::Vector'); } } ? :
3 0 if ($#_ >= 2)
171 2 1 $expression1->Compare($expression2) == 0 ? :
175 1 0 @_ ? :
0 1 if @_ != 3
1 0 $#_ >= 0 ? :
1 0 if (&Scalar::Util::blessed($expression1))
1 0 do { if (&Scalar::Util::blessed($expression1)) { my $method = $expression1->can('DOES') || $expression1->can('isa'); $expression1->$method('Bit::Vector'); } } ? :
1 0 if ($#_ >= 0)
1 0 $#_ >= 1 ? :
1 0 Type::Tiny::XS::Str($op) ? :
1 0 if ($#_ >= 1)
1 0 $#_ >= 2 ? :
1 0 if (&Scalar::Util::blessed($expression2))
1 0 do { if (&Scalar::Util::blessed($expression2)) { my $method = $expression2->can('DOES') || $expression2->can('isa'); $expression2->$method('Bit::Vector'); } } ? :
1 0 if ($#_ >= 2)
180 0 0 @_ ? :
0 0 if @_ != 3
0 0 $#_ >= 0 ? :
0 0 if (&Scalar::Util::blessed($expression1))
0 0 do { if (&Scalar::Util::blessed($expression1)) { my $method = $expression1->can('DOES') || $expression1->can('isa'); $expression1->$method('Bit::Vector'); } } ? :
0 0 if ($#_ >= 0)
0 0 $#_ >= 1 ? :
0 0 Type::Tiny::XS::Str($op) ? :
0 0 if ($#_ >= 1)
0 0 $#_ >= 2 ? :
0 0 if (&Scalar::Util::blessed($expression2))
0 0 do { if (&Scalar::Util::blessed($expression2)) { my $method = $expression2->can('DOES') || $expression2->can('isa'); $expression2->$method('Bit::Vector'); } } ? :
0 0 if ($#_ >= 2)
181 0 0 $expression1->Compare($expression2) != 0 ? :
185 0 0 @_ ? :
0 0 if @_ != 3
0 0 $#_ >= 0 ? :
0 0 if (&Scalar::Util::blessed($expression1))
0 0 do { if (&Scalar::Util::blessed($expression1)) { my $method = $expression1->can('DOES') || $expression1->can('isa'); $expression1->$method('Bit::Vector'); } } ? :
0 0 if ($#_ >= 0)
0 0 $#_ >= 1 ? :
0 0 Type::Tiny::XS::Str($op) ? :
0 0 if ($#_ >= 1)
0 0 $#_ >= 2 ? :
0 0 if (&Scalar::Util::blessed($expression2))
0 0 do { if (&Scalar::Util::blessed($expression2)) { my $method = $expression2->can('DOES') || $expression2->can('isa'); $expression2->$method('Bit::Vector'); } } ? :
0 0 if ($#_ >= 2)
191 2 0 @_ ? :
0 2 if @_ != 3
2 0 $#_ >= 0 ? :
2 0 if (&Scalar::Util::blessed($expression1))
2 0 do { if (&Scalar::Util::blessed($expression1)) { my $method = $expression1->can('DOES') || $expression1->can('isa'); $expression1->$method('Bit::Vector'); } } ? :
2 0 if ($#_ >= 0)
2 0 $#_ >= 1 ? :
2 0 Type::Tiny::XS::Str($op) ? :
2 0 if ($#_ >= 1)
2 0 $#_ >= 2 ? :
2 0 if (&Scalar::Util::blessed($expression2))
2 0 do { if (&Scalar::Util::blessed($expression2)) { my $method = $expression2->can('DOES') || $expression2->can('isa'); $expression2->$method('Bit::Vector'); } } ? :
2 0 if ($#_ >= 2)
197 2 0 @_ ? :
0 2 if @_ != 3
2 0 $#_ >= 0 ? :
2 0 if (&Scalar::Util::blessed($expression1))
2 0 do { if (&Scalar::Util::blessed($expression1)) { my $method = $expression1->can('DOES') || $expression1->can('isa'); $expression1->$method('Bit::Vector'); } } ? :
2 0 if ($#_ >= 0)
2 0 $#_ >= 1 ? :
2 0 Type::Tiny::XS::Str($op) ? :
2 0 if ($#_ >= 1)
2 0 $#_ >= 2 ? :
2 0 if (&Scalar::Util::blessed($expression2))
2 0 do { if (&Scalar::Util::blessed($expression2)) { my $method = $expression2->can('DOES') || $expression2->can('isa'); $expression2->$method('Bit::Vector'); } } ? :
2 0 if ($#_ >= 2)
208 2 0 @_ ? :
0 2 if @_ != 3
2 0 $#_ >= 0 ? :
2 0 if (&Scalar::Util::blessed($expression1))
2 0 do { if (&Scalar::Util::blessed($expression1)) { my $method = $expression1->can('DOES') || $expression1->can('isa'); $expression1->$method('Bit::Vector'); } } ? :
2 0 if ($#_ >= 0)
2 0 $#_ >= 1 ? :
2 0 Type::Tiny::XS::Str($op) ? :
2 0 if ($#_ >= 1)
2 0 $#_ >= 2 ? :
2 0 !defined($expression2) || do { if (&Scalar::Util::blessed($expression2)) { my $method = $expression2->can('DOES') || $expression2->can('isa'); $expression2->$method('Bit::Vector'); } } ? :
2 0 if ($#_ >= 2)
210 0 2 if (not &Undef()->check($expression2)) { }
1 1 elsif ($expression1->is_empty) { }
211 0 0 !($expression1->is_empty || $expression2->is_empty) ? :
232 2 0 @_ ? :
0 2 if @_ != 3
2 0 $#_ >= 0 ? :
2 0 if (&Scalar::Util::blessed($expression1))
2 0 do { if (&Scalar::Util::blessed($expression1)) { my $method = $expression1->can('DOES') || $expression1->can('isa'); $expression1->$method('Bit::Vector'); } } ? :
2 0 if ($#_ >= 0)
2 0 $#_ >= 1 ? :
2 0 Type::Tiny::XS::Str($op) ? :
2 0 if ($#_ >= 1)
2 0 $#_ >= 2 ? :
2 0 !defined($expression2) || do { if (&Scalar::Util::blessed($expression2)) { my $method = $expression2->can('DOES') || $expression2->can('isa'); $expression2->$method('Bit::Vector'); } } ? :
2 0 if ($#_ >= 2)
234 0 2 if (not &Undef()->check($expression2)) { }
1 1 elsif (not $expression1->is_empty) { }
235 0 0 !($expression1->is_empty && $expression2->is_empty) ? :
257 339 0 @_ ? :
0 339 if @_ != 1
339 0 $#_ >= 0 ? :
339 0 Type::Tiny::XS::Str($lexeme) ? :
339 0 if ($#_ >= 0)
264 0 0 @_ ? :
0 0 if @_ != 1
0 0 $#_ >= 0 ? :
0 0 Type::Tiny::XS::Str($lexeme) ? :
0 0 if ($#_ >= 0)
272 2 0 @_ ? :
0 2 if @_ != 1
2 0 $#_ >= 0 ? :
2 0 Type::Tiny::XS::Str($lexeme) ? :
2 0 if ($#_ >= 0)
280 1 0 @_ ? :
0 1 if @_ != 1
1 0 $#_ >= 0 ? :
1 0 Type::Tiny::XS::Str($lexeme) ? :
1 0 if ($#_ >= 0)
288 344 0 @_ ? :
0 344 if @_ < 1
0 344 if @_ > 2
344 0 $#_ >= 0 ? :
344 0 Type::Tiny::XS::Str($lexeme) ? :
344 0 if ($#_ >= 0)
1 343 $#_ >= 1 ? :
1 0 Type::Tiny::XS::Bool($binary) ? :
1 343 if ($#_ >= 1)
295 343 1 unless ($binary)
312 0 344 if ($error)