diff Lib/IMPL/Class/Member.pm @ 0:03e58a454b20

Создан репозитарий
author Sergey
date Tue, 14 Jul 2009 12:54:37 +0400
parents
children 16ada169ca75
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Lib/IMPL/Class/Member.pm	Tue Jul 14 12:54:37 2009 +0400
@@ -0,0 +1,37 @@
+package IMPL::Class::Member;
+use strict;
+use base qw(Exporter);
+our @EXPORT = qw(virtual public private protected);
+
+use IMPL::Class::Meta;
+require IMPL::Class::MemberInfo;
+
+use constant {
+    MOD_PUBLIC => 1,
+    MOD_PROTECTED => 2,
+    MOD_PRIVATE => 3
+};
+
+sub virtual($) {
+    $_[0]->Virtual(1);
+    $_[0];
+}
+
+sub public($) {
+    $_[0]->Access(MOD_PUBLIC);
+    $_[0]->Implement;
+    $_[0];
+}
+
+sub private($) {
+    $_[0]->Access(MOD_PRIVATE);
+    $_[0]->Implement;
+    $_[0];
+}
+
+sub protected($) {
+    $_[0]->Access(MOD_PROTECTED);
+    $_[0]->Implement;
+    $_[0];
+}
+1;
\ No newline at end of file