← Index
NYTProf Performance Profile   « block view • line view • sub view »
For bin/pan_genome_post_analysis
  Run on Fri Mar 27 11:43:32 2015
Reported on Fri Mar 27 11:46:05 2015

Filename/Users/ap13/perl5/lib/perl5/darwin-2level/Moose/Meta/Role/Application/ToInstance.pm
StatementsExecuted 18 statements in 401µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11119µs62µsMoose::Meta::Role::Application::ToInstance::::BEGIN@9Moose::Meta::Role::Application::ToInstance::BEGIN@9
11114µs28µsMoose::Meta::Role::Application::ToInstance::::BEGIN@4Moose::Meta::Role::Application::ToInstance::BEGIN@4
11110µs58µsMoose::Meta::Role::Application::ToInstance::::BEGIN@19Moose::Meta::Role::Application::ToInstance::BEGIN@19
1119µs37µsMoose::Meta::Role::Application::ToInstance::::BEGIN@8Moose::Meta::Role::Application::ToInstance::BEGIN@8
1118µs29µsMoose::Meta::Role::Application::ToInstance::::BEGIN@11Moose::Meta::Role::Application::ToInstance::BEGIN@11
1118µs12µsMoose::Meta::Role::Application::ToInstance::::BEGIN@5Moose::Meta::Role::Application::ToInstance::BEGIN@5
1117µs503µsMoose::Meta::Role::Application::ToInstance::::BEGIN@6Moose::Meta::Role::Application::ToInstance::BEGIN@6
0000s0sMoose::Meta::Role::Application::ToInstance::::__ANON__[:15]Moose::Meta::Role::Application::ToInstance::__ANON__[:15]
0000s0sMoose::Meta::Role::Application::ToInstance::::__ANON__[:35]Moose::Meta::Role::Application::ToInstance::__ANON__[:35]
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;
21600nsour $VERSION = '2.1403';
3
4224µs242µs
# spent 28µs (14+14) within Moose::Meta::Role::Application::ToInstance::BEGIN@4 which was called: # once (14µs+14µs) by Moose::BEGIN@38 at line 4
use strict;
# spent 28µs making 1 call to Moose::Meta::Role::Application::ToInstance::BEGIN@4 # spent 14µs making 1 call to strict::import
5221µs217µs
# spent 12µs (8+4) within Moose::Meta::Role::Application::ToInstance::BEGIN@5 which was called: # once (8µs+4µs) by Moose::BEGIN@38 at line 5
use warnings;
# spent 12µs making 1 call to Moose::Meta::Role::Application::ToInstance::BEGIN@5 # spent 4µs making 1 call to warnings::import
6227µs2998µs
# spent 503µs (7+496) within Moose::Meta::Role::Application::ToInstance::BEGIN@6 which was called: # once (7µs+496µs) by Moose::BEGIN@38 at line 6
use metaclass;
# spent 503µs making 1 call to Moose::Meta::Role::Application::ToInstance::BEGIN@6 # spent 496µs making 1 call to metaclass::import
7
8230µs265µs
# spent 37µs (9+28) within Moose::Meta::Role::Application::ToInstance::BEGIN@8 which was called: # once (9µs+28µs) by Moose::BEGIN@38 at line 8
use Scalar::Util 'blessed';
# spent 37µs making 1 call to Moose::Meta::Role::Application::ToInstance::BEGIN@8 # spent 28µs making 1 call to Exporter::import
9347µs385µs
# spent 62µs (19+43) within Moose::Meta::Role::Application::ToInstance::BEGIN@9 which was called: # once (19µs+43µs) by Moose::BEGIN@38 at line 9
use List::Util 1.33 'all';
# spent 62µs making 1 call to Moose::Meta::Role::Application::ToInstance::BEGIN@9 # spent 13µs making 1 call to UNIVERSAL::VERSION # spent 10µs making 1 call to List::Util::import
10
11266µs249µs
# spent 29µs (8+21) within Moose::Meta::Role::Application::ToInstance::BEGIN@11 which was called: # once (8µs+21µs) by Moose::BEGIN@38 at line 11
use parent 'Moose::Meta::Role::Application';
# spent 29µs making 1 call to Moose::Meta::Role::Application::ToInstance::BEGIN@11 # spent 21µs making 1 call to parent::import
12
13__PACKAGE__->meta->add_attribute('rebless_params' => (
14 reader => 'rebless_params',
15 default => sub { {} },
1617µs3412µs Class::MOP::_definition_context(),
# spent 390µs making 1 call to Class::MOP::Mixin::HasAttributes::add_attribute # spent 16µs making 1 call to Moose::Meta::Role::Application::ToInstance::meta # spent 6µs making 1 call to Class::MOP::_definition_context
17));
18
192173µs2105µs
# spent 58µs (10+47) within Moose::Meta::Role::Application::ToInstance::BEGIN@19 which was called: # once (10µs+47µs) by Moose::BEGIN@38 at line 19
use constant _NEED_OVERLOAD_HACK_FOR_OBJECTS => $] < 5.008009;
# spent 58µs making 1 call to Moose::Meta::Role::Application::ToInstance::BEGIN@19 # spent 47µs making 1 call to constant::import
20
21sub apply {
22 my ( $self, $role, $object, $args ) = @_;
23
24 my $obj_meta = Class::MOP::class_of($object) || 'Moose::Meta::Class';
25
26 # This is a special case to handle the case where the object's metaclass
27 # is a Class::MOP::Class, but _not_ a Moose::Meta::Class (for example,
28 # when applying a role to a Moose::Meta::Attribute object).
29 $obj_meta = 'Moose::Meta::Class'
30 unless $obj_meta->isa('Moose::Meta::Class');
31
32 my $class = $obj_meta->create_anon_class(
33 superclasses => [ blessed($object) ],
34 roles => [ $role, keys(%$args) ? ($args) : () ],
35 cache => (all { $_ eq '-alias' || $_ eq '-excludes' } keys %$args),
36 );
37
38 $class->rebless_instance( $object, %{ $self->rebless_params } );
39
40 if ( _NEED_OVERLOAD_HACK_FOR_OBJECTS
41 && overload::Overloaded( ref $object ) ) {
42
43 # need to use $_[2] here to apply to the object in the caller
44 _reset_amagic($_[2]);
45 }
46
47 return $object;
48}
49
5016µs1;
51
52# ABSTRACT: Compose a role into an instance
53
54__END__