Filename | /2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Util/TypeConstraints/Builtins.pm |
Statements | Executed 139 statements in 2.39ms |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
1 | 1 | 1 | 495µs | 8.11ms | define_builtins | Moose::Util::TypeConstraints::Builtins::
4 | 1 | 1 | 28µs | 133µs | __ANON__[:66] | Moose::Util::TypeConstraints::Builtins::
16 | 16 | 1 | 22µs | 22µs | where | Moose::Util::TypeConstraints::Builtins::
17 | 17 | 1 | 21µs | 21µs | inline_as | Moose::Util::TypeConstraints::Builtins::
16 | 16 | 1 | 18µs | 18µs | subtype | Moose::Util::TypeConstraints::Builtins::
16 | 16 | 1 | 17µs | 17µs | as | Moose::Util::TypeConstraints::Builtins::
1 | 1 | 1 | 11µs | 11µs | BEGIN@2 | Moose::Util::TypeConstraints::Builtins::
1 | 1 | 1 | 11µs | 36µs | __ANON__[:157] | Moose::Util::TypeConstraints::Builtins::
1 | 1 | 1 | 10µs | 68µs | __ANON__[:83] | Moose::Util::TypeConstraints::Builtins::
1 | 1 | 1 | 9µs | 14µs | BEGIN@9 | Moose::Util::TypeConstraints::Builtins::
1 | 1 | 1 | 9µs | 27µs | BEGIN@10 | Moose::Util::TypeConstraints::Builtins::
1 | 1 | 1 | 9µs | 53µs | BEGIN@12 | Moose::Util::TypeConstraints::Builtins::
5 | 1 | 1 | 9µs | 9µs | __ANON__[:46] | Moose::Util::TypeConstraints::Builtins::
1 | 1 | 1 | 8µs | 42µs | BEGIN@14 | Moose::Util::TypeConstraints::Builtins::
1 | 1 | 1 | 6µs | 60µs | __ANON__[:93] | Moose::Util::TypeConstraints::Builtins::
1 | 1 | 1 | 6µs | 59µs | __ANON__[:101] | Moose::Util::TypeConstraints::Builtins::
2 | 1 | 1 | 6µs | 6µs | __ANON__[:239] | Moose::Util::TypeConstraints::Builtins::
2 | 1 | 1 | 5µs | 5µs | __ANON__[:204] | Moose::Util::TypeConstraints::Builtins::
1 | 1 | 1 | 4µs | 4µs | BEGIN@13 | Moose::Util::TypeConstraints::Builtins::
1 | 1 | 1 | 4µs | 4µs | __ANON__[:58] | Moose::Util::TypeConstraints::Builtins::
1 | 1 | 1 | 4µs | 4µs | __ANON__[:133] | Moose::Util::TypeConstraints::Builtins::
1 | 1 | 1 | 4µs | 4µs | __ANON__[:176] | Moose::Util::TypeConstraints::Builtins::
2 | 1 | 1 | 4µs | 4µs | __ANON__[:144] | Moose::Util::TypeConstraints::Builtins::
2 | 1 | 1 | 3µs | 3µs | __ANON__[:28] | Moose::Util::TypeConstraints::Builtins::
1 | 1 | 1 | 3µs | 3µs | __ANON__[:113] | Moose::Util::TypeConstraints::Builtins::
1 | 1 | 1 | 2µs | 2µs | __ANON__[:106] | Moose::Util::TypeConstraints::Builtins::
1 | 1 | 1 | 2µs | 2µs | __ANON__[:39] | Moose::Util::TypeConstraints::Builtins::
1 | 1 | 1 | 2µs | 2µs | __ANON__[:138] | Moose::Util::TypeConstraints::Builtins::
1 | 1 | 1 | 2µs | 2µs | __ANON__[:72] | Moose::Util::TypeConstraints::Builtins::
1 | 1 | 1 | 2µs | 2µs | __ANON__[:118] | Moose::Util::TypeConstraints::Builtins::
1 | 1 | 1 | 2µs | 2µs | type | Moose::Util::TypeConstraints::Builtins::
1 | 1 | 1 | 1µs | 1µs | __ANON__[:272] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:105] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:117] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:127] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:137] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:142] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:150] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:165] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:171] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:172] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:183] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:193] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:202] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:203] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:218] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:228] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:237] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:238] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:253] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:263] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:270] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:271] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:279] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:27] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:32] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:36] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:43] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:50] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:62] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:70] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:76] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:88] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | __ANON__[:97] | Moose::Util::TypeConstraints::Builtins::
0 | 0 | 0 | 0s | 0s | optimize_as | Moose::Util::TypeConstraints::Builtins::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package Moose::Util::TypeConstraints::Builtins; | ||||
2 | # spent 11µs within Moose::Util::TypeConstraints::Builtins::BEGIN@2 which was called:
# once (11µs+0s) by Moose::Meta::Attribute::BEGIN@24 at line 4 | ||||
3 | 1 | 4µs | $Moose::Util::TypeConstraints::Builtins::AUTHORITY = 'cpan:STEVAN'; | ||
4 | 1 | 30µs | 1 | 11µs | } # spent 11µs making 1 call to Moose::Util::TypeConstraints::Builtins::BEGIN@2 |
5 | { | ||||
6 | 2 | 2µs | $Moose::Util::TypeConstraints::Builtins::VERSION = '2.0602'; | ||
7 | } | ||||
8 | |||||
9 | 3 | 21µs | 2 | 19µs | # spent 14µs (9+5) within Moose::Util::TypeConstraints::Builtins::BEGIN@9 which was called:
# once (9µs+5µs) by Moose::Meta::Attribute::BEGIN@24 at line 9 # spent 14µs making 1 call to Moose::Util::TypeConstraints::Builtins::BEGIN@9
# spent 5µs making 1 call to strict::import |
10 | 3 | 23µs | 2 | 45µs | # spent 27µs (9+18) within Moose::Util::TypeConstraints::Builtins::BEGIN@10 which was called:
# once (9µs+18µs) by Moose::Meta::Attribute::BEGIN@24 at line 10 # spent 27µs making 1 call to Moose::Util::TypeConstraints::Builtins::BEGIN@10
# spent 18µs making 1 call to warnings::import |
11 | |||||
12 | 3 | 22µs | 2 | 96µs | # spent 53µs (9+44) within Moose::Util::TypeConstraints::Builtins::BEGIN@12 which was called:
# once (9µs+44µs) by Moose::Meta::Attribute::BEGIN@24 at line 12 # spent 53µs making 1 call to Moose::Util::TypeConstraints::Builtins::BEGIN@12
# spent 44µs making 1 call to Exporter::import |
13 | 3 | 20µs | 1 | 4µs | # spent 4µs within Moose::Util::TypeConstraints::Builtins::BEGIN@13 which was called:
# once (4µs+0s) by Moose::Meta::Attribute::BEGIN@24 at line 13 # spent 4µs making 1 call to Moose::Util::TypeConstraints::Builtins::BEGIN@13 |
14 | 3 | 1.64ms | 2 | 76µs | # spent 42µs (8+34) within Moose::Util::TypeConstraints::Builtins::BEGIN@14 which was called:
# once (8µs+34µs) by Moose::Meta::Attribute::BEGIN@24 at line 14 # spent 42µs making 1 call to Moose::Util::TypeConstraints::Builtins::BEGIN@14
# spent 34µs making 1 call to Exporter::import |
15 | |||||
16 | 1 | 5µs | 1 | 472µs | # spent 2µs within Moose::Util::TypeConstraints::Builtins::type which was called:
# once (2µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 28 # spent 472µs making 1 call to Moose::Util::TypeConstraints::type |
17 | 16 | 53µs | 16 | 5.82ms | # spent 18µs within Moose::Util::TypeConstraints::Builtins::subtype which was called 16 times, avg 1µs/call:
# once (2µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 32
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 39
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 72
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 118
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 83
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 138
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 58
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 93
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 106
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 46
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 66
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 133
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 113
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 101
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 144
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 157 # spent 5.82ms making 16 calls to Moose::Util::TypeConstraints::subtype, avg 364µs/call |
18 | 16 | 51µs | 16 | 27µs | # spent 17µs within Moose::Util::TypeConstraints::Builtins::as which was called 16 times, avg 1µs/call:
# once (2µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 32
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 58
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 144
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 118
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 72
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 46
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 101
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 113
# once (900ns+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 39
# once (900ns+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 93
# once (900ns+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 106
# once (900ns+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 66
# once (900ns+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 157
# once (900ns+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 83
# once (900ns+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 138
# once (900ns+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 133 # spent 27µs making 16 calls to Moose::Util::TypeConstraints::as, avg 2µs/call |
19 | 16 | 73µs | 16 | 22µs | # spent 22µs within Moose::Util::TypeConstraints::Builtins::where which was called 16 times, avg 1µs/call:
# once (3µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 28
# once (2µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 144
# once (2µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 39
# once (2µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 118
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 83
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 138
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 101
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 66
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 72
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 93
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 106
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 133
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 113
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 58
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 157
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 46 # spent 22µs making 16 calls to Moose::Util::TypeConstraints::where, avg 1µs/call |
20 | sub optimize_as (&) { goto &Moose::Util::TypeConstraints::optimize_as } | ||||
21 | 17 | 83µs | 17 | 21µs | # spent 21µs within Moose::Util::TypeConstraints::Builtins::inline_as which was called 17 times, avg 1µs/call:
# once (2µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 32
# once (2µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 28
# once (2µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 101
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 39
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 72
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 118
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 83
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 138
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 46
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 144
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 66
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 58
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 93
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 106
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 133
# once (1µs+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 157
# once (900ns+0s) by Moose::Util::TypeConstraints::Builtins::define_builtins at line 113 # spent 21µs making 17 calls to Moose::Util::TypeConstraints::inline_as, avg 1µs/call |
22 | |||||
23 | # spent 8.11ms (495µs+7.61) within Moose::Util::TypeConstraints::Builtins::define_builtins which was called:
# once (495µs+7.61ms) by Moose::Meta::Attribute::BEGIN@24 at line 727 of Moose/Util/TypeConstraints.pm | ||||
24 | 23 | 220µs | my $registry = shift; | ||
25 | |||||
26 | type 'Any' # meta-type including all | ||||
27 | => where {1} | ||||
28 | 2 | 5µs | 3 | 6µs | # spent 3µs within Moose::Util::TypeConstraints::Builtins::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Util/TypeConstraints/Builtins.pm:28] which was called 2 times, avg 1µs/call:
# 2 times (3µs+0s) by Moose::Meta::TypeConstraint::_inline_check at line 225 of Moose/Meta/TypeConstraint.pm, avg 1µs/call # spent 3µs making 1 call to Moose::Util::TypeConstraints::Builtins::where
# spent 2µs making 1 call to Moose::Util::TypeConstraints::Builtins::type
# spent 2µs making 1 call to Moose::Util::TypeConstraints::Builtins::inline_as |
29 | |||||
30 | subtype 'Item' # base type | ||||
31 | => as 'Any' | ||||
32 | 3 | 5µs | => inline_as { '1' }; # spent 2µs making 1 call to Moose::Util::TypeConstraints::Builtins::as
# spent 2µs making 1 call to Moose::Util::TypeConstraints::Builtins::inline_as
# spent 2µs making 1 call to Moose::Util::TypeConstraints::Builtins::subtype | ||
33 | |||||
34 | subtype 'Undef' | ||||
35 | => as 'Item' | ||||
36 | => where { !defined($_) } | ||||
37 | # spent 2µs within Moose::Util::TypeConstraints::Builtins::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Util/TypeConstraints/Builtins.pm:39] which was called:
# once (2µs+0s) by Moose::Meta::TypeConstraint::_inline_check at line 225 of Moose/Meta/TypeConstraint.pm | ||||
38 | 1 | 4µs | '!defined(' . $_[1] . ')' | ||
39 | 4 | 5µs | }; # spent 2µs making 1 call to Moose::Util::TypeConstraints::Builtins::where
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::inline_as
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::subtype
# spent 900ns making 1 call to Moose::Util::TypeConstraints::Builtins::as | ||
40 | |||||
41 | subtype 'Defined' | ||||
42 | => as 'Item' | ||||
43 | => where { defined($_) } | ||||
44 | # spent 9µs within Moose::Util::TypeConstraints::Builtins::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Util/TypeConstraints/Builtins.pm:46] which was called 5 times, avg 2µs/call:
# 5 times (9µs+0s) by Moose::Meta::TypeConstraint::_inline_check at line 225 of Moose/Meta/TypeConstraint.pm, avg 2µs/call | ||||
45 | 5 | 16µs | 'defined(' . $_[1] . ')' | ||
46 | 4 | 4µs | }; # spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::inline_as
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::subtype
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::as
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::where | ||
47 | |||||
48 | subtype 'Bool' | ||||
49 | => as 'Item' | ||||
50 | => where { !defined($_) || $_ eq "" || "$_" eq '1' || "$_" eq '0' } | ||||
51 | # spent 4µs within Moose::Util::TypeConstraints::Builtins::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Util/TypeConstraints/Builtins.pm:58] which was called:
# once (4µs+0s) by Moose::Meta::TypeConstraint::_inline_check at line 225 of Moose/Meta/TypeConstraint.pm | ||||
52 | 1 | 6µs | '(' | ||
53 | . '!defined(' . $_[1] . ') ' | ||||
54 | . '|| ' . $_[1] . ' eq "" ' | ||||
55 | . '|| (' . $_[1] . '."") eq "1" ' | ||||
56 | . '|| (' . $_[1] . '."") eq "0"' | ||||
57 | . ')' | ||||
58 | 4 | 4µs | }; # spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::as
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::inline_as
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::subtype
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::where | ||
59 | |||||
60 | subtype 'Value' | ||||
61 | => as 'Defined' | ||||
62 | => where { !ref($_) } | ||||
63 | # spent 133µs (28+105) within Moose::Util::TypeConstraints::Builtins::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Util/TypeConstraints/Builtins.pm:66] which was called 4 times, avg 33µs/call:
# 4 times (28µs+105µs) by Moose::Meta::TypeConstraint::_inline_check at line 225 of Moose/Meta/TypeConstraint.pm, avg 33µs/call | ||||
64 | 4 | 22µs | 8 | 5µs | $_[0]->parent()->_inline_check($_[1]) # spent 5µs making 4 calls to Moose::Meta::TypeConstraint::parent, avg 1µs/call
# spent 100µs making 4 calls to Moose::Meta::TypeConstraint::_inline_check, avg 25µs/call, recursion: max depth 2, sum of overlapping time 100µs |
65 | . ' && !ref(' . $_[1] . ')' | ||||
66 | 4 | 5µs | }; # spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::where
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::inline_as
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::subtype
# spent 900ns making 1 call to Moose::Util::TypeConstraints::Builtins::as | ||
67 | |||||
68 | subtype 'Ref' | ||||
69 | => as 'Defined' | ||||
70 | => where { ref($_) } | ||||
71 | # no need to call parent - ref also checks for definedness | ||||
72 | 1 | 4µs | 4 | 5µs | # spent 2µs within Moose::Util::TypeConstraints::Builtins::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Util/TypeConstraints/Builtins.pm:72] which was called:
# once (2µs+0s) by Moose::Meta::TypeConstraint::_inline_check at line 225 of Moose/Meta/TypeConstraint.pm # spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::where
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::inline_as
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::subtype
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::as |
73 | |||||
74 | subtype 'Str' | ||||
75 | => as 'Value' | ||||
76 | => where { ref(\$_) eq 'SCALAR' || ref(\(my $val = $_)) eq 'SCALAR' } | ||||
77 | # spent 68µs (10+58) within Moose::Util::TypeConstraints::Builtins::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Util/TypeConstraints/Builtins.pm:83] which was called:
# once (10µs+58µs) by Moose::Meta::TypeConstraint::_inline_check at line 225 of Moose/Meta/TypeConstraint.pm | ||||
78 | 1 | 7µs | 2 | 2µs | $_[0]->parent()->_inline_check($_[1]) # spent 2µs making 1 call to Moose::Meta::TypeConstraint::parent
# spent 57µs making 1 call to Moose::Meta::TypeConstraint::_inline_check, recursion: max depth 1, sum of overlapping time 57µs |
79 | . ' && (' | ||||
80 | . 'ref(\\' . $_[1] . ') eq "SCALAR"' | ||||
81 | . ' || ref(\\(my $val = ' . $_[1] . ')) eq "SCALAR"' | ||||
82 | . ')' | ||||
83 | 4 | 5µs | }; # spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::where
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::inline_as
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::subtype
# spent 900ns making 1 call to Moose::Util::TypeConstraints::Builtins::as | ||
84 | |||||
85 | 1 | 16µs | my $value_type = Moose::Util::TypeConstraints::find_type_constraint('Value'); # spent 16µs making 1 call to Moose::Util::TypeConstraints::find_type_constraint | ||
86 | subtype 'Num' | ||||
87 | => as 'Str' | ||||
88 | => where { Scalar::Util::looks_like_number($_) } | ||||
89 | # spent 60µs (6+53) within Moose::Util::TypeConstraints::Builtins::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Util/TypeConstraints/Builtins.pm:93] which was called:
# once (6µs+53µs) by Moose::Meta::TypeConstraint::_inline_check at line 225 of Moose/Meta/TypeConstraint.pm | ||||
90 | # the long Str tests are redundant here | ||||
91 | 1 | 5µs | 1 | 0s | $value_type->_inline_check($_[1]) # spent 53µs making 1 call to Moose::Meta::TypeConstraint::_inline_check, recursion: max depth 1, sum of overlapping time 53µs |
92 | . ' && Scalar::Util::looks_like_number(' . $_[1] . ')' | ||||
93 | 4 | 4µs | }; # spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::where
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::inline_as
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::subtype
# spent 900ns making 1 call to Moose::Util::TypeConstraints::Builtins::as | ||
94 | |||||
95 | subtype 'Int' | ||||
96 | => as 'Num' | ||||
97 | => where { (my $val = $_) =~ /\A-?[0-9]+\z/ } | ||||
98 | # spent 59µs (6+53) within Moose::Util::TypeConstraints::Builtins::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Util/TypeConstraints/Builtins.pm:101] which was called:
# once (6µs+53µs) by Moose::Meta::TypeConstraint::_inline_check at line 225 of Moose/Meta/TypeConstraint.pm | ||||
99 | 1 | 5µs | 1 | 0s | $value_type->_inline_check($_[1]) # spent 53µs making 1 call to Moose::Meta::TypeConstraint::_inline_check, recursion: max depth 1, sum of overlapping time 53µs |
100 | . ' && (my $val = ' . $_[1] . ') =~ /\A-?[0-9]+\z/' | ||||
101 | 4 | 5µs | }; # spent 2µs making 1 call to Moose::Util::TypeConstraints::Builtins::inline_as
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::where
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::as
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::subtype | ||
102 | |||||
103 | subtype 'CodeRef' | ||||
104 | => as 'Ref' | ||||
105 | => where { ref($_) eq 'CODE' } | ||||
106 | 1 | 4µs | 4 | 4µs | # spent 2µs within Moose::Util::TypeConstraints::Builtins::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Util/TypeConstraints/Builtins.pm:106] which was called:
# once (2µs+0s) by Moose::Meta::TypeConstraint::_inline_check at line 225 of Moose/Meta/TypeConstraint.pm # spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::where
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::inline_as
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::subtype
# spent 900ns making 1 call to Moose::Util::TypeConstraints::Builtins::as |
107 | |||||
108 | subtype 'RegexpRef' | ||||
109 | => as 'Ref' | ||||
110 | => where( \&_RegexpRef ) | ||||
111 | # spent 3µs within Moose::Util::TypeConstraints::Builtins::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Util/TypeConstraints/Builtins.pm:113] which was called:
# once (3µs+0s) by Moose::Meta::TypeConstraint::_inline_check at line 225 of Moose/Meta/TypeConstraint.pm | ||||
112 | 1 | 4µs | 'Moose::Util::TypeConstraints::Builtins::_RegexpRef(' . $_[1] . ')' | ||
113 | 4 | 4µs | }; # spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::where
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::subtype
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::as
# spent 900ns making 1 call to Moose::Util::TypeConstraints::Builtins::inline_as | ||
114 | |||||
115 | subtype 'GlobRef' | ||||
116 | => as 'Ref' | ||||
117 | => where { ref($_) eq 'GLOB' } | ||||
118 | 1 | 4µs | 4 | 5µs | # spent 2µs within Moose::Util::TypeConstraints::Builtins::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Util/TypeConstraints/Builtins.pm:118] which was called:
# once (2µs+0s) by Moose::Meta::TypeConstraint::_inline_check at line 225 of Moose/Meta/TypeConstraint.pm # spent 2µs making 1 call to Moose::Util::TypeConstraints::Builtins::where
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::inline_as
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::as
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::subtype |
119 | |||||
120 | # NOTE: scalar filehandles are GLOB refs, but a GLOB ref is not always a | ||||
121 | # filehandle | ||||
122 | subtype 'FileHandle' | ||||
123 | => as 'Ref' | ||||
124 | => where { | ||||
125 | (ref($_) eq "GLOB" && Scalar::Util::openhandle($_)) | ||||
126 | || (blessed($_) && $_->isa("IO::Handle")); | ||||
127 | } | ||||
128 | # spent 4µs within Moose::Util::TypeConstraints::Builtins::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Util/TypeConstraints/Builtins.pm:133] which was called:
# once (4µs+0s) by Moose::Meta::TypeConstraint::_inline_check at line 225 of Moose/Meta/TypeConstraint.pm | ||||
129 | 1 | 6µs | '(ref(' . $_[1] . ') eq "GLOB" ' | ||
130 | . '&& Scalar::Util::openhandle(' . $_[1] . ')) ' | ||||
131 | . '|| (Scalar::Util::blessed(' . $_[1] . ') ' | ||||
132 | . '&& ' . $_[1] . '->isa("IO::Handle"))' | ||||
133 | 4 | 4µs | }; # spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::where
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::inline_as
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::subtype
# spent 900ns making 1 call to Moose::Util::TypeConstraints::Builtins::as | ||
134 | |||||
135 | subtype 'Object' | ||||
136 | => as 'Ref' | ||||
137 | => where { blessed($_) } | ||||
138 | 1 | 4µs | 4 | 5µs | # spent 2µs within Moose::Util::TypeConstraints::Builtins::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Util/TypeConstraints/Builtins.pm:138] which was called:
# once (2µs+0s) by Moose::Meta::TypeConstraint::_inline_check at line 225 of Moose/Meta/TypeConstraint.pm # spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::where
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::inline_as
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::subtype
# spent 900ns making 1 call to Moose::Util::TypeConstraints::Builtins::as |
139 | |||||
140 | subtype 'ClassName' | ||||
141 | => as 'Str' | ||||
142 | => where { is_class_loaded($_) } | ||||
143 | # the long Str tests are redundant here | ||||
144 | 2 | 7µs | 4 | 5µs | # spent 4µs within Moose::Util::TypeConstraints::Builtins::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Util/TypeConstraints/Builtins.pm:144] which was called 2 times, avg 2µs/call:
# 2 times (4µs+0s) by Moose::Meta::TypeConstraint::_inline_check at line 225 of Moose/Meta/TypeConstraint.pm, avg 2µs/call # spent 2µs making 1 call to Moose::Util::TypeConstraints::Builtins::where
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::as
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::inline_as
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::subtype |
145 | |||||
146 | subtype 'RoleName' | ||||
147 | => as 'ClassName' | ||||
148 | => where { | ||||
149 | (Class::MOP::class_of($_) || return)->isa('Moose::Meta::Role'); | ||||
150 | } | ||||
151 | # spent 36µs (11+26) within Moose::Util::TypeConstraints::Builtins::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Util/TypeConstraints/Builtins.pm:157] which was called:
# once (11µs+26µs) by Moose::Meta::TypeConstraint::_inline_check at line 225 of Moose/Meta/TypeConstraint.pm | ||||
152 | 1 | 7µs | 2 | 2µs | $_[0]->parent()->_inline_check($_[1]) # spent 2µs making 1 call to Moose::Meta::TypeConstraint::parent
# spent 24µs making 1 call to Moose::Meta::TypeConstraint::_inline_check, recursion: max depth 1, sum of overlapping time 24µs |
153 | . ' && do {' | ||||
154 | . 'my $meta = Class::MOP::class_of(' . $_[1] . ');' | ||||
155 | . '$meta && $meta->isa("Moose::Meta::Role");' | ||||
156 | . '}' | ||||
157 | 4 | 4µs | }; # spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::where
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::inline_as
# spent 1µs making 1 call to Moose::Util::TypeConstraints::Builtins::subtype
# spent 900ns making 1 call to Moose::Util::TypeConstraints::Builtins::as | ||
158 | |||||
159 | $registry->add_type_constraint( | ||||
160 | Moose::Meta::TypeConstraint::Parameterizable->new( | ||||
161 | name => 'ScalarRef', | ||||
162 | package_defined_in => __PACKAGE__, | ||||
163 | parent => | ||||
164 | Moose::Util::TypeConstraints::find_type_constraint('Ref'), | ||||
165 | constraint => sub { ref($_) eq 'SCALAR' || ref($_) eq 'REF' }, | ||||
166 | constraint_generator => sub { | ||||
167 | my $type_parameter = shift; | ||||
168 | my $check = $type_parameter->_compiled_type_constraint; | ||||
169 | return sub { | ||||
170 | return $check->( ${$_} ); | ||||
171 | }; | ||||
172 | }, | ||||
173 | # spent 4µs within Moose::Util::TypeConstraints::Builtins::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Util/TypeConstraints/Builtins.pm:176] which was called:
# once (4µs+0s) by Moose::Meta::TypeConstraint::_inline_check at line 225 of Moose/Meta/TypeConstraint.pm | ||||
174 | 1 | 10µs | 'ref(' . $_[1] . ') eq "SCALAR" ' | ||
175 | . '|| ref(' . $_[1] . ') eq "REF"' | ||||
176 | }, | ||||
177 | inline_generator => sub { | ||||
178 | my $self = shift; | ||||
179 | my $type_parameter = shift; | ||||
180 | my $val = shift; | ||||
181 | '(ref(' . $val . ') eq "SCALAR" || ref(' . $val . ') eq "REF") ' | ||||
182 | . '&& ' . $type_parameter->_inline_check('${(' . $val . ')}') | ||||
183 | }, | ||||
184 | ) | ||||
185 | 3 | 455µs | ); # spent 415µs making 1 call to Moose::Meta::TypeConstraint::new
# spent 20µs making 1 call to Moose::Meta::TypeConstraint::Registry::add_type_constraint
# spent 20µs making 1 call to Moose::Util::TypeConstraints::find_type_constraint | ||
186 | |||||
187 | $registry->add_type_constraint( | ||||
188 | Moose::Meta::TypeConstraint::Parameterizable->new( | ||||
189 | name => 'ArrayRef', | ||||
190 | package_defined_in => __PACKAGE__, | ||||
191 | parent => | ||||
192 | Moose::Util::TypeConstraints::find_type_constraint('Ref'), | ||||
193 | constraint => sub { ref($_) eq 'ARRAY' }, | ||||
194 | constraint_generator => sub { | ||||
195 | my $type_parameter = shift; | ||||
196 | my $check = $type_parameter->_compiled_type_constraint; | ||||
197 | return sub { | ||||
198 | foreach my $x (@$_) { | ||||
199 | ( $check->($x) ) || return; | ||||
200 | } | ||||
201 | 1; | ||||
202 | } | ||||
203 | }, | ||||
204 | 2 | 7µs | # spent 5µs within Moose::Util::TypeConstraints::Builtins::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Util/TypeConstraints/Builtins.pm:204] which was called 2 times, avg 3µs/call:
# 2 times (5µs+0s) by Moose::Meta::TypeConstraint::_inline_check at line 225 of Moose/Meta/TypeConstraint.pm, avg 3µs/call | ||
205 | inline_generator => sub { | ||||
206 | my $self = shift; | ||||
207 | my $type_parameter = shift; | ||||
208 | my $val = shift; | ||||
209 | |||||
210 | 'do {' | ||||
211 | . 'my $check = ' . $val . ';' | ||||
212 | . 'ref($check) eq "ARRAY" ' | ||||
213 | . '&& &List::MoreUtils::all(' | ||||
214 | . 'sub { ' . $type_parameter->_inline_check('$_') . ' }, ' | ||||
215 | . '@{$check}' | ||||
216 | . ')' | ||||
217 | . '}'; | ||||
218 | }, | ||||
219 | ) | ||||
220 | 3 | 236µs | ); # spent 204µs making 1 call to Moose::Meta::TypeConstraint::new
# spent 17µs making 1 call to Moose::Util::TypeConstraints::find_type_constraint
# spent 16µs making 1 call to Moose::Meta::TypeConstraint::Registry::add_type_constraint | ||
221 | |||||
222 | $registry->add_type_constraint( | ||||
223 | Moose::Meta::TypeConstraint::Parameterizable->new( | ||||
224 | name => 'HashRef', | ||||
225 | package_defined_in => __PACKAGE__, | ||||
226 | parent => | ||||
227 | Moose::Util::TypeConstraints::find_type_constraint('Ref'), | ||||
228 | constraint => sub { ref($_) eq 'HASH' }, | ||||
229 | constraint_generator => sub { | ||||
230 | my $type_parameter = shift; | ||||
231 | my $check = $type_parameter->_compiled_type_constraint; | ||||
232 | return sub { | ||||
233 | foreach my $x ( values %$_ ) { | ||||
234 | ( $check->($x) ) || return; | ||||
235 | } | ||||
236 | 1; | ||||
237 | } | ||||
238 | }, | ||||
239 | 2 | 8µs | # spent 6µs within Moose::Util::TypeConstraints::Builtins::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Util/TypeConstraints/Builtins.pm:239] which was called 2 times, avg 3µs/call:
# 2 times (6µs+0s) by Moose::Meta::TypeConstraint::_inline_check at line 225 of Moose/Meta/TypeConstraint.pm, avg 3µs/call | ||
240 | inline_generator => sub { | ||||
241 | my $self = shift; | ||||
242 | my $type_parameter = shift; | ||||
243 | my $val = shift; | ||||
244 | |||||
245 | 'do {' | ||||
246 | . 'my $check = ' . $val . ';' | ||||
247 | . 'ref($check) eq "HASH" ' | ||||
248 | . '&& &List::MoreUtils::all(' | ||||
249 | . 'sub { ' . $type_parameter->_inline_check('$_') . ' }, ' | ||||
250 | . 'values %{$check}' | ||||
251 | . ')' | ||||
252 | . '}'; | ||||
253 | }, | ||||
254 | ) | ||||
255 | 3 | 236µs | ); # spent 204µs making 1 call to Moose::Meta::TypeConstraint::new
# spent 16µs making 1 call to Moose::Util::TypeConstraints::find_type_constraint
# spent 16µs making 1 call to Moose::Meta::TypeConstraint::Registry::add_type_constraint | ||
256 | |||||
257 | $registry->add_type_constraint( | ||||
258 | Moose::Meta::TypeConstraint::Parameterizable->new( | ||||
259 | name => 'Maybe', | ||||
260 | package_defined_in => __PACKAGE__, | ||||
261 | parent => | ||||
262 | Moose::Util::TypeConstraints::find_type_constraint('Item'), | ||||
263 | constraint => sub {1}, | ||||
264 | constraint_generator => sub { | ||||
265 | my $type_parameter = shift; | ||||
266 | my $check = $type_parameter->_compiled_type_constraint; | ||||
267 | return sub { | ||||
268 | return 1 if not( defined($_) ) || $check->($_); | ||||
269 | return; | ||||
270 | } | ||||
271 | }, | ||||
272 | 1 | 3µs | # spent 1µs within Moose::Util::TypeConstraints::Builtins::__ANON__[/2home/ss5/perl5/perlbrew/perls/perl-5.12.3/lib/site_perl/5.12.3/x86_64-linux/Moose/Util/TypeConstraints/Builtins.pm:272] which was called:
# once (1µs+0s) by Moose::Meta::TypeConstraint::_inline_check at line 225 of Moose/Meta/TypeConstraint.pm | ||
273 | inline_generator => sub { | ||||
274 | my $self = shift; | ||||
275 | my $type_parameter = shift; | ||||
276 | my $val = shift; | ||||
277 | '!defined(' . $val . ') ' | ||||
278 | . '|| (' . $type_parameter->_inline_check($val) . ')' | ||||
279 | }, | ||||
280 | ) | ||||
281 | 3 | 226µs | ); # spent 194µs making 1 call to Moose::Meta::TypeConstraint::new
# spent 16µs making 1 call to Moose::Meta::TypeConstraint::Registry::add_type_constraint
# spent 16µs making 1 call to Moose::Util::TypeConstraints::find_type_constraint | ||
282 | } | ||||
283 | |||||
284 | 1 | 4µs | 1; | ||
285 | |||||
286 | __END__ |