← Index
NYTProf Performance Profile   « line view »
For /usr/local/libexec/sympa/task_manager-debug.pl
  Run on Tue Jun 1 22:32:51 2021
Reported on Tue Jun 1 22:35:04 2021

Filename/usr/local/lib/perl5/site_perl/Specio/Exporter.pm
StatementsExecuted 0 statements in 0s
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
0000s0sSpecio::Exporter::::BEGIN@10Specio::Exporter::BEGIN@10
0000s0sSpecio::Exporter::::BEGIN@12Specio::Exporter::BEGIN@12
0000s0sSpecio::Exporter::::BEGIN@3Specio::Exporter::BEGIN@3
0000s0sSpecio::Exporter::::BEGIN@38Specio::Exporter::BEGIN@38
0000s0sSpecio::Exporter::::BEGIN@4Specio::Exporter::BEGIN@4
0000s0sSpecio::Exporter::::BEGIN@8Specio::Exporter::BEGIN@8
0000s0sSpecio::Exporter::::importSpecio::Exporter::import
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package Specio::Exporter;
2
3use strict;
4use warnings;
5
6our $VERSION = '0.47';
7
8use parent 'Exporter';
9
10use Specio::Helpers qw( install_t_sub );
11use Specio::Registry
12 qw( exportable_types_for_package internal_types_for_package register );
13
14my %Exported;
15
16sub import {
17 my $package = shift;
18 my $reexport = shift;
19
20 my $caller = caller();
21
22 return if $Exported{$caller}{$package};
23
24 my $exported = exportable_types_for_package($package);
25
26 while ( my ( $name, $type ) = each %{$exported} ) {
27 register( $caller, $name, $type->clone, $reexport );
28 }
29
30 install_t_sub(
31 $caller,
32 internal_types_for_package($caller),
33 );
34
35 if ( $package->can('_also_export') ) {
36 for my $sub ( $package->_also_export ) {
37 ## no critic (TestingAndDebugging::ProhibitNoStrict)
38 no strict 'refs';
39 *{ $caller . '::' . $sub } = \&{ $package . '::' . $sub };
40 }
41 }
42
43 $Exported{$caller}{$package} = 1;
44
45 return;
46}
47
481;
49
50# ABSTRACT: Base class for type libraries
51
52__END__