411
|
1 package IMPL::Class::TypeInfo;
|
|
2 use strict;
|
|
3 use mro;
|
|
4
|
|
5 require v5.10;
|
|
6
|
|
7 use IMPL::declare {
|
|
8 require => {
|
|
9 PropertyInfo => 'IMPL::Class::PropertyInfo'
|
|
10 },
|
|
11 base => [
|
|
12 'IMPL::Object' => undef
|
|
13 ],
|
|
14 props => [
|
|
15 name => 'r',
|
|
16 _methods => 'rw',
|
|
17 _props => 'rw',
|
|
18 _type => 'rw'
|
|
19 ]
|
|
20 };
|
|
21
|
|
22 sub GetProperties {
|
|
23 my $this = shift;
|
|
24
|
|
25 my $cache = $this->_props;
|
|
26 unless ($cache) {
|
|
27 $cache = $this->_type->GetMeta( PropertyInfo, undef, 1 );
|
|
28 $this->_props($cache);
|
|
29 }
|
|
30 return $cache;
|
|
31 }
|
|
32
|
|
33 1;
|