File Coverage

blib/lib/PJVM/Class/Attribute/LineNumberTable.pm
Criterion Covered Total %
statement 19 19 100.0
branch n/a
condition n/a
subroutine 4 4 100.0
pod 0 1 0.0
total 23 24 95.8


line stmt bran cond sub pod time code
1             package PJVM::Class::Attribute::LineNumberTable;
2              
3 3     3   15 use strict;
  3         5  
  3         97  
4 3     3   14 use warnings;
  3         6  
  3         80  
5              
6 3         16 use Object::Tiny qw(
7             line_number_table
8 3     3   14 );
  3         5  
9              
10             sub new_from_io {
11 9     9 0 17 my ($pkg, $io, $cp) = @_;
12            
13 9         11 my $buff;
14            
15 9         19 read $io, $buff, 2;
16 9         19 my $line_number_table_length = unpack("n", $buff);
17            
18 9         11 my @line_number_table;
19 9         24 while ($line_number_table_length--) {
20 12         19 read $io, $buff, 4;
21 12         47 push @line_number_table, [unpack("n*", $buff)];
22             }
23            
24 9         50 my $self = $pkg->new(
25             line_number_table => \@line_number_table,
26             );
27            
28 9         104 return $self;
29             }
30              
31             1;
32             __END__