← Index
NYTProf Performance Profile   « block view • line view • sub view »
For 05.Domain_and_Item.t
  Run on Tue May 4 17:21:41 2010
Reported on Tue May 4 17:22:44 2010

File /usr/local/lib/perl5/site_perl/5.10.1/darwin-2level/Moose/Meta/Role/Application/ToInstance.pm
Statements Executed 20
Statement Execution Time 274µs
Subroutines — ordered by exclusive time
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11114µs17µsMoose::Meta::Role::Application::ToInstance::::BEGIN@3Moose::Meta::Role::Application::ToInstance::BEGIN@3
1117µs50µsMoose::Meta::Role::Application::ToInstance::::BEGIN@13Moose::Meta::Role::Application::ToInstance::BEGIN@13
1117µs31µsMoose::Meta::Role::Application::ToInstance::::BEGIN@7Moose::Meta::Role::Application::ToInstance::BEGIN@7
1117µs16µsMoose::Meta::Role::Application::ToInstance::::BEGIN@4Moose::Meta::Role::Application::ToInstance::BEGIN@4
1116µs99µsMoose::Meta::Role::Application::ToInstance::::BEGIN@5Moose::Meta::Role::Application::ToInstance::BEGIN@5
0000s0sMoose::Meta::Role::Application::ToInstance::::__ANON__[:17]Moose::Meta::Role::Application::ToInstance::__ANON__[:17]
0000s0sMoose::Meta::Role::Application::ToInstance::::applyMoose::Meta::Role::Application::ToInstance::apply
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package Moose::Meta::Role::Application::ToInstance;
2
3321µs220µs
# spent 17µs (14+3) within Moose::Meta::Role::Application::ToInstance::BEGIN@3 which was called # once (14µs+3µs) by Moose::BEGIN@32 at line 3
use strict;
# spent 17µs making 1 call to Moose::Meta::Role::Application::ToInstance::BEGIN@3 # spent 3µs making 1 call to strict::import
4320µs226µs
# spent 16µs (7+9) within Moose::Meta::Role::Application::ToInstance::BEGIN@4 which was called # once (7µs+9µs) by Moose::BEGIN@32 at line 4
use warnings;
# spent 16µs making 1 call to Moose::Meta::Role::Application::ToInstance::BEGIN@4 # spent 9µs making 1 call to warnings::import
5326µs2193µs
# spent 99µs (6+94) within Moose::Meta::Role::Application::ToInstance::BEGIN@5 which was called # once (6µs+94µs) by Moose::BEGIN@32 at line 5
use metaclass;
# spent 99µs making 1 call to Moose::Meta::Role::Application::ToInstance::BEGIN@5 # spent 94µs making 1 call to metaclass::import
6
7352µs255µs
# spent 31µs (7+24) within Moose::Meta::Role::Application::ToInstance::BEGIN@7 which was called # once (7µs+24µs) by Moose::BEGIN@32 at line 7
use Scalar::Util 'blessed';
# spent 31µs making 1 call to Moose::Meta::Role::Application::ToInstance::BEGIN@7 # spent 24µs making 1 call to Exporter::import
8
91700nsour $VERSION = '0.98';
10114µs$VERSION = eval $VERSION;
111300nsour $AUTHORITY = 'cpan:STEVAN';
12
133121µs292µs
# spent 50µs (7+42) within Moose::Meta::Role::Application::ToInstance::BEGIN@13 which was called # once (7µs+42µs) by Moose::BEGIN@32 at line 13
use base 'Moose::Meta::Role::Application::ToClass';
# spent 50µs making 1 call to Moose::Meta::Role::Application::ToInstance::BEGIN@13 # spent 42µs making 1 call to base::import
14
15__PACKAGE__->meta->add_attribute('rebless_params' => (
16 reader => 'rebless_params',
17 default => sub { {} }
1815µs2288µs));
# spent 271µs making 1 call to Class::MOP::Mixin::HasAttributes::add_attribute # spent 17µs making 1 call to Moose::Meta::Role::Application::ToInstance::meta
19
20sub apply {
21 my ( $self, $role, $object ) = @_;
22
23 my $obj_meta = Class::MOP::class_of($object) || 'Moose::Meta::Class';
24
25 # This is a special case to handle the case where the object's metaclass
26 # is a Class::MOP::Class, but _not_ a Moose::Meta::Class (for example,
27 # when applying a role to a Moose::Meta::Attribute object).
28 $obj_meta = 'Moose::Meta::Class'
29 unless $obj_meta->isa('Moose::Meta::Class');
30
31 my $class = $obj_meta->create_anon_class(
32 superclasses => [ blessed($object) ],
33 roles => [ $role ],
34 cache => 1,
35 );
36
37 $class->rebless_instance( $object, %{ $self->rebless_params } );
38}
39
40114µs1;
41
42__END__
43
44=pod
45
46=head1 NAME
47
48Moose::Meta::Role::Application::ToInstance - Compose a role into an instance
49
50=head1 DESCRIPTION
51
52=head2 METHODS
53
54=over 4
55
56=item B<new>
57
58=item B<meta>
59
60=item B<apply>
61
62=item B<rebless_params>
63
64=back
65
66=head1 BUGS
67
68See L<Moose/BUGS> for details on reporting bugs.
69
70=head1 AUTHOR
71
72Stevan Little E<lt>stevan@iinteractive.comE<gt>
73
74=head1 COPYRIGHT AND LICENSE
75
76Copyright 2006-2010 by Infinity Interactive, Inc.
77
78L<http://www.iinteractive.com>
79
80This library is free software; you can redistribute it and/or modify
81it under the same terms as Perl itself.
82
83=cut
84