line |
true |
false |
branch |
45
|
0 |
32 |
grep(/^old$/, @_) ? : |
49
|
0 |
5 |
if defined *{$caller . '::croak';}{'CODE'} |
50
|
0 |
5 |
if defined *{$caller . '::carp';}{'CODE'} |
58
|
0 |
0 |
if grep /^old$/, @_ |
65
|
0 |
0 |
$_[1] ? : |
|
0 |
0 |
!$#_ ? : |
66
|
0 |
0 |
$#_ ? : |
|
0 |
0 |
unless defined $_ |
85
|
0 |
48 |
exists $no_opt{'__ALL__'} ? : |
|
0 |
48 |
exists $no_opt{$_[0]} ? : |
95
|
312 |
611 |
unless ($c[0] =~ /^Class::Contract$/) |
96
|
312 |
0 |
unless $owner |
97
|
312 |
0 |
unless ($c[1] =~ /^\(eval \d+\)$/) |
98
|
312 |
0 |
wantarray ? : |
115
|
6 |
114 |
unless $name |
117
|
0 |
120 |
if (defined $contract{$owner}{$kind}{$name}) |
118
|
0 |
0 |
if $name |
135
|
114 |
6 |
unless $$current{'gentype'} =~ /\A(SCALAR|ARRAY|HASH)\z/ |
165
|
0 |
180 |
unless defined $current |
166
|
1 |
179 |
if $current->isa('Class::Contract::attr') and $field eq 'impl' |
176
|
93 |
86 |
if ($field eq 'impl' and not $current->isa('Class::Contract::ctor') || $current->isa('Class::Contract::dtor') || $current->isa('Class::Contract::clone')) { } |
188
|
0 |
0 |
unless $msg_target |
218
|
1 |
16 |
if $_->isa($owner) |
244
|
3 |
49 |
ref $proto ? : |
247
|
0 |
52 |
if $class =~ /^Class::Contract::Old::_/ |
249
|
0 |
52 |
if ($contract{$class}{'use_old'}) |
253
|
0 |
0 |
if ($obj) |
257
|
0 |
0 |
if exists $data{$$obj} |
267
|
0 |
0 |
unless @context |
270
|
0 |
0 |
unless $contract{$class}{'use_old'} |
277
|
0 |
36 |
wantarray ? : |
280
|
0 |
0 |
unless @value |
285
|
0 |
324 |
if (@_) |
288
|
0 |
0 |
unless defined *{join ref $_[0] || $_[0], '::';} |
292
|
0 |
324 |
unless @context |
297
|
0 |
0 |
unless @context |
310
|
13 |
12 |
unless $$spec{'parents'} |
312
|
0 |
16 |
if ($$parent{'use_old'} and not $$spec{'use_old'}) |
318
|
0 |
77 |
unless $$parent{$clause} |
320
|
22 |
0 |
unless (defined $$spec{$clause}{$name} or exists $inherited_clause{$name}) |
329
|
20 |
58 |
if ($clause =~ /^(ctor|clone|dtor)$/) |
330
|
14 |
6 |
if (defined $$parent{$clause}{$name}{'impl'} and @{$$parent{$clause}{$name}{'impl'};}) |
333
|
14 |
0 |
if (@impl) |
336
|
2 |
19 |
if exists $seen{$item} |
344
|
8 |
6 |
$clause ne 'dtor' ? : |
349
|
58 |
20 |
if ($clause eq 'method') |
350
|
0 |
58 |
if (not defined $$spec{$clause}{$name}{'impl'} or $inherited_impl{$name}) |
355
|
1 |
57 |
if $$parent{$clause}{$name}{'private'} and not $$spec{$clause}{$name}{'private'} |
362
|
6 |
71 |
unless $$parent{$clause}{$name}{'post'} |
|
2 |
75 |
if (@{[] unless $$parent{$clause}{$name}{'post'};}) |
364
|
2 |
0 |
if (@post) |
367
|
0 |
3 |
if exists $seen{$item} |
379
|
0 |
15 |
if (defined $$parent{'invar'} and @{$$parent{'invar'};}) |
380
|
0 |
0 |
unless defined $$spec{'invar'} |
382
|
0 |
0 |
if (@invar) |
385
|
0 |
0 |
if exists $seen{$_} |
394
|
13 |
11 |
unless $$spec{'parents'} |
401
|
3 |
5 |
if ($$attr{'shared'}) |
406
|
3 |
0 |
$$attr{'type'} eq 'SCALAR' ? : |
|
0 |
3 |
$$attr{'type'} eq 'HASH' ? : |
|
0 |
3 |
$$attr{'type'} eq 'ARRAY' ? : |
415
|
1 |
2 |
unless $$attr{'shared'} or ref $_[0] |
419
|
1 |
1 |
unless $classname->isa($caller) |
423
|
1 |
0 |
$$attr{'shared'} ? : |
425
|
1 |
0 |
$$attr{'shared'} ? : |
432
|
0 |
1 |
if @fail |
440
|
0 |
1 |
if @{$$attr{'post'};} |
455
|
5 |
95 |
unless ($$method{'impl'}) |
456
|
4 |
1 |
if ($$method{'abstract'}) { } |
471
|
0 |
48 |
if $$method{'private'} and not $classname->isa($caller) |
477
|
48 |
0 |
$$method{'shared'} ? : |
481
|
0 |
48 |
unless $$method{'shared'} or ref $self |
486
|
11 |
37 |
if @fail |
489
|
0 |
37 |
wantarray ? : |
495
|
35 |
0 |
if caller ne $classname |
508
|
0 |
160 |
if (ref self || self) =~ /^Class::Contract::Old::_/ |
511
|
39 |
121 |
unless $$class_spec{$kind}{$name}{$type} |
515
|
41 |
29 |
if $$spec{'opt'} and no_opt($$spec{'owner'}) or $$spec{'code'}(@args) |
520
|
0 |
76 |
@errors ? : |
|
76 |
84 |
unless $type eq 'pre' |
521
|
31 |
53 |
if @specs and not @errors |
524
|
11 |
42 |
unless $$class_spec{'parents'} |
526
|
0 |
48 |
unless exists $$parent{$kind}{$name} |
528
|
20 |
28 |
unless ($has_pre) |
529
|
5 |
15 |
unless $$parent{'parents'} |
530
|
4 |
11 |
if _hasa($p, $kind, $name, 'pre') |
534
|
32 |
16 |
if ($has_pre) |
536
|
20 |
12 |
unless @par_err |
545
|
0 |
15 |
unless defined $contract{$class}{$kind}{$name} |
547
|
3 |
12 |
unless $contract{$class}{$kind}{$name}{$type} |
|
4 |
11 |
@{[] unless $contract{$class}{$kind}{$name}{$type};} ? : |
548
|
11 |
4 |
unless ($has) |
549
|
11 |
0 |
unless $contract{$class}{'parents'} |
550
|
0 |
0 |
if _hasa($ancestor, $kind, $name, $type) |
560
|
1 |
2 |
if $contract{$class}{'abstract'} |
570
|
1 |
0 |
unless ($$attr{$attrname} and $$attr{$attrname}{'shared'}) |
575
|
1 |
0 |
$$attr{$attrname}{'type'} eq 'SCALAR' ? : |
|
0 |
1 |
$$attr{$attrname}{'type'} eq 'HASH' ? : |
|
0 |
1 |
$$attr{$attrname}{'type'} eq 'ARRAY' ? : |
587
|
0 |
0 |
unless $ref and not $ref =~ /^(HASH|ARRAY|SCALAR|GLOB|FORMAT|CODE|Regexp|REF)$/ |
592
|
0 |
0 |
if exists $data{$$self} |
605
|
8 |
15 |
if $noctor |
616
|
0 |
23 |
if ($$ctor{'shared'}) { } |
626
|
0 |
0 |
if @fail |
633
|
0 |
0 |
if caller ne $classname |
654
|
0 |
2 |
if @fail |
661
|
2 |
0 |
if caller ne $classname |
682
|
0 |
6 |
if ($$dtor{'shared'}) { } |
687
|
0 |
0 |
if caller() ne 'Class::Contract' |
690
|
0 |
0 |
if ref $self |
696
|
0 |
0 |
if @fail |
708
|
0 |
6 |
if $dtorcount++ |
714
|
0 |
1 |
if caller() ne 'Class::Contract' |
722
|
0 |
1 |
if @fail |
725
|
0 |
1 |
unless $$dtor{'impl'} |
729
|
1 |
0 |
if caller ne $classname |
739
|
1 |
0 |
if exists $data{${$_[0];}} |
744
|
17 |
6 |
unless (defined &{"${classname}::DESTROY";}) |
748
|
0 |
1 |
if exists $data{${$_[0];}} |
757
|
12 |
11 |
unless $$spec{'clone'} |
768
|
0 |
23 |
if $$clause{'shared'} |
770
|
0 |
23 |
if $clone_count++ |
782
|
0 |
0 |
if @fail |
785
|
0 |
0 |
unless $$clause{'impl'} |
789
|
0 |
0 |
if caller ne $classname |
806
|
0 |
0 |
unless $ref = ref $_[0] |
807
|
0 |
0 |
if exists $seen{$_[0]} |
813
|
0 |
0 |
$_[0]->can('clone') ? : |
|
0 |
0 |
$_[0] =~ /${a}GLOB$z/ ? : |
|
0 |
0 |
$_[0] =~ /${a}REF$z/ ? : |
|
0 |
0 |
$_[0] =~ /${a}Regexp$z/ ? : |
|
0 |
0 |
$_[0] =~ /${a}CODE$z/ ? : |
|
0 |
0 |
$_[0] =~ /${a}FORMAT$z/ ? : |
|
0 |
0 |
$_[0] =~ /${a}SCALAR$z/ ? : |
|
0 |
0 |
$_[0] =~ /${a}ARRAY$z/ ? : |
|
0 |
0 |
$_[0] =~ /${a}HASH$z/ ? : |
821
|
0 |
0 |
$ref =~ /^(HASH|ARRAY|SCALAR|GLOB|FORMAT|CODE|Regexp|REF)$/ ? : |
825
|
0 |
0 |
unless --$depth and $seen{$_[0]} = $rval |
836
|
0 |
0 |
unless defined *{$_[0] . '::';} |
838
|
0 |
0 |
if defined *{$_[1] . '::';} |
841
|
0 |
0 |
unless my($varname) = $glob =~ /^\*$_[0]::(.*)/ |
844
|
0 |
0 |
if defined $ref |
869
|
0 |
0 |
@$posts == 1 ? : |
|
0 |
0 |
if $^W |
906
|
0 |
0 |
if ($_[3]) |
939
|
0 |
0 |
if ($_[3]) |