Commit | Line | Data |
6c74d087 |
1 | package Class::Tiny::_Utils; |
2 | |
3 | use strictures 1; |
4 | use base qw(Exporter); |
5 | |
6 | our @EXPORT = qw(_getglob _install_modifier); |
7 | |
8 | sub _getglob { no strict 'refs'; \*{$_[0]} } |
9 | |
10 | sub _install_modifier { |
11 | require Class::Method::Modifiers; |
12 | my ($into, $type, $name, $code) = @_; |
13 | my $ref = ref(my $to_modify = $into->can($name)); |
14 | if ($ref && $ref =~ /Sub::Defer::Deferred/) { |
15 | require Sub::Defer; undefer($to_modify); |
16 | } |
17 | Class::Method::Modifiers::install_modifier(@_); |
18 | } |
19 | |
20 | 1; |