File Coverage

blib/lib/App/PerlFuzzyTokenFinder/MatchedPosition.pm
Criterion Covered Total %
statement 9 22 40.9
branch 0 6 0.0
condition n/a
subroutine 3 8 37.5
pod 0 5 0.0
total 12 41 29.2


line stmt bran cond sub pod time code
1             package App::PerlFuzzyTokenFinder::MatchedPosition;
2 1     1   1246 use strict;
  1         2  
  1         31  
3 1     1   7 use warnings;
  1         2  
  1         36  
4 1     1   5 use Carp qw(croak);
  1         3  
  1         275  
5              
6             # args:
7             # filename: Str
8             # line_number: Num
9             # statement: PPI::Statement, should be cloned with PPI::Statement#clone
10             sub new {
11 0     0 0   my ($class, %args) = @_;
12              
13 0           my $filename = delete $args{filename};
14 0 0         croak "filename required" unless defined $filename;
15              
16 0           my $line_number = delete $args{line_number};
17 0 0         croak "line_number required" unless defined $line_number;
18              
19 0           my $statement = delete $args{statement};
20 0 0         croak "statement required" unless defined $statement;
21              
22 0           bless +{
23             filename => $filename,
24             line_number => $line_number,
25             statement => $statement,
26             };
27             }
28              
29             # getter
30 0     0 0   sub filename { shift->{filename} }
31 0     0 0   sub line_number { shift->{line_number} }
32 0     0 0   sub statement { shift->{statement} }
33              
34             sub format_for_print {
35 0     0 0   my $self = shift;
36              
37 0           sprintf "%s:%d:%s", $self->filename, $self->line_number, $self->statement->content;
38             }
39              
40             1;
41             __END__