NAME

OODoc::Text::Subroutine - collects information about one documented sub

INHERITANCE

 OODoc::Text::Subroutine
   is a OODoc::Text
   is a OODoc::Object

DESCRIPTION

Perl has various things we can call "sub" (for "subroutine") one way or the other. This object tries to store all types of them: methods, funtion, ties, and overloads. Actually, these are the most important parts of the documentation. The share more than they differ.

OVERLOADED

overload: '""' (stringification)

See "OVERLOADED" in OODoc::Text

overload: '==' and '!='

See "OVERLOADED" in OODoc::Text

overload: 'cmp' (string comparison)

See "OVERLOADED" in OODoc::Text

METHODS

Constructors

OODoc::Text::Subroutine->new(OPTIONS)
 -Option     --Defined in     --Default
  container    OODoc::Text      <required>
  description  OODoc::Text      ''
  linenr       OODoc::Text      <required>
  name         OODoc::Text      undef
  parameters                    undef
  type         OODoc::Text      <required>
container => OBJECT
description => STRING
linenr => INTEGER
name => STRING
parameters => STRING
type => STRING

Inheritance knowledge

$obj->extends([OBJECT])

Attributes

$obj->container([OBJECT])

See "Attributes" in OODoc::Text

$obj->description

See "Attributes" in OODoc::Text

$obj->name

See "Attributes" in OODoc::Text

$obj->parameters

The parameter list for the subroutine is returned as string. The result may be undef or empty.

$obj->type

See "Attributes" in OODoc::Text

Location

$obj->location(MANUAL)

Try to figure-out what the location for the subroutine is within the MANUAL page. Have a look at all levels of extension for this sub-routine's documentation and decides the best enclosing chapter, section and subsection. Then return that object for the current manual.

$obj->manual([NAME])

See "Location" in OODoc::Text

$obj->path

Returns the path of the text structure which contains this subroutine.

$obj->unique

See "Location" in OODoc::Text

$obj->where

See "Location" in OODoc::Text

Collected

$obj->collectedOptions

Returns a list of option-default combinations on this subroutine.

$obj->default(NAME|OBJECT)

In case of a NAME, a default object for this method is looked up. This does not search through super classes, but solely which is defined with this subroutine. When passed an OBJECT of type OODoc::Text::Default that will be stored.

$obj->defaults

Returns a list of all defaults as defined by this documentation item in one manual.

$obj->diagnostic(OBJECT)

Add a new diagnostic message (a OODoc::Text::Diagnostic object) to the list already in this object. You can not look for a message because these names are without use.

$obj->diagnostics

Returns a list of all diagnostics.

$obj->example(OBJECT)

See "Collected" in OODoc::Text

$obj->examples

See "Collected" in OODoc::Text

$obj->findDescriptionObject

See "Collected" in OODoc::Text

$obj->findOption(NAME)

Does a little more thorough job than option() bu searching the inherited options for this subroutine as well.

$obj->openDescription

See "Collected" in OODoc::Text

$obj->option(NAME|OBJECT)

In case of a NAME, the option object for this method is looked up. This does not search through super classes, but solely which is defined with this subroutine. When passed an OBJECT of type OODoc::Text::Option that will be stored.

$obj->options

Returns a list of all options as defined by this documentation item in one manual.

Commonly used functions

$obj->filenameToPackage(FILENAME)

OODoc::Text::Subroutine->filenameToPackage(FILENAME)

See "Commonly used functions" in OODoc::Object

$obj->mkdirhier(DIRECTORY)

OODoc::Text::Subroutine->mkdirhier(DIRECTORY)

See "Commonly used functions" in OODoc::Object

Manual Repository

$obj->addManual(MANUAL)

See "Manual Repository" in OODoc::Object

$obj->mainManual(NAME)

See "Manual Repository" in OODoc::Object

$obj->manuals

See "Manual Repository" in OODoc::Object

$obj->manualsForPackage(NAME)

See "Manual Repository" in OODoc::Object

$obj->packageNames

See "Manual Repository" in OODoc::Object

DIAGNOSTICS

Error: manual definition requires manual object

A call to addManual() expects a new manual object (a OODoc::Manual), however an incompatible thing was passed. Usually, intended was a call to manualsForPackage() or mainManual().

Warning: subroutine $name extended by different type:

Any description of a subroutine classifies it as method, tie, overload or whatever. Apparently, this indicated subroutine is defined being of a different type on these both places, and there is an inheritance relation between these places.

In very rare cases, this warning can be ignored, but usually these situation is errorneous of confusing for the users of the library.

Warning: subroutine $self location conflict: $here $super

The location of subroutine descriptions must be consistent over the manual pages. You may change the level of clearness about the exact location (place in the chapter in one page, and in a subsection in the next), as long as it is not conflicting (the subsection must be a part of the chapter).

SEE ALSO

This module is part of OODoc distribution version 1.06, built on January 26, 2011. Website: http://perl.overmeer.net/oodoc/

LICENSE

Copyrights 2003-2011 by Mark Overmeer. For other contributors see ChangeLog.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html