File Coverage

blib/lib/Aspect/Pointcut/True.pm
Criterion Covered Total %
statement 13 13 100.0
branch n/a
condition n/a
subroutine 6 6 100.0
pod 2 2 100.0
total 21 21 100.0


line stmt bran cond sub pod time code
1             package Aspect::Pointcut::True;
2              
3 26     26   140 use strict;
  26         58  
  26         1072  
4 26     26   142 use Aspect::Pointcut ();
  26         54  
  26         3207  
5              
6             our $VERSION = '1.04';
7             our @ISA = 'Aspect::Pointcut';
8              
9              
10              
11              
12              
13             ######################################################################
14             # Weaving Methods
15              
16             # The true pointcut is a run-time only pointcut
17             sub curry_weave {
18 1     1 1 3 return;
19             }
20              
21             # The true pointcut contains no state and doesn't need to be curried.
22             # Simply return it as-is and reuse it everywhere.
23             sub curry_runtime {
24 1     1 1 3 return $_[0];
25             }
26              
27              
28              
29              
30              
31             ######################################################################
32             # Runtime Methods
33              
34             sub compile_runtime {
35             $_[0]->[0];
36             }
37              
38              
39              
40              
41              
42             ######################################################################
43             # Optional XS Acceleration
44              
45             BEGIN {
46 26     26   62 local $@;
47 26     26   2206 eval <<'END_PERL';
  26         292  
  26         514  
  26         227  
48             use Class::XSAccessor::Array 1.08 {
49             replace => 1,
50             getters => {
51             'compile_runtime' => 0,
52             },
53             };
54             END_PERL
55             }
56              
57             1;
58              
59             __END__