Mercurial > pub > Impl
annotate Lib/IMPL/Object/Meta.pm @ 54:f4e045e47770
commit
| author | wizard@linux-odin.local |
|---|---|
| date | Tue, 02 Mar 2010 20:15:57 +0300 |
| parents | 16ada169ca75 |
| children | 76b878ad6596 |
| rev | line source |
|---|---|
| 49 | 1 package IMPL::Object::Meta; |
| 2 use strict; | |
| 3 use warnings; | |
| 4 | |
| 5 use base qw(IMPL::Object); | |
| 6 use IMPL::Class::Property; | |
| 7 use IMPL::Class::Property::Direct; | |
| 8 | |
| 9 BEGIN { | |
| 10 public _direct property Container => prop_get; | |
| 11 } | |
| 12 | |
| 13 sub meta { | |
| 14 my $class = shift; | |
| 15 my $caller = caller; | |
| 16 my $meta = $class->surrogate(); | |
| 17 $meta->{$Container} = $caller; | |
| 18 $meta->callCTOR(@_); | |
| 19 $caller->set_meta($meta); | |
| 20 } | |
| 21 | |
| 22 | |
| 23 1; |
