File Coverage

blib/arch/Exception/Backtrace.pm
Criterion Covered Total %
statement 22 22 100.0
branch n/a
condition n/a
subroutine 9 9 100.0
pod 0 2 0.0
total 31 33 93.9


line stmt bran cond sub pod time code
1             package Exception::Backtrace;
2 6     6   548509 use 5.018;
  6         69  
3 6     6   30 use warnings;
  6         12  
  6         126  
4 6     6   2208 use XS::libpanda;
  6         41545  
  6         178  
5 6     6   2186 use XS::libdwarf;
  6         6806  
  6         169  
6 6     6   2050 use XS::Framework;
  6         42222  
  6         315  
7              
8             use overload
9 47     47   6422 '""' => sub { shift->{_value} },
10 6     6   37 fallback => 1;
  6         12  
  6         39  
11              
12             our $VERSION = '1.0.7';
13              
14              
15             require XS::Loader;
16             XS::Loader::load();
17              
18              
19             my $handler = sub {
20             my $ex = shift;
21             my $wrapped_ex = Exception::Backtrace::safe_wrap_exception($ex);
22             die($wrapped_ex) if ($wrapped_ex)
23             };
24              
25             sub install {
26 6     6 0 65014 $SIG{__DIE__} = $handler;
27             };
28              
29             sub new {
30 13     13 0 21956 my ($class, $value) = @_;
31 13         47 my $obj = { _value => $value };
32 13         1465 return bless $obj => $class;
33             }
34              
35              
36             1;