view lib/IMPL/Class/TypeInfo.pm @ 411:ee36115f6a34 ref20150831

sync
author cin
date Mon, 21 Sep 2015 00:53:10 +0300
parents
children
line wrap: on
line source

package IMPL::Class::TypeInfo;
use strict;
use mro;

require v5.10;

use IMPL::declare {
	require => {
		PropertyInfo => 'IMPL::Class::PropertyInfo'
	},
	base => [
		'IMPL::Object' => undef
	],
	props => [
		name     => 'r',
		_methods => 'rw',
		_props   => 'rw',
		_type    => 'rw'
	]
};

sub GetProperties {
	my $this = shift;

	my $cache = $this->_props;
	unless ($cache) {
		$cache = $this->_type->GetMeta( PropertyInfo, undef, 1 );
		$this->_props($cache);
	}
	return $cache;
}

1;