Branch Coverage

blib/lib/MarpaX/Languages/C/AST/Callback.pm
Criterion Covered Total %
branch 108 210 51.4


line true false branch
51 0 37 if (ref $cb ne 'MarpaX::Languages::C::AST::Callback::Method')
57 1 36 unless (defined $self->log_prefix)
64 0 37 if (defined $cb->method and ref $cb->method ne 'ARRAY')
67 37 0 if (defined $cb->method)
68 0 37 unless (@{$cb->method;})
71 0 0 if (ref $cb->method->[0] ne 'CODE' and (not ref $cb->method and $cb->method eq 'auto'))
75 22 15 unless (defined $cb->method_mode)
78 0 37 if ($cb->method_mode ne 'push' and $cb->method_mode ne 'replace')
84 0 37 unless (defined $cb->option)
89 0 29 unless (defined $_ and ref $_ eq 'ARRAY' and ref $$_[0] eq 'CODE' || !ref($$_[0]) && $$_[0] eq 'auto')
94 37 0 unless (defined $option->conditionMode)
97 0 37 unless (grep {$option->conditionMode eq $_;} 'and', 'or')
101 37 0 unless (defined $option->subscriptionMode)
104 0 37 unless (grep {$option->subscriptionMode eq $_;} 'required', 'optional')
108 11 26 unless (defined $option->topic_persistence)
111 0 37 unless (grep {$option->topic_persistence eq $_;} 'none', 'any', 'level')
115 6 31 unless (defined $option->priority)
119 0 37 unless ("$priority" =~ /^[+-]?\d+$/)
123 5 32 unless defined $self->ncb
145 0 0 unless defined $cb
160 0 0 if (not $firing) { }
180 20 0 $cache ? :
181 20 0 $cache ? :
182 20 0 $cache ? :
183 20 0 $cache ? :
184 20 0 $cache ? :
185 20 0 $cache ? :
186 20 0 $cache ? :
187 20 0 $cache ? :
188 20 0 $cache ? :
189 20 0 $cache ? :
190 20 0 $cache ? :
191 20 0 $cache ? :
192 20 0 $cache ? :
193 20 0 $cache ? :
194 20 0 $cache ? :
227 155 0 defined $__PACKAGE__::_cacheOptionp ? :
228 155 0 defined $__PACKAGE__::_cacheOptionConditionModep ? :
155 0 (defined $__PACKAGE__::_cacheOptionConditionModep ? $$__PACKAGE__::_cacheOptionConditionModep[$i] : $option->conditionMode) eq 'and' ? :
231 155 0 defined $__PACKAGE__::_cacheCbDescriptionp ? :
232 155 0 defined $__PACKAGE__::_cacheOptionConditionp ? :
234 45 115 if (ref $coderef eq 'CODE') { }
115 0 elsif (defined $description) { }
235 10 35 &$coderef($cb, $_[0], $argumentsp, @arguments) ? :
240 22 93 grep({$_ eq $description;} @{$argumentsp;}) ? :
248 155 0 if (@condition)
250 155 0 if ($conditionMode) { }
266 28 127 if ($condition) { }
271 28 0 defined $__PACKAGE__::_cacheOptionTopicp ? :
272 29 0 defined $__PACKAGE__::_cacheOptionTopicp ? :
0 29 unless defined(defined $__PACKAGE__::_cacheOptionTopicp ? $$__PACKAGE__::_cacheOptionTopicp[$i]{$topic} : $option->topic($topic))
273 29 0 defined $__PACKAGE__::_cacheOptionTopicp ? :
0 29 unless defined $__PACKAGE__::_cacheOptionTopicp ? $$__PACKAGE__::_cacheOptionTopicp[$i]{$topic} : $option->topic($topic)
274 17 12 unless (defined $topic_firedp->{$topic})
276 17 0 defined $__PACKAGE__::_cacheOptionTopic_persistencep ? :
277 17 0 unless (defined $topic_fired_datap->{$topic})
284 4 123 if (@condition)
368 194 43 if ($$prioritized_cb_tofirep[$i] <= 0)
375 15 28 if ($$prioritized_cb_firedp[$i])
383 28 0 defined $__PACKAGE__::_cacheCbMethodp ? :
384 28 0 if (defined $method)
386 28 0 if (ref $method eq 'ARRAY')
388 28 0 if (ref $method eq 'CODE') { }
401 28 0 defined $__PACKAGE__::_cacheCbMethod_voidp ? :
402 27 1 unless ($method_void)
403 27 0 defined $__PACKAGE__::_cacheOptionTopicp ? :
404 27 0 defined $__PACKAGE__::_cacheOptionTopicp ? :
0 27 unless defined(defined $__PACKAGE__::_cacheOptionTopicp ? $$__PACKAGE__::_cacheOptionTopicp[$i]{$topic} : $option->topic($topic))
405 27 0 defined $__PACKAGE__::_cacheOptionTopicp ? :
6 21 if (defined $__PACKAGE__::_cacheOptionTopicp ? $$__PACKAGE__::_cacheOptionTopicp[$i]{$topic} : $option->topic($topic)) != 1
407 21 0 if (ref $cb->method eq 'ARRAY') { }
408 7 14 if ($cb->method_mode eq 'push') { }
414 0 0 if ($cb->method_mode eq 'push') { }
440 0 1 if ($level > 0)
443 0 1 if ($level == 0) { }
444 0 0 if (@_)
450 0 1 if (@_)
473 26 0 if (grep {$_ eq $persistence;} 'any', 'level')
492 20 0 if (defined $__PACKAGE__::_cachePrioritized_cb_tofirep)
504 20 0 if (defined $__PACKAGE__::_cachePrioritized_cb_firedp)
530 12 8 if ($nbTopicsCreated > 0)
556 155 0 defined $__PACKAGE__::_cacheOptionp ? :
562 4 151 if $$prioritized_cb_tofirep[$i] < 0
566 151 0 defined $__PACKAGE__::_cacheOptionSubscriptionp ? :
567 0 0 defined $__PACKAGE__::_cacheOptionSubscriptionp ? :
0 0 unless defined(defined $__PACKAGE__::_cacheOptionSubscriptionp ? $$__PACKAGE__::_cacheOptionSubscriptionp[$i]{$subscription} : $option->subscription($subscription))
568 0 0 defined $__PACKAGE__::_cacheOptionSubscriptionp ? :
0 0 unless defined $__PACKAGE__::_cacheOptionSubscriptionp ? $$__PACKAGE__::_cacheOptionSubscriptionp[$i]{$subscription} : $option->subscription($subscription)
570 0 0 if (ref $subscription eq 'Regexp') { }
572 0 0 if ($_ =~ /$subscription/)
578 0 0 if ("$_" eq "$subscription")
585 123 28 if ($$prioritized_cb_tofirep[$i] == 0 and not %subscribed)
593 0 0 defined $__PACKAGE__::_cacheOptionSubscriptionModep ? :
0 0 if ($nbSubscription > 0 and (defined $__PACKAGE__::_cacheOptionSubscriptionModep ? $$__PACKAGE__::_cacheOptionSubscriptionModep[$i] : $option->subscriptionMode) eq 'required' and $nbSubscription != keys %subscribed)
601 0 28 if ($$prioritized_cb_tofirep[$i] == 0)
609 28 0 defined $__PACKAGE__::_cacheOptionTopicp ? :
610 29 0 defined $__PACKAGE__::_cacheOptionTopicp ? :
0 29 unless defined(defined $__PACKAGE__::_cacheOptionTopicp ? $$__PACKAGE__::_cacheOptionTopicp[$i]{$topic} : $option->topic($topic))
611 29 0 defined $__PACKAGE__::_cacheOptionTopicp ? :
0 29 unless defined $__PACKAGE__::_cacheOptionTopicp ? $$__PACKAGE__::_cacheOptionTopicp[$i]{$topic} : $option->topic($topic)
612 0 29 unless (defined $topic_firedp->{$topic})
650 2 12 if (grep {$_ eq $persistence;} 'any')
692 0 0 if (ref $_[2] ne 'ARRAY')
701 0 0 if ($_[3] > 0)
704 0 0 if ($_[3] == 0) { }