Mercurial > pub > Impl
diff Lib/IMPL/Class/MemberInfo.pm @ 49:16ada169ca75
migrating to the Eclipse IDE
author | wizard@linux-odin.local |
---|---|
date | Fri, 26 Feb 2010 10:49:21 +0300 |
parents | 03e58a454b20 |
children | 0f3e369553bd |
line wrap: on
line diff
--- a/Lib/IMPL/Class/MemberInfo.pm Fri Feb 26 01:43:42 2010 +0300 +++ b/Lib/IMPL/Class/MemberInfo.pm Fri Feb 26 10:49:21 2010 +0300 @@ -1,48 +1,48 @@ -package IMPL::Class::MemberInfo; -use strict; -use base qw(IMPL::Object::Accessor); - -require IMPL::Exception; -require IMPL::Class::Member; - -__PACKAGE__->mk_accessors( - qw( - Name - Access - Virtual - Class - Frozen - Implementor - Attributes - ) -); -__PACKAGE__->PassThroughArgs; - -sub CTOR { - my $this = shift; - - die new IMPL::Exception('The name is required for the member') unless $this->Name; - die new IMPL::Exception('The class is required for the member') unless $this->Class; - - $this->Frozen(0); - $this->Virtual(0) unless defined $this->Virtual; - $this->Access(3) unless $this->Access; -} - -sub Implement { - my ($this) = @_; - $this->Implementor->Make($this); - $this->Frozen(1); - $this->Class->set_meta($this); - return; -} - -sub set { - my $this = shift; - if ($this->Frozen) { - die new IMPL::Exception('The member information can\'t be modified', $this->Name); - } - $this->SUPER::set(@_); -} - -1; +package IMPL::Class::MemberInfo; +use strict; +use base qw(IMPL::Object::Accessor); + +require IMPL::Exception; +require IMPL::Class::Member; + +__PACKAGE__->mk_accessors( + qw( + Name + Access + Virtual + Class + Frozen + Implementor + Attributes + ) +); +__PACKAGE__->PassThroughArgs; + +sub CTOR { + my $this = shift; + + die new IMPL::Exception('The name is required for the member') unless $this->Name; + die new IMPL::Exception('The class is required for the member') unless $this->Class; + + $this->Frozen(0); + $this->Virtual(0) unless defined $this->Virtual; + $this->Access(3) unless $this->Access; +} + +sub Implement { + my ($this) = @_; + $this->Implementor->Make($this); + $this->Frozen(1); + $this->Class->set_meta($this); + return; +} + +sub set { + my $this = shift; + if ($this->Frozen) { + die new IMPL::Exception('The member information can\'t be modified', $this->Name); + } + $this->SUPER::set(@_); +} + +1;