line |
true |
false |
branch |
767
|
1 |
19 |
unless ($file_name) |
769
|
1 |
18 |
if (ref $this) |
771
|
1 |
18 |
unless (-f $file_name) |
773
|
1 |
17 |
if (defined $line_info and ref $line_info ne 'Parse::Readelf::Debug::Line') |
778
|
13 |
4 |
unless defined $line_info |
782
|
1 |
16 |
unless open READELF, '-|', $command . ' ' . $file_name |
788
|
14 |
116 |
if /$re_section_start/ |
804
|
108 |
76548 |
if (/$re_dwarf_version/) { } |
|
108 |
76440 |
elsif (/$re_unit_offset/) { } |
|
84 |
76356 |
elsif (/$re_unit_signature/) { } |
|
84 |
76272 |
elsif (/$re_type_offset/) { } |
807
|
1 |
107 |
unless defined $re_item_start[$version] |
825
|
0 |
84 |
unless $signature |
830
|
42 |
76613 |
unless $version >= 0 |
833
|
3 |
76610 |
if (/$re_section_stop/ and not /$re_section_start/) |
840
|
16663 |
59947 |
if (/$re_item_start[$version]/i) { } |
|
26461 |
33486 |
elsif (not defined $item) { } |
|
114 |
33372 |
elsif (/$re_abstract_origin[$version]/) { } |
|
92 |
33280 |
elsif (/$re_bit_offset[$version]/) { } |
|
92 |
33188 |
elsif (/$re_bit_size[$version]/) { } |
|
1589 |
31599 |
elsif (/$re_byte_size[$version]/) { } |
|
23 |
31576 |
elsif (/$re_comp_dir[$version]/) { } |
|
693 |
30883 |
elsif (/$re_const_value[$version]/) { } |
|
0 |
30883 |
elsif (/$re_containing_type[$version]/) { } |
|
2844 |
28039 |
elsif (/$re_decl_file[$version]/) { } |
|
2844 |
25195 |
elsif (/$re_decl_line[$version]/) { } |
|
1221 |
23974 |
elsif (/$re_declaration[$version]/) { } |
|
533 |
23441 |
elsif (/$re_encoding[$version]/) { } |
|
905 |
22536 |
elsif (/$re_external[$version]/) { } |
|
23 |
22513 |
elsif (/$re_language[$version]/) { } |
|
33 |
22480 |
elsif (defined $re_linkage_name_tag[$version] and /$re_linkage_name_tag[$version]/) { } |
|
156 |
22324 |
elsif (/$re_location[$version]/) { } |
|
1050 |
21274 |
elsif (/$re_member_location[$version]/) { } |
|
3917 |
17357 |
elsif (/$re_name_tag[$version]/) { } |
|
23 |
17334 |
elsif (/$re_producer[$version]/) { } |
|
21 |
17313 |
elsif (defined $re_signature_tag[$version] and /$re_signature_tag[$version]/) { } |
|
155 |
17158 |
elsif (/$re_specification[$version]/) { } |
|
10677 |
6481 |
elsif (/$re_type[$version]/) { } |
|
62 |
6419 |
elsif (/$re_upper_bound[$version]/) { } |
|
3567 |
2852 |
elsif (/$re_ignored_attributes[$version]/i) { } |
|
1 |
2851 |
elsif (/^\s*(?:<[0-9A-F ]+>)?\s*(DW_AT_\w+)\s*:/i) { } |
843
|
12312 |
4351 |
if (defined $item) |
846
|
2748 |
9564 |
if ($signature) |
850
|
2235 |
6009 |
if defined $$item{$_} and not $$item{$_} =~ /^S/ |
856
|
0 |
16857 |
if /^[0-9a-f]{1,7}$/ |
861
|
84 |
2664 |
if ($$item{'id'} eq $compilation_unit . '_' . $type_offset) |
868
|
0 |
12312 |
if (defined $$item{'abstract_origin'} and defined $$item{'type_tag'} eq 'DW_TAG_variable') |
879
|
15136 |
484 |
if defined $$item{$_} |
882
|
5 |
3 |
if ($$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'}) |
901
|
11828 |
4835 |
if (defined $item) |
903
|
0 |
11828 |
unless $$item{'type_tag'} |
908
|
11807 |
21 |
if ($$item{'level'} >= 1) |
910
|
9133 |
2674 |
if $$item{'level'} > 1 |
916
|
30 |
0 |
if ($$item{'type_tag'} eq 'DW_TAG_inheritance' and not defined $$item{'decl_file'} and defined $level_stack[$$item{'level'} - 1]{'decl_file'}) |
929
|
100 |
39 |
if (not defined $name and $$item{'type_tag'} =~ /^DW_TAG_(?:class|structure|union)_type$/ and defined $$item{'specification'} and defined $self{'item_map'}{$$item{'specification'}}) |
940
|
3776 |
8052 |
if (defined $name) |
942
|
2761 |
1015 |
if (not defined $self{'name_map'}{$name}) { } |
|
462 |
553 |
elsif (ref $self{'name_map'}{$name} eq 'HASH') { } |
|
553 |
0 |
elsif (ref $self{'name_map'}{$name} eq 'ARRAY') { } |
959
|
2716 |
9112 |
if (defined $$item{'decl_file'}) |
962
|
19 |
451 |
if $$item{'type_tag'} eq 'DW_TAG_pointer_type' and not defined $$item{'name'} and not defined $$item{'type'} |
972
|
3510 |
13153 |
$signature ? : |
976
|
12325 |
4338 |
if (defined $$tag_needs_attributes{$4}) { } |
|
4337 |
1 |
elsif ($is_ignored{$4}) { } |
1007
|
0 |
0 |
defined $2 ? : |
1026
|
1050 |
0 |
if defined $1 |
1033
|
0 |
21 |
defined $1 ? : |
1037
|
144 |
10533 |
defined $2 ? : |
1055
|
144 |
23512 |
if (defined $$item{$_} and $$item{$_} =~ /^S([0-9A-F]+)/i) |
1061
|
1 |
14 |
unless close READELF |
1064
|
1 |
13 |
unless @{$self{'items'};} > 0 |
1110
|
17 |
8 |
ref $id eq 'HASH' ? : |
|
8 |
25 |
!defined($id) ? : |
1153
|
7 |
37 |
if $re_name eq '' |
1157
|
9031 |
1760 |
ref $_ eq 'HASH' ? : |
1160
|
11313 |
2841 |
if defined $$_{'name'} and not $$_{'name'} =~ /$re_name/ |
1161
|
292 |
60 |
if 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/ |
1168
|
1638 |
911 |
if defined $$_{'type_tag'} and not $$_{'type_tag'} =~ /$re_type_tag/ |
1169
|
0 |
911 |
if not defined $$_{'type_tag'} and $re_type_tag ne '' |
1170
|
909 |
2 |
defined $$_{'name'} ? : |
1232
|
51 |
638 |
unless defined $initial_offset |
1237
|
282 |
407 |
unless defined $item and defined $$item{'decl_file'} |
1240
|
358 |
49 |
if (defined $$this{'sl_level'}) { } |
1255
|
49 |
7 |
if ($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]) |
1262
|
2 |
0 |
if (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'}}) |
1270
|
12 |
388 |
unless defined $name |
1273
|
283 |
117 |
defined $$item{'member_location'} ? : |
1278
|
148 |
252 |
defined $$item{'byte_size'} ? : |
1282
|
77 |
323 |
if (defined $$item{'bit_size'} or defined $$item{'bit_offset'}) |
1284
|
77 |
0 |
defined $$item{'bit_size'} ? : |
1286
|
77 |
0 |
defined $$item{'bit_offset'} ? : |
1293
|
329 |
71 |
if (defined $$item{'type'}) |
1302
|
22 |
360 |
if ($$type{'type_tag'} eq 'DW_TAG_const_type') { } |
|
6 |
354 |
elsif ($$type{'type_tag'} eq 'DW_TAG_volatile_type') { } |
|
8 |
346 |
elsif ($$type{'type_tag'} eq 'DW_TAG_reference_type') { } |
|
16 |
330 |
elsif ($$type{'type_tag'} eq 'DW_TAG_pointer_type') { } |
|
13 |
317 |
elsif ($$type{'type_tag'} eq 'DW_TAG_array_type') { } |
1304
|
14 |
8 |
unless $prefix =~ /const/ |
1311
|
6 |
0 |
unless $prefix =~ /volatile/ |
1326
|
4 |
12 |
if (defined $$type{'type'} and defined $$this{'item_map'}{$$type{'type'}}) |
1339
|
13 |
0 |
if defined $$type{'sub_items'}[$_]{'upper_bound'} |
1350
|
246 |
6 |
if $size == 0 and defined $$type{'byte_size'} and $$type{'byte_size'} > 0 |
1359
|
6 |
323 |
if ($$type{'type_tag'} =~ /^DW_TAG_(?:class|structure|union)_type$/ and defined $$type{'specification'}) |
1365
|
327 |
2 |
if defined $$type{'name'} |
1367
|
0 |
2 |
if $type_name eq '' and $prefix || $postfix |
1369
|
14 |
315 |
if $prefix |
1370
|
24 |
305 |
if $postfix |
1373
|
2 |
327 |
if defined $re_substructure_filter and $type_name =~ /$re_substructure_filter/ |
1382
|
6 |
0 |
if defined $$type{'byte_size'} and $$type{'byte_size'} > 0 |
1396
|
309 |
0 |
unless $$_{'type_tag'} eq 'DW_TAG_typedef' |
1401
|
117 |
283 |
if (@sub_layout) |
1403
|
73 |
17 |
defined $$b[$BITOFFSET] ? : |
|
16 |
158 |
defined $$b[$BITOFFSET] ? : |
|
90 |
174 |
defined $$a[$BITOFFSET] ? : |
|
0 |
106 |
unless $$a[$OFFSET] <=> $$b[$OFFSET] or defined $$a[$BITOFFSET] ? defined $$b[$BITOFFSET] ? $$a[$BITOFFSET] <=> $$b[$BITOFFSET] : 1 : (defined $$b[$BITOFFSET] ? -1 : 0) |
1421
|
400 |
0 |
if (defined $$item{'compilation_unit'} and defined $$item{'decl_file'} and defined $$item{'decl_line'}) |
1431
|
7 |
393 |
if ($$item{'type_tag'} =~ /^DW_TAG_(?:class|structure|union)_type$/ and not $name and not $type_name and 0 == @bit_data) { } |
1447
|
358 |
49 |
if ($$this{'sl_level'} > 0) { } |