Mercurial > pub > Impl
comparison Lib/IMPL/declare.pm @ 209:a8db61d0ed33
IMPL::Class::Meta refactoring
| author | cin |
|---|---|
| date | Mon, 28 May 2012 19:58:56 +0400 |
| parents | 2ffe6f661605 |
| children | 2b9b55cfb79b |
comparison
equal
deleted
inserted
replaced
| 208:3d433a977e3b | 209:a8db61d0ed33 |
|---|---|
| 1 package IMPL::declare; | 1 package IMPL::declare; |
| 2 use strict; | 2 use strict; |
| 3 | 3 |
| 4 use Scalar::Util qw(set_prototype); | 4 use Scalar::Util qw(set_prototype); |
| 5 use Carp qw(carp); | |
| 5 | 6 |
| 6 sub import { | 7 sub import { |
| 7 my ($self,$args) = @_; | 8 my ($self,$args) = @_; |
| 8 | 9 |
| 9 return unless $args; | 10 return unless $args; |
| 28 | 29 |
| 29 my %ctor; | 30 my %ctor; |
| 30 my @isa; | 31 my @isa; |
| 31 | 32 |
| 32 if (ref $base eq 'ARRAY') { | 33 if (ref $base eq 'ARRAY') { |
| 34 carp("will be changed in next version"); | |
| 33 @isa = map _require($_), @$base if @$base; | 35 @isa = map _require($_), @$base if @$base; |
| 34 } elsif (ref $base eq 'HASH' ) { | 36 } elsif (ref $base eq 'HASH' ) { |
| 35 while ( my ($class,$mapper) = each %$base ) { | 37 while ( my ($class,$mapper) = each %$base ) { |
| 36 $class = $aliases->{$class} || _require($class); | 38 $class = $aliases->{$class} || _require($class); |
| 37 | 39 |
