File | /usr/local/lib/perl5/site_perl/5.10.1/darwin-2level/Moose/Meta/Class/Immutable/Trait.pm |
Statements Executed | 16 |
Statement Execution Time | 198µs |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
1 | 1 | 1 | 15µs | 19µs | BEGIN@3 | Moose::Meta::Class::Immutable::Trait::
1 | 1 | 1 | 8µs | 19µs | BEGIN@4 | Moose::Meta::Class::Immutable::Trait::
1 | 1 | 1 | 7µs | 56µs | BEGIN@12 | Moose::Meta::Class::Immutable::Trait::
1 | 1 | 1 | 4µs | 4µs | BEGIN@6 | Moose::Meta::Class::Immutable::Trait::
0 | 0 | 0 | 0s | 0s | add_role | Moose::Meta::Class::Immutable::Trait::
0 | 0 | 0 | 0s | 0s | calculate_all_roles | Moose::Meta::Class::Immutable::Trait::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package Moose::Meta::Class::Immutable::Trait; | ||||
2 | |||||
3 | 3 | 22µs | 2 | 22µs | # spent 19µs (15+3) within Moose::Meta::Class::Immutable::Trait::BEGIN@3 which was called
# once (15µs+3µs) by Moose::Meta::Class::BEGIN@21 at line 3 # spent 19µs making 1 call to Moose::Meta::Class::Immutable::Trait::BEGIN@3
# spent 4µs making 1 call to strict::import |
4 | 3 | 20µs | 2 | 30µs | # spent 19µs (8+11) within Moose::Meta::Class::Immutable::Trait::BEGIN@4 which was called
# once (8µs+11µs) by Moose::Meta::Class::BEGIN@21 at line 4 # spent 19µs making 1 call to Moose::Meta::Class::Immutable::Trait::BEGIN@4
# spent 11µs making 1 call to warnings::import |
5 | |||||
6 | 3 | 50µs | 1 | 4µs | # spent 4µs within Moose::Meta::Class::Immutable::Trait::BEGIN@6 which was called
# once (4µs+0s) by Moose::Meta::Class::BEGIN@21 at line 6 # spent 4µs making 1 call to Moose::Meta::Class::Immutable::Trait::BEGIN@6 |
7 | |||||
8 | 1 | 700ns | our $VERSION = '0.98'; | ||
9 | 1 | 14µs | $VERSION = eval $VERSION; | ||
10 | 1 | 500ns | our $AUTHORITY = 'cpan:STEVAN'; | ||
11 | |||||
12 | 3 | 83µs | 2 | 106µs | # spent 56µs (7+49) within Moose::Meta::Class::Immutable::Trait::BEGIN@12 which was called
# once (7µs+49µs) by Moose::Meta::Class::BEGIN@21 at line 12 # spent 56µs making 1 call to Moose::Meta::Class::Immutable::Trait::BEGIN@12
# spent 49µs making 1 call to base::import |
13 | |||||
14 | sub add_role { $_[1]->_immutable_cannot_call } | ||||
15 | |||||
16 | sub calculate_all_roles { | ||||
17 | my $orig = shift; | ||||
18 | my $self = shift; | ||||
19 | @{ $self->{__immutable}{calculate_all_roles} ||= [ $self->$orig ] }; | ||||
20 | } | ||||
21 | |||||
22 | 1 | 8µs | 1; | ||
23 | |||||
24 | __END__ | ||||
25 | |||||
26 | =pod | ||||
27 | |||||
28 | =head1 NAME | ||||
29 | |||||
30 | Moose::Meta::Class::Immutable::Trait - Implements immutability for metaclass objects | ||||
31 | |||||
32 | =head1 DESCRIPTION | ||||
33 | |||||
34 | This class makes some Moose-specific metaclass methods immutable. This | ||||
35 | is deep guts. | ||||
36 | |||||
37 | =head1 BUGS | ||||
38 | |||||
39 | See L<Moose/BUGS> for details on reporting bugs. | ||||
40 | |||||
41 | =head1 AUTHOR | ||||
42 | |||||
43 | Yuval Kogman E<lt>nothingmuch@cpan.orgE<gt> | ||||
44 | |||||
45 | =head1 COPYRIGHT AND LICENSE | ||||
46 | |||||
47 | Copyright 2009 by Infinity Interactive, Inc. | ||||
48 | |||||
49 | L<http://www.iinteractive.com> | ||||
50 | |||||
51 | This library is free software; you can redistribute it and/or modify | ||||
52 | it under the same terms as Perl itself. | ||||
53 | |||||
54 | =cut | ||||
55 |