Condition Coverage

blib/lib/Parse/Readelf/Debug/Info.pm
Criterion Covered Total %
condition 144 180 80.0


and 3 conditions

line !l l&&!r l&&r condition
804 17 4 1 defined $line_info and ref $line_info ne 'Parse::Readelf::Debug::Line'
865 88965 84 16 /$re_section_stop/ and not /$re_section_start/
872 18230 6272 33 defined $re_linkage_name_tag[$version] and /$re_linkage_name_tag[$version]/i
13657 4679 21 defined $re_signature_tag[$version] and /$re_signature_tag[$version]/i
883 5922 87 2235 defined $item->{$_} and not $item->{$_} =~ /^S/
900 14586 0 163 defined $item->{'abstract_origin'} and defined $item->{'type_tag'}
14586 157 6 defined $item->{'abstract_origin'} and defined $item->{'type_tag'} and $item->{'type_tag'} eq 'DW_TAG_variable'
912 393 10 165 $item->{'type_tag'} eq 'DW_TAG_member' and not defined $item->{'member_location'}
403 10 155 $item->{'type_tag'} eq 'DW_TAG_member' and not defined $item->{'member_location'} and $_ eq 'member_location'
20 0 155 $item->{'type_tag'} eq 'DW_TAG_member' and not defined $item->{'member_location'} and $_ eq 'member_location' and $item->{'level'} > 1
10 111 44 $item->{'type_tag'} eq 'DW_TAG_member' and not defined $item->{'member_location'} and $_ eq 'member_location' and $item->{'level'} > 1 and $level_stack[$item->{'level'} - 1]{'type_tag'} eq 'DW_TAG_union_type'
111 0 44 $item->{'type_tag'} eq 'DW_TAG_member' and not defined $item->{'member_location'} and $_ eq 'member_location' and $item->{'level'} > 1 and $level_stack[$item->{'level'} - 1]{'type_tag'} eq 'DW_TAG_union_type' and $level_stack[$item->{'level'} - 1]{'sub_items'}
925 15 3 10 not defined $sibling->{'member_location'} and $sibling->{'sub_items'}
946 393 142 10 $item->{'type_tag'} eq 'DW_TAG_member' and defined $item->{'member_location'}
535 0 10 $item->{'type_tag'} eq 'DW_TAG_member' and defined $item->{'member_location'} and defined $item->{'type'}
142 3 7 $item->{'type_tag'} eq 'DW_TAG_member' and defined $item->{'member_location'} and defined $item->{'type'} and defined $self{'item_map'}{$item->{'type'}}
3 0 7 $item->{'type_tag'} eq 'DW_TAG_member' and defined $item->{'member_location'} and defined $item->{'type'} and defined $self{'item_map'}{$item->{'type'}} and not defined $self{'item_map'}{$item->{'type'}}{'member_location'}
980 14133 0 36 $item->{'type_tag'} eq 'DW_TAG_inheritance' and not defined $item->{'decl_file'}
14133 0 36 $item->{'type_tag'} eq 'DW_TAG_inheritance' and not defined $item->{'decl_file'} and defined $level_stack[$item->{'level'} - 1]{'decl_file'}
993 4473 9566 159 not defined $name and $item->{'type_tag'} =~ /^DW_TAG_(?:class|structure|union)_type$/
14039 36 123 not defined $name and $item->{'type_tag'} =~ /^DW_TAG_(?:class|structure|union)_type$/ and defined $item->{'specification'}
9602 6 117 not defined $name and $item->{'type_tag'} =~ /^DW_TAG_(?:class|structure|union)_type$/ and defined $item->{'specification'} and defined $self{'item_map'}{$item->{'specification'}}
1029 13640 0 558 $item->{'type_tag'} eq 'DW_TAG_pointer_type' and not defined $item->{'name'}
13640 536 22 $item->{'type_tag'} eq 'DW_TAG_pointer_type' and not defined $item->{'name'} and not defined $item->{'type'}
1127 15801 12451 144 defined $item->{$_} and $item->{$_} =~ /^S([0-9A-F]+)/i
1232 352 2503 11389 defined $_->{'name'} and not $_->{'name'} =~ /$re_name/
1239 2503 0 352 not defined $_->{'name'} and $re_name ne ''
0 292 60 $_->{'type_tag'} =~ /^DW_TAG_(?:class|structure|union)_type$/ && defined $_->{'specification'} && $this->{'item_map'}{$_->{'specification'}}{'name'} =~ /$re_name/
2503 60 292 not defined $_->{'name'} and $re_name ne '' and not $_->{'type_tag'} =~ /^DW_TAG_(?:class|structure|union)_type$/ && defined $_->{'specification'} && $this->{'item_map'}{$_->{'specification'}}{'name'} =~ /$re_name/
1240 0 915 1648 defined $_->{'type_tag'} and not $_->{'type_tag'} =~ /$re_type_tag/
1241 915 0 0 not defined $_->{'type_tag'} and $re_type_tag ne ''
1309 0 285 410 defined $item and defined $item->{'decl_file'}
1334 389 12 2 not defined $name and $level < 1
401 0 2 not defined $name and $level < 1 and $item->{'type_tag'} =~ /^DW_TAG_(?:class|structure|union)_type$/
12 0 2 not defined $name and $level < 1 and $item->{'type_tag'} =~ /^DW_TAG_(?:class|structure|union)_type$/ and defined $item->{'specification'}
0 0 2 not defined $name and $level < 1 and $item->{'type_tag'} =~ /^DW_TAG_(?:class|structure|union)_type$/ and defined $item->{'specification'} and defined $this->{'item_map'}{$item->{'specification'}}
1398 12 0 4 defined $type->{'type'} and defined $this->{'item_map'}{$type->{'type'}}
1425 78 6 248 $size == 0 and defined $type->{'byte_size'}
84 0 248 $size == 0 and defined $type->{'byte_size'} and $type->{'byte_size'} > 0
1431 278 48 6 $type->{'type_tag'} =~ /^DW_TAG_(?:class|structure|union)_type$/ and defined $type->{'specification'}
1439 330 2 0 $type_name eq '' and $prefix || $postfix
1445 0 330 2 defined $re_substructure_filter and $type_name =~ /$re_substructure_filter/
1450 332 0 6 $size == 0 and defined $type->{'type'}
332 0 6 $size == 0 and defined $type->{'type'} and $type = $this->{'item_map'}{$type->{'type'}}
1456 0 0 6 defined $type->{'byte_size'} and $type->{'byte_size'} > 0
1461 403 0 14 $name =~ /\[(\d+)\]/g and $1 > 0
1493 0 0 403 defined $item->{'compilation_unit'} and defined $item->{'decl_file'}
0 0 403 defined $item->{'compilation_unit'} and defined $item->{'decl_file'} and defined $item->{'decl_line'}
1503 333 63 7 $item->{'type_tag'} =~ /^DW_TAG_(?:class|structure|union)_type$/ and not $name
396 0 7 $item->{'type_tag'} =~ /^DW_TAG_(?:class|structure|union)_type$/ and not $name and not $type_name
63 0 7 $item->{'type_tag'} =~ /^DW_TAG_(?:class|structure|union)_type$/ and not $name and not $type_name and 0 == @bit_data

or 3 conditions

line l !l&&r !l&&!r condition
789 1 22 1 ref $this || $this
865 16 1 89048 /$re_section_stop/ and not /$re_section_start/ or eof READELF
872 17 19888 69160 $end_of_section or /$re_item_start[$version]/i
1327 110 244 56 $display_nested_items or $item->{'type_tag'} ne 'DW_TAG_structure_type'
354 7 49 $display_nested_items or $item->{'type_tag'} ne 'DW_TAG_structure_type' or $level < 1
251 42 7 $display_nested_items or $item->{'type_tag'} ne 'DW_TAG_structure_type' or $level < 1 or $item->{'type_tag'} ne $this->{'tag_stack'}[$level - 1]
1354 78 0 325 defined $item->{'bit_size'} or defined $item->{'bit_offset'}
1439 0 0 2 $prefix || $postfix
1477 621 112 163 $Parse::Readelf::Debug::Info::a->[$OFFSET] <=> $Parse::Readelf::Debug::Info::b->[$OFFSET] or defined $Parse::Readelf::Debug::Info::a->[$BITOFFSET] ? defined $Parse::Readelf::Debug::Info::b->[$BITOFFSET] ? $Parse::Readelf::Debug::Info::a->[$BITOFFSET] <=> $Parse::Readelf::Debug::Info::b->[$BITOFFSET] : 1 : (defined $Parse::Readelf::Debug::Info::b->[$BITOFFSET] ? -1 : 0)