| line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
|
1
|
|
|
|
|
|
|
package Catalyst::AttrContainer; |
|
2
|
|
|
|
|
|
|
|
|
3
|
57
|
|
|
57
|
|
763
|
use strict; |
|
|
57
|
|
|
|
|
537
|
|
|
|
57
|
|
|
|
|
840
|
|
|
4
|
57
|
|
|
57
|
|
1042
|
use base qw/Class::Accessor::Fast Class::Data::Inheritable/; |
|
|
57
|
|
|
|
|
542
|
|
|
|
57
|
|
|
|
|
850
|
|
|
5
|
|
|
|
|
|
|
|
|
6
|
57
|
|
|
57
|
|
1052
|
use Catalyst::Exception; |
|
|
57
|
|
|
|
|
586
|
|
|
|
57
|
|
|
|
|
1280
|
|
|
7
|
57
|
|
|
57
|
|
1059
|
use NEXT; |
|
|
57
|
|
|
|
|
607
|
|
|
|
57
|
|
|
|
|
1112
|
|
|
8
|
|
|
|
|
|
|
|
|
9
|
|
|
|
|
|
|
__PACKAGE__->mk_classdata($_) for qw/_attr_cache _action_cache/; |
|
10
|
|
|
|
|
|
|
__PACKAGE__->_attr_cache( {} ); |
|
11
|
|
|
|
|
|
|
__PACKAGE__->_action_cache( [] ); |
|
12
|
|
|
|
|
|
|
|
|
13
|
|
|
|
|
|
|
|
|
14
|
|
|
|
|
|
|
sub MODIFY_CODE_ATTRIBUTES { |
|
15
|
11138
|
|
|
11138
|
|
188339
|
my ( $class, $code, @attrs ) = @_; |
|
16
|
11138
|
|
|
|
|
130257
|
$class->_attr_cache( { %{ $class->_attr_cache }, $code => [@attrs] } ); |
|
|
11138
|
|
|
|
|
215197
|
|
|
17
|
11138
|
|
|
|
|
189166
|
$class->_action_cache( |
|
18
|
11138
|
|
|
|
|
247582
|
[ @{ $class->_action_cache }, [ $code, [@attrs] ] ] ); |
|
19
|
11138
|
|
|
|
|
198804
|
return (); |
|
20
|
|
|
|
|
|
|
} |
|
21
|
|
|
|
|
|
|
|
|
22
|
0
|
0
|
|
0
|
|
|
sub FETCH_CODE_ATTRIBUTES { $_[0]->_attr_cache->{ $_[1] } || () } |
|
23
|
|
|
|
|
|
|
|
|
24
|
|
|
|
|
|
|
=head1 NAME |
|
25
|
|
|
|
|
|
|
|
|
26
|
|
|
|
|
|
|
Catalyst::AttrContainer |
|
27
|
|
|
|
|
|
|
|
|
28
|
|
|
|
|
|
|
=head1 SYNOPSIS |
|
29
|
|
|
|
|
|
|
|
|
30
|
|
|
|
|
|
|
=head1 DESCRIPTION |
|
31
|
|
|
|
|
|
|
|
|
32
|
|
|
|
|
|
|
This class sets up the code attribute cache. It's a base class for |
|
33
|
|
|
|
|
|
|
L<Catalyst::Controller>. |
|
34
|
|
|
|
|
|
|
|
|
35
|
|
|
|
|
|
|
=head1 METHODS |
|
36
|
|
|
|
|
|
|
|
|
37
|
|
|
|
|
|
|
=head2 FETCH_CODE_ATTRIBUTES |
|
38
|
|
|
|
|
|
|
|
|
39
|
|
|
|
|
|
|
Attribute function. See attributes(3pm) |
|
40
|
|
|
|
|
|
|
|
|
41
|
|
|
|
|
|
|
=head2 MODIFY_CODE_ATTRIBUTES |
|
42
|
|
|
|
|
|
|
|
|
43
|
|
|
|
|
|
|
Attribute function. See attributes(3pm) |
|
44
|
|
|
|
|
|
|
|
|
45
|
|
|
|
|
|
|
=head1 SEE ALSO |
|
46
|
|
|
|
|
|
|
|
|
47
|
|
|
|
|
|
|
L<Catalyst::Dispatcher> |
|
48
|
|
|
|
|
|
|
L<Catalyst>. |
|
49
|
|
|
|
|
|
|
|
|
50
|
|
|
|
|
|
|
=head1 AUTHOR |
|
51
|
|
|
|
|
|
|
|
|
52
|
|
|
|
|
|
|
Sebastian Riedel, C<sri@cpan.org> |
|
53
|
|
|
|
|
|
|
Marcus Ramberg, C<mramberg@cpan.org> |
|
54
|
|
|
|
|
|
|
|
|
55
|
|
|
|
|
|
|
=head1 COPYRIGHT |
|
56
|
|
|
|
|
|
|
|
|
57
|
|
|
|
|
|
|
This program is free software, you can redistribute it and/or modify it under |
|
58
|
|
|
|
|
|
|
the same terms as Perl itself. |
|
59
|
|
|
|
|
|
|
|
|
60
|
|
|
|
|
|
|
=cut |
|
61
|
|
|
|
|
|
|
|
|
62
|
|
|
|
|
|
|
1; |
|
63
|
|
|
|
|
|
|
|