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 |