blib/lib/Mic/Assembler.pm | |||
---|---|---|---|
Criterion | Covered | Total | % |
condition | 38 | 57 | 66.6 |
line | !l | l&&!r | l&&r | condition |
---|---|---|---|---|
118 | 51 | 0 | 51 | $type eq 'interface' and ref $spec->{$type} eq 'HASH' |
189 | 0 | 0 | 2 | ref $h1->{$k} eq 'HASH' and ref $h2->{$k} eq 'HASH' |
260 | 0 | 51 | 16 | not $spec->{'implementation'}{'methods'}{$meta->{'reader'}} and $meta->{'reader'} |
51 | 1 | 15 | not $spec->{'implementation'}{'methods'}{$meta->{'reader'}} and $meta->{'reader'} and $$in_interface{$meta->{'reader'}} | |
271 | 0 | 66 | 1 | not $spec->{'implementation'}{'methods'}{$meta->{'property'}} and $meta->{'property'} |
66 | 0 | 1 | not $spec->{'implementation'}{'methods'}{$meta->{'property'}} and $meta->{'property'} and $$in_interface{$meta->{'property'}} | |
284 | 0 | 66 | 1 | not $spec->{'implementation'}{'methods'}{$meta->{'writer'}} and $meta->{'writer'} |
66 | 0 | 1 | not $spec->{'implementation'}{'methods'}{$meta->{'writer'}} and $meta->{'writer'} and $$in_interface{$meta->{'writer'}} | |
352 | 235 | 14 | 7 | defined $Mic::Contracts_for{$spec->{'name'}}{'pre'} and not $Mic::Contracts_for{$spec->{'name'}}{'pre'} |
394 | 24 | 0 | 6 | $type eq 'class' and $name eq $constructor_spec->{'name'} |
line | l | !l | condition |
---|---|---|---|
21 | 51 | 0 | $arg{'-spec'} || {} |
113 | 51 | 51 | $type ||= 'interface' |
163 | 2 | 51 | $from_interface ||= {} |
342 | 0 | 6 | $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(@_); }; } |
542 | 69 | 51 | $spec->{'constructor'} ||= {} |
551 | 0 | 51 | $constructor_spec->{'name'} ||= 'new' |
line | l | !l&&r | !l&&!r | condition |
---|---|---|---|---|
42 | 49 | 2 | 0 | $self->{'cls_stash'} ||= 'Package::Stash'->new($spec->{'name'}) |
46 | 11 | 40 | 0 | $Mic::Bound_implementation_of{$spec->{'name'}} || $spec->{'implementation'} |
243 | 2 | 0 | 0 | $r eq $spec->{'interface_name'} || $spec->{'name'} eq $r || $spec->{'does'}{$r} || $self->isa($r) |
331 | 0 | 6 | 0 | !ref($spec->{'interface'}) && $Mic::Spec_for{$spec->{'interface'}}{'interface_meta'}{'invariant'} || $spec->{'interface_meta'}{'invariant'} |
512 | 2 | 53 | 0 | $target_method->{$meth} || $meth |