diff 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 diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/IMPL/Class/TypeInfo.pm	Mon Sep 21 00:53:10 2015 +0300
@@ -0,0 +1,33 @@
+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;