Mercurial > pub > Impl
diff Lib/IMPL/Class/MemberInfo.pm @ 163:6ce1f052b90a
temp commit
author | wizard |
---|---|
date | Tue, 15 Mar 2011 02:32:42 +0300 |
parents | 44977efed303 |
children | 76515373dac0 |
line wrap: on
line diff
--- a/Lib/IMPL/Class/MemberInfo.pm Wed Dec 29 16:55:24 2010 +0300 +++ b/Lib/IMPL/Class/MemberInfo.pm Tue Mar 15 02:32:42 2011 +0300 @@ -1,5 +1,6 @@ package IMPL::Class::MemberInfo; use strict; +use IMPL::_core::version; use base qw(IMPL::Object::Accessor); require IMPL::Exception; @@ -38,13 +39,62 @@ return; } -#TODO: Debug version -#sub set { -# my $this = shift; -# if ($this->Frozen) { -# die new IMPL::Exception('The member information is frozen', $this->Name); -# } -# $this->SUPER::set(@_); -#} +1; + +__END__ + +=pod + +=head1 NAME + +C<IMPL::Class::MemberInfo> - информация о члене класса. + +=head1 DESCRIPTION + +Данный класс является базовым для таких классов как C<IMPL::Class::PropertyInfo>, C<IMPL::Class::MethodInfo> и +предназначен для хренения метаданных. + +Данный класс наследуется от C<IMPL::Object::Accessor> и не содержит в себе метаданных о своих членах. + +=head1 MEMBERS + +=over + +=item C<[get,set] Name> + +Имя члена. + +=item C<[get,set] Access> + +Default public. -1; +Атрибут доступа ( public | private | protected ) + +=item C<[get,set] Virtual> + +Default false. + +Флаг виртуальности. + +=item C<[get,set] Class> + +Класс владелец + +=item C<[get,set] Frozen> + +Флаг невозможности внесения изменений + +=item C<[get,set] Attributes> + +Дополнительные атрибуты + +=item C<Implement()> + +Устанавливает C<Frozen> в C<1>, добавляет в метаданные класса. + +При реализации собственного субкласса, данный метод может быть переопределен для +реализации дополнительной обработки (например, создание методов доступа для свойств). + +=back + +=cut