Filename | /home/ss5/perl5/perlbrew/perls/perl-5.22.0/lib/site_perl/5.22.0/Moo/HandleMoose/FakeMetaClass.pm |
Statements | Executed 3 statements in 134µs |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
1 | 1 | 1 | 7µs | 16µs | BEGIN@2 | Moo::HandleMoose::FakeMetaClass::
0 | 0 | 0 | 0s | 0s | AUTOLOAD | Moo::HandleMoose::FakeMetaClass::
0 | 0 | 0 | 0s | 0s | DESTROY | Moo::HandleMoose::FakeMetaClass::
0 | 0 | 0 | 0s | 0s | can | Moo::HandleMoose::FakeMetaClass::
0 | 0 | 0 | 0s | 0s | isa | Moo::HandleMoose::FakeMetaClass::
0 | 0 | 0 | 0s | 0s | make_immutable | Moo::HandleMoose::FakeMetaClass::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package Moo::HandleMoose::FakeMetaClass; | ||||
2 | 2 | 132µs | 2 | 24µs | # spent 16µs (7+8) within Moo::HandleMoose::FakeMetaClass::BEGIN@2 which was called:
# once (7µs+8µs) by Moo::HandleMoose::inject_fake_metaclass_for at line 2 # spent 16µs making 1 call to Moo::HandleMoose::FakeMetaClass::BEGIN@2
# spent 8µs making 1 call to Moo::_strictures::import |
3 | |||||
4 | sub DESTROY { } | ||||
5 | |||||
6 | sub AUTOLOAD { | ||||
7 | my ($meth) = (our $AUTOLOAD =~ /([^:]+)$/); | ||||
8 | my $self = shift; | ||||
9 | die "Can't call $meth without object instance" | ||||
10 | if !ref $self; | ||||
11 | die "Can't inflate Moose metaclass with Moo::sification disabled" | ||||
12 | if $Moo::sification::disabled; | ||||
13 | require Moo::HandleMoose; | ||||
14 | Moo::HandleMoose::inject_real_metaclass_for($self->{name})->$meth(@_) | ||||
15 | } | ||||
16 | sub can { | ||||
17 | my $self = shift; | ||||
18 | return $self->SUPER::can(@_) | ||||
19 | if !ref $self or $Moo::sification::disabled; | ||||
20 | require Moo::HandleMoose; | ||||
21 | Moo::HandleMoose::inject_real_metaclass_for($self->{name})->can(@_) | ||||
22 | } | ||||
23 | sub isa { | ||||
24 | my $self = shift; | ||||
25 | return $self->SUPER::isa(@_) | ||||
26 | if !ref $self or $Moo::sification::disabled; | ||||
27 | require Moo::HandleMoose; | ||||
28 | Moo::HandleMoose::inject_real_metaclass_for($self->{name})->isa(@_) | ||||
29 | } | ||||
30 | sub make_immutable { $_[0] } | ||||
31 | |||||
32 | 1 | 2µs | 1; |