From 9ba8e6cf38da5196ed7bc878fe452952f3e10638 Mon Sep 17 00:00:00 2001 From: Magnus Auvinen Date: Tue, 22 May 2007 15:06:55 +0000 Subject: moved docs --- .../NaturalDocs/SymbolTable/SymbolDefinition.pm | 96 ++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 docs/doctool/Modules/NaturalDocs/SymbolTable/SymbolDefinition.pm (limited to 'docs/doctool/Modules/NaturalDocs/SymbolTable/SymbolDefinition.pm') diff --git a/docs/doctool/Modules/NaturalDocs/SymbolTable/SymbolDefinition.pm b/docs/doctool/Modules/NaturalDocs/SymbolTable/SymbolDefinition.pm new file mode 100644 index 00000000..fddff164 --- /dev/null +++ b/docs/doctool/Modules/NaturalDocs/SymbolTable/SymbolDefinition.pm @@ -0,0 +1,96 @@ +############################################################################### +# +# Package: NaturalDocs::SymbolTable::SymbolDefinition +# +############################################################################### +# +# A class representing a symbol definition. This does not store the definition symbol, class, or file. +# +############################################################################### + +# This file is part of Natural Docs, which is Copyright (C) 2003-2005 Greg Valure +# Natural Docs is licensed under the GPL + +use strict; +use integer; + +package NaturalDocs::SymbolTable::SymbolDefinition; + + +############################################################################### +# Group: Implementation + +# +# Constants: Members +# +# The class is implemented as a blessed arrayref. The following constants are its members. +# +# TYPE - The symbol . +# PROTOTYPE - The symbol's prototype, if applicable. Will be undef otherwise. +# SUMMARY - The symbol's summary, if applicable. Will be undef otherwise. +# +use constant TYPE => 0; +use constant PROTOTYPE => 1; +use constant SUMMARY => 2; +# New depends on the order of the constants. + + +############################################################################### +# Group: Functions + +# +# Function: New +# +# Creates and returns a new object. +# +# Parameters: +# +# type - The symbol . +# prototype - The symbol prototype, if applicable. Undef otherwise. +# summary - The symbol's summary, if applicable. Undef otherwise. +# +sub New #(type, prototype, summary) + { + # This depends on the parameter list being the same as the constant order. + + my $package = shift; + + my $object = [ @_ ]; + bless $object, $package; + + return $object; + }; + + +# Function: Type +# Returns the definition's . +sub Type + { return $_[0]->[TYPE]; }; + +# Function: SetType +# Changes the . +sub SetType #(type) + { $_[0]->[TYPE] = $_[1]; }; + +# Function: Prototype +# Returns the definition's prototype, or undef if it doesn't have one. +sub Prototype + { return $_[0]->[PROTOTYPE]; }; + +# Function: SetPrototype +# Changes the prototype. +sub SetPrototype #(prototype) + { $_[0]->[PROTOTYPE] = $_[1]; }; + +# Function: Summary +# Returns the definition's summary, or undef if it doesn't have one. +sub Summary + { return $_[0]->[SUMMARY]; }; + +# Function: SetSummary +# Changes the summary. +sub SetSummary #(summary) + { $_[0]->[SUMMARY] = $_[1]; }; + + +1; -- cgit 1.4.1