about summary refs log tree commit diff
path: root/docs/doctool/Modules/NaturalDocs/DefineMembers.pm
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2008-01-17 12:56:19 +0000
committerMagnus Auvinen <magnus.auvinen@gmail.com>2008-01-17 12:56:19 +0000
commite42c493d0c294ccb0a314c8447818c8d613195df (patch)
tree27e56d9415313ddccdb1550da64ed3ef80b1dcca /docs/doctool/Modules/NaturalDocs/DefineMembers.pm
parent037569c4e52f37196275dbafec670f54da249cf8 (diff)
downloadzcatch-e42c493d0c294ccb0a314c8447818c8d613195df.tar.gz
zcatch-e42c493d0c294ccb0a314c8447818c8d613195df.zip
removed olds docs
Diffstat (limited to 'docs/doctool/Modules/NaturalDocs/DefineMembers.pm')
-rw-r--r--docs/doctool/Modules/NaturalDocs/DefineMembers.pm100
1 files changed, 0 insertions, 100 deletions
diff --git a/docs/doctool/Modules/NaturalDocs/DefineMembers.pm b/docs/doctool/Modules/NaturalDocs/DefineMembers.pm
deleted file mode 100644
index 63a7dbfe..00000000
--- a/docs/doctool/Modules/NaturalDocs/DefineMembers.pm
+++ /dev/null
@@ -1,100 +0,0 @@
-###############################################################################
-#
-#   Package: NaturalDocs::DefineMembers
-#
-###############################################################################
-#
-#   A custom Perl pragma to define member constants and accessors for use in Natural Docs objects while supporting inheritance.
-#
-#   Each member will be defined as a numeric constant which should be used as that variable's index into the object arrayref.
-#   They will be assigned sequentially from zero, and take into account any members defined this way in parent classes.  Note
-#   that you can *not* use multiple inheritance with this method.
-#
-#   If a parameter ends in parenthesis, it will be generated as an accessor for the previous member.  If it also starts with "Set",
-#   the accessor will accept a single parameter to replace the value with.  If it's followed with "duparrayref", it will assume the
-#   parameter is either an arrayref or undef, and if the former, will duplicate it to set the value.
-#
-#   Example:
-#
-#   > package MyPackage;
-#   >
-#   > use NaturalDocs::DefineMembers 'VAR_A', 'VarA()', 'SetVarA()',
-#   >                                'VAR_B', 'VarB()',
-#   >                                'VAR_C',
-#   >                                'VAR_D', 'VarD()', 'SetVarD() duparrayref';
-#   >
-#   > sub SetC #(C)
-#   >    {
-#   >    my ($self, $c) = @_;
-#   >    $self->[VAR_C] = $c;
-#   >    };
-#
-###############################################################################
-
-# This file is part of Natural Docs, which is Copyright (C) 2003-2005 Greg Valure
-# Natural Docs is licensed under the GPL
-
-
-package NaturalDocs::DefineMembers;
-
-sub import #(member, member, ...)
-    {
-    my ($self, @parameters) = @_;
-    my $package = caller();
-
-    no strict 'refs';
-    my $parent = ${$package . '::ISA'}[0];
-    use strict 'refs';
-
-    my $memberConstant = 0;
-    my $lastMemberName;
-
-    if (defined $parent && $parent->can('END_OF_MEMBERS'))
-        {  $memberConstant = $parent->END_OF_MEMBERS();  };
-
-    my $code = '{ package ' . $package . ";\n";
-
-    foreach my $parameter (@parameters)
-        {
-        if ($parameter =~ /^(.+)\(\) *(duparrayref)?$/i)
-            {
-            my ($functionName, $pragma) = ($1, lc($2));
-
-            if ($functionName =~ /^Set/)
-                {
-                if ($pragma eq 'duparrayref')
-                    {
-                    $code .=
-                    'sub ' . $functionName . '
-                        {
-                        if (defined $_[1])
-                            {  $_[0]->[' . $lastMemberName . '] = [ @{$_[1]} ];  }
-                        else
-                            {  $_[0]->[' . $lastMemberName . '] = undef;  };
-                        };' . "\n";
-                    }
-                else
-                    {
-                    $code .= 'sub ' . $functionName . ' { $_[0]->[' . $lastMemberName . '] = $_[1];  };' . "\n";
-                    };
-                }
-            else
-                {
-                $code .= 'sub ' . $functionName . ' { return $_[0]->[' . $lastMemberName . '];  };' . "\n";
-                };
-            }
-        else
-            {
-            $code .= 'use constant ' . $parameter . ' => ' . $memberConstant . ";\n";
-            $memberConstant++;
-            $lastMemberName = $parameter;
-            };
-        };
-
-    $code .= 'use constant END_OF_MEMBERS => ' . $memberConstant . ";\n";
-    $code .= '};';
-
-    eval $code;
-    };
-
-1;