File Coverage

blib/lib/Goto/Cached.pm
Criterion Covered Total %
statement 29 30 96.6
branch 1 2 50.0
condition n/a
subroutine 9 10 90.0
pod n/a
total 39 42 92.8


line stmt bran cond sub pod time code
1             package Goto::Cached;
2              
3 7     7   205029 use 5.008008;
  7         28  
  7         288  
4              
5 7     7   37 use strict;
  7         15  
  7         247  
6 7     7   34 use warnings;
  7         16  
  7         219  
7              
8 7     7   11788 use B::Hooks::OP::Annotation;
  7         6299  
  7         210  
9 7     7   6331 use B::Hooks::OP::Check;
  7         13143  
  7         235  
10 7     7   6369 use B::Hooks::EndOfScope qw(on_scope_end);
  7         99429  
  7         53  
11 7     7   8036 use Devel::Pragma qw(my_hints);
  7         32325  
  7         42  
12 7     7   1466 use XSLoader;
  7         17  
  7         1220  
13              
14             our $VERSION = '0.22';
15              
16             XSLoader::load 'Goto::Cached', $VERSION;
17              
18             sub import {
19 8     8   743 my $hints = my_hints;
20              
21 8 50       75 unless ($hints->{'Goto::Cached'}) {
22 8         38 $hints->{'Goto::Cached'} = 1;
23 8         43 on_scope_end \&_leave;
24 8         1035 _enter();
25             }
26             }
27              
28 0     0     sub unimport { delete my_hints->{'Goto::Cached'} }
29              
30             1;
31              
32             __END__