Branch Coverage

blib/lib/Parse/Binary.pm
Criterion Covered Total %
branch 0 222 0.0


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'}