line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
use Mojo::Base -base, -signatures; |
2
|
5
|
|
|
5
|
|
27
|
|
|
5
|
|
|
|
|
13
|
|
|
5
|
|
|
|
|
26
|
|
3
|
|
|
|
|
|
|
use Mojo::Home; |
4
|
5
|
|
|
5
|
|
1235
|
|
|
5
|
|
|
|
|
25249
|
|
|
5
|
|
|
|
|
1874
|
|
5
|
|
|
|
|
|
|
has [qw(package filename line subroutine)]; |
6
|
|
|
|
|
|
|
has _source_file_registry => sub { Sentry::SourceFileRegistry->new }; |
7
|
|
|
|
|
|
|
has _home => sub { Mojo::Home->new->detect }; |
8
|
|
|
|
|
|
|
|
9
|
|
|
|
|
|
|
return $self->filename !~ /\.cpan/ |
10
|
0
|
|
|
0
|
|
0
|
&& index($self->filename, $self->_home) > -1; |
|
0
|
|
|
|
|
0
|
|
|
0
|
|
|
|
|
0
|
|
11
|
0
|
|
0
|
|
|
0
|
} |
12
|
|
|
|
|
|
|
|
13
|
|
|
|
|
|
|
return $self->_source_file_registry->get_context_lines($self->filename, |
14
|
|
|
|
|
|
|
$self->line); |
15
|
0
|
|
|
0
|
|
0
|
} |
|
0
|
|
|
|
|
0
|
|
|
0
|
|
|
|
|
0
|
|
16
|
0
|
|
|
|
|
0
|
|
17
|
|
|
|
|
|
|
return { |
18
|
|
|
|
|
|
|
in_app => \($self->_is_in_app()), |
19
|
|
|
|
|
|
|
abs_path => $self->filename, |
20
|
0
|
|
|
0
|
0
|
0
|
file_name => 'bla', |
|
0
|
|
|
|
|
0
|
|
|
0
|
|
|
|
|
0
|
|
21
|
|
|
|
|
|
|
lineno => $self->line, |
22
|
|
|
|
|
|
|
package => $self->package, |
23
|
|
|
|
|
|
|
function => $self->subroutine, |
24
|
|
|
|
|
|
|
%{ $self->_map_file_to_context() }, |
25
|
|
|
|
|
|
|
}; |
26
|
|
|
|
|
|
|
} |
27
|
|
|
|
|
|
|
|
28
|
0
|
|
|
|
|
0
|
return $package->new({ |
|
0
|
|
|
|
|
0
|
|
29
|
|
|
|
|
|
|
package => $pkg, |
30
|
|
|
|
|
|
|
filename => $filename, |
31
|
|
|
|
|
|
|
line => $line, |
32
|
2
|
|
|
2
|
0
|
3
|
subroutine => $subroutine |
|
2
|
|
|
|
|
4
|
|
|
2
|
|
|
|
|
3
|
|
|
2
|
|
|
|
|
2
|
|
|
2
|
|
|
|
|
3
|
|
|
2
|
|
|
|
|
2
|
|
|
2
|
|
|
|
|
3
|
|
|
2
|
|
|
|
|
2
|
|
33
|
2
|
|
|
|
|
12
|
}); |
34
|
|
|
|
|
|
|
} |
35
|
|
|
|
|
|
|
|
36
|
|
|
|
|
|
|
1; |