| line |
true |
false |
branch |
|
104
|
0 |
0 |
unless ${"${class}::init_done";} |
|
107
|
0 |
0 |
unless ref $input |
|
115
|
0 |
0 |
if ($$obj{'lazy'}) { } |
|
|
0 |
0 |
elsif (not $$obj{'iterator'}) { } |
|
135
|
0 |
0 |
if ${"$_[0]::init_done";} |
|
139
|
0 |
0 |
unless ref $_[0] |
|
147
|
0 |
0 |
wantarray ? : |
|
149
|
0 |
0 |
$sigil eq '%' ? : |
|
|
0 |
0 |
$sigil eq '@' ? : |
|
|
0 |
0 |
$sigil eq '$' ? : |
|
152
|
0 |
0 |
unless $_[1] |
|
153
|
0 |
0 |
unless $_[1] |
|
154
|
0 |
0 |
$sigil eq '%' ? : |
|
|
0 |
0 |
$sigil eq '@' ? : |
|
|
0 |
0 |
$sigil eq '$' ? : |
|
161
|
0 |
0 |
if (defined &{"${class}::DELEGATE_SUBS";}) |
|
166
|
0 |
0 |
unless ref $methods |
|
174
|
0 |
0 |
if (defined &{"${class}::DISPATCH_TABLE";}) |
|
181
|
0 |
0 |
if (defined &{"${class}::DISPATCH_FIELD";}) |
|
188
|
0 |
0 |
if (my(@subformat) = $class->subformat_list) |
|
191
|
0 |
0 |
if ($field eq 'Data') { } |
|
208
|
0 |
0 |
if ($field eq '_') |
|
215
|
0 |
0 |
if (ref $format) { } |
|
230
|
0 |
0 |
unless (grep /\{/, @$format) |
|
249
|
0 |
0 |
@member_fields ? : |
|
253
|
0 |
0 |
ref $_ ? : |
|
257
|
0 |
0 |
@member_fields ? : |
|
271
|
0 |
0 |
unless ($field_parser{$field}) |
|
287
|
0 |
0 |
if defined &{"${class}::$field";} |
|
289
|
0 |
0 |
if ($enc_fields{$field} and my $encoding = $class->ENCODING) |
|
329
|
0 |
0 |
unless $class |
|
333
|
0 |
0 |
unless my $base_class = $self->BASE_CLASS |
|
334
|
0 |
0 |
if $class eq '::BASE::' |
|
346
|
0 |
0 |
exists $$table{$field} ? : |
|
348
|
0 |
0 |
if UNIVERSAL::isa($class, 'CODE') |
|
349
|
0 |
0 |
unless defined $class |
|
351
|
0 |
0 |
if (my $members = $$self{'parent'}{'callback_members'}) |
|
352
|
0 |
0 |
unless $$members{$class} |
|
354
|
0 |
0 |
unless my $subclass = $self->classname($class) |
|
355
|
0 |
0 |
if $subclass eq $class |
|
361
|
0 |
0 |
unless defined $module |
|
366
|
0 |
0 |
if eval {
do {
require $file;
1
}
} |
|
367
|
0 |
0 |
unless $@ =~ /^Can't locate / |
|
383
|
0 |
0 |
$self->SUBFORMAT ? : |
|
388
|
0 |
0 |
$self->DEFAULT_ARGS ? : |
|
393
|
0 |
0 |
$self->DISPATCH_TABLE ? : |
|
398
|
0 |
0 |
$self->DELEGATE_SUBS ? : |
|
413
|
0 |
0 |
unless grep /\{/, @formats |
|
417
|
0 |
0 |
if $format =~ /\{/ |
|
440
|
0 |
0 |
if $@ |
|
461
|
0 |
0 |
unless ref(my $sub = $$self{'lazy'}) |
|
463
|
0 |
0 |
unless $$self{'iterator'} |
|
469
|
0 |
0 |
unless defined $data |
|
473
|
0 |
0 |
unless ${"${class}::init_done";} |
|
478
|
0 |
0 |
if (my $field = $Parse::Binary::DispatchField{$class}) |
|
479
|
0 |
0 |
if (my $subclass = ($DispatchClass{$class}{$$self{'struct'}{$field}} ||= $self->dispatch_class($$self{'struct'}{$field}))) |
|
499
|
0 |
0 |
if (my $subclass = delete $args{'Class'}) |
|
522
|
0 |
0 |
unless my $field = $Parse::Binary::DispatchField{$super_class} |
|
523
|
0 |
0 |
unless my $table = $Parse::Binary::DispatchTable{$super_class} |
|
525
|
0 |
0 |
unless $class->is_type($$table{$code}) |
|
536
|
0 |
0 |
unless my $parent = $$self{'parent'} |
|
554
|
0 |
0 |
if $obj == $siblings[$index] |
|
567
|
0 |
0 |
if ($$self{'lazy'}) |
|
574
|
0 |
0 |
$$self{'index'} ? : |
|
585
|
0 |
0 |
$_ == $self ? : |
|
602
|
0 |
0 |
unless defined $data |
|
603
|
0 |
0 |
if UNIVERSAL::can($data, 'dump') |
|
604
|
0 |
0 |
if UNIVERSAL::isa($data, 'SCALAR') |
|
612
|
0 |
0 |
unless open FH, "< $file" |
|
621
|
0 |
0 |
unless $Parse::Binary::HasMembers{ref $self} |
|
657
|
0 |
0 |
wantarray ? : |
|
662
|
0 |
0 |
unless $$self{'struct'}{$field} |
|
669
|
0 |
0 |
unless $Parse::Binary::HasMembers{ref $self} |
|
674
|
0 |
0 |
if $member->is_type($type) |
|
682
|
0 |
0 |
unless $Parse::Binary::HasMembers{ref $self} |
|
684
|
0 |
0 |
if ($$self{'lazy'} and not $$self{'iterated'}) |
|
685
|
0 |
0 |
if (ref $$self{'lazy'}) |
|
692
|
0 |
0 |
if $member->is_type($type) |
|
700
|
0 |
0 |
unless shift @{$$self{'_next_member'}{$type};} |
|
712
|
0 |
0 |
unless my $field = $fields[$field_idx] |
|
716
|
0 |
0 |
if ($item_idx > $#$items) |
|
726
|
0 |
0 |
if UNIVERSAL::isa($item, 'CODE') |
|
727
|
0 |
0 |
unless $self->valid_memberdata($item) |
|
740
|
0 |
0 |
$type ? : |
|
743
|
0 |
0 |
wantarray ? : |
|
750
|
0 |
0 |
$self->is_type($type) ? : |
|
752
|
0 |
0 |
wantarray ? : |
|
779
|
0 |
0 |
if $Parse::Binary::HasMembers{ref $self} |
|
786
|
0 |
0 |
if (ref $file) { } |
|
|
0 |
0 |
elsif (not defined $file and my $fh = $$self{'output'}) { } |
|
793
|
0 |
0 |
unless defined $file |
|
794
|
0 |
0 |
if defined $file |
|
801
|
0 |
0 |
unless open FH, "> $file" |
|
817
|
0 |
0 |
unless defined $type |
|
821
|
0 |
0 |
if (exists $type_cache{$class}{$type}) |
|
830
|
0 |
0 |
if $class =~ /::$type$/ |
|
834
|
0 |
0 |
if $super_class->is_type($type) |
|
849
|
0 |
0 |
unless $$self{'children'}{$field} |
|
860
|
0 |
0 |
unless my $parent = $$self{'parent'} |
|
861
|
0 |
0 |
unless not &Scalar::Util::blessed($parent) or $$parent{'lazy'} |
|
866
|
0 |
0 |
if $self->is_type($type) |
|
867
|
0 |
0 |
unless my $parent = $$self{'parent'} |
|
875
|
0 |
0 |
@_ ? : |
|
879
|
0 |
0 |
if $offset > length $data |
|
882
|
0 |
0 |
unless defined $replace |
|
892
|
0 |
0 |
unless open my $fh, '>', $file |
|
901
|
0 |
0 |
unless my $types = shift() |
|
904
|
0 |
0 |
unless my $sub = $$map{ref $self} || $$map{'*'} |
|
919
|
0 |
0 |
unless defined &{"${pkg}::$method";} |
|
921
|
0 |
0 |
unless $type eq '*' |
|
938
|
0 |
0 |
unless $$self{'lazy'} |