| blib/lib/Mic/Assembler.pm | |||
|---|---|---|---|
| Criterion | Covered | Total | % |
| condition | 35 | 54 | 64.8 |
| line | !l | l&&!r | l&&r | condition |
|---|---|---|---|---|
| 119 | 49 | 0 | 49 | $type eq 'interface' and ref $spec->{$type} eq 'HASH' |
| 190 | 0 | 0 | 2 | ref $h1->{$k} eq 'HASH' and ref $h2->{$k} eq 'HASH' |
| 247 | 0 | 49 | 15 | not $spec->{'implementation'}{'methods'}{$meta->{'reader'}} and $meta->{'reader'} |
| 49 | 1 | 14 | not $spec->{'implementation'}{'methods'}{$meta->{'reader'}} and $meta->{'reader'} and $$in_interface{$meta->{'reader'}} | |
| 262 | 0 | 63 | 1 | not $spec->{'implementation'}{'methods'}{$meta->{'property'}} and $meta->{'property'} |
| 63 | 0 | 1 | not $spec->{'implementation'}{'methods'}{$meta->{'property'}} and $meta->{'property'} and $$in_interface{$meta->{'property'}} | |
| 279 | 0 | 63 | 1 | not $spec->{'implementation'}{'methods'}{$meta->{'writer'}} and $meta->{'writer'} |
| 63 | 0 | 1 | not $spec->{'implementation'}{'methods'}{$meta->{'writer'}} and $meta->{'writer'} and $$in_interface{$meta->{'writer'}} | |
| 390 | 24 | 0 | 6 | $type eq 'class' and $name eq $constructor_spec->{'name'} |
| line | l | !l | condition |
|---|---|---|---|
| 22 | 49 | 0 | $arg{'-spec'} || {} |
| 114 | 49 | 49 | $type ||= 'interface' |
| 164 | 2 | 49 | $from_interface ||= {} |
| 341 | 0 | 5 | $spec->{'invariant_guard'} ||= sub { return if (caller 1)[0] eq $spec->{'name'}; foreach my $desc (keys %{$inv_hash;}) { my $sub = $inv_hash->{$desc}; confess("Invariant '${desc}' violated") unless &$sub(@_); }; } |
| 528 | 67 | 49 | $spec->{'constructor'} ||= {} |
| 537 | 0 | 49 | $constructor_spec->{'name'} ||= 'new' |
| line | l | !l&&r | !l&&!r | condition |
|---|---|---|---|---|
| 43 | 47 | 2 | 0 | $self->{'cls_stash'} ||= 'Package::Stash'->new($spec->{'name'}) |
| 47 | 10 | 39 | 0 | $Mic::Bound_implementation_of{$spec->{'name'}} || $spec->{'implementation'} |
| 230 | 2 | 0 | 0 | $r eq $spec->{'interface_name'} || $spec->{'name'} eq $r || $spec->{'does'}{$r} || $self->isa($r) |
| 330 | 0 | 5 | 0 | !ref($spec->{'interface'}) && $Mic::Spec_for{$spec->{'interface'}}{'interface_meta'}{'invariant'} || $spec->{'interface_meta'}{'invariant'} |
| 496 | 2 | 49 | 0 | $target_method->{$meth} || $meth |