Mercurial > pub > Impl
comparison Lib/IMPL/template.pm @ 167:1f7a6d762394
SQL schema in progress
| author | sourcer |
|---|---|
| date | Thu, 12 May 2011 08:57:19 +0400 |
| parents | 76515373dac0 |
| children | d1676be8afcc |
comparison
equal
deleted
inserted
replaced
| 166:4267a2ac3d46 | 167:1f7a6d762394 |
|---|---|
| 8 shift; | 8 shift; |
| 9 my %args = @_; | 9 my %args = @_; |
| 10 | 10 |
| 11 my $class = caller; | 11 my $class = caller; |
| 12 | 12 |
| 13 my @paramNames = grep /\w+/, @{$args{parameters} || []}; | 13 my @paramNames = grep m/\w+/, @{$args{parameters} || []}; |
| 14 my $declare = $args{declare}; | 14 my $declare = $args{declare}; |
| 15 my @isa = (@{$args{base} || []}, $class); | 15 my @isa = (@{$args{base} || []}, $class); |
| 16 my %instances; | 16 my %instances; |
| 17 | 17 |
| 18 no strict 'refs'; | 18 no strict 'refs'; |
| 89 base => [qw(IMPL::Object)], | 89 base => [qw(IMPL::Object)], |
| 90 declare => sub { | 90 declare => sub { |
| 91 my ($class) = @_; | 91 my ($class) = @_; |
| 92 my $item_t = spec KeyValuePair($class->TKey,$class->TValue); | 92 my $item_t = spec KeyValuePair($class->TKey,$class->TValue); |
| 93 | 93 |
| 94 public $class->CreateProperty(items => prop_get | prop_list, { type => $item_t } ) | 94 public $class->CreateProperty(items => prop_get | prop_list, { type => $item_t } ); |
| 95 | 95 |
| 96 $class->static_accessor( ItemType => $item_t ); | 96 $class->static_accessor( ItemType => $item_t ); |
| 97 } | 97 } |
| 98 ) | 98 ) |
| 99 | 99 |
