Unit PasDoc_Items

Description

defines all items that can appear within a Pascal unit's interface

For each item (type, variable, class etc.) that may appear in a Pascal source code file and can thus be taken into the documentation, this unit provides an object type which will store name, unit, description and more on this item.

Uses

Overview

Classes, Interfaces, Objects and Records

Name Description
Record TRawDescriptionInfo Raw description, in other words: the contents of comment before given item.
Class TBaseItem This is a basic item class, that is linkable, and has some RawDescription.
Class TPasItem This is a TBaseItem descendant that is always declared inside some Pascal source file.
Class TPasConstant Pascal constant.
Class TPasFieldVariable Pascal global variable or field or nested constant of CIO.
Class TPasType Pascal type (but not a procedural type — these are expressed as TPasMethod.)
Class TPasEnum Enumerated type.
Class TPasMethod This represents:

  1. global function/procedure,

  2. method (function/procedure of a class/interface/object),

  3. pointer type to one of the above (in this case Name is the type name).

Class TPasProperty  
Class TPasCio Extends TPasItem to store all items in a class / an object, e.g. fields.
Class EAnchorAlreadyExists  
Class TExternalItem TExternalItem extends TBaseItem to store extra information about a project.
Class TExternalItemList TExternalItemList extends TObjectVector to store non-nil instances of TExternalItem
Class TAnchorItem  
Class TPasUnit extends TPasItem to store anything about a unit, its constants, types etc.; also provides methods for parsing a complete unit.
Class TBaseItems Container class to store a list of TBaseItems.
Class TPasItems Container class to store a list of TPasItems.
Class TPasMethods Collection of methods.
Class TPasProperties Collection of properties.
Class TPasNestedCios Collection of classes / records / interfaces.
Class TPasTypes Collection of types.
Class TPasUnits Collection of units.

Functions and Procedures

function MethodTypeToString(const MethodType: TMethodType): string;
function VisibilitiesToStr(const Visibilities: TVisibilities): string;
function VisToStr(const Vis: TVisibility): string;

Types

TVisibility = (...);
TVisibilities = set of TVisibility;
TInfoMergeType = (...);
PRawDescriptionInfo = ˆTRawDescriptionInfo;
THintDirective = (...);
THintDirectives = set of THintDirective;
TMethodType = (...);
TCIOType = (...);
TClassDirective = (...);

Constants

VisibilityStr: array[TVisibility] of string[16] = ( 'published', 'public', 'protected', 'strict protected', 'private', 'strict private', 'automated', 'implicit' );
AllVisibilities: TVisibilities = [Low(TVisibility) .. High(TVisibility)];
DefaultVisibilities: TVisibilities = [viProtected, viPublic, viPublished, viAutomated];
InfoMergeTypeStr: array[TInfoMergeType] of string = ( 'none', 'prefer-interface', 'join', 'prefer-implementation' );
CIORecordType = [CIO_RECORD, CIO_PACKEDRECORD];
CIONonHierarchy = CIORecordType;
EmptyRawDescriptionInfo: TRawDescriptionInfo = ( Content: ''; StreamName: ''; BeginPosition: -1; EndPosition: -1; );

Description

Functions and Procedures

function MethodTypeToString(const MethodType: TMethodType): string;

Returns lowercased keyword associated with given method type.

function VisibilitiesToStr(const Visibilities: TVisibilities): string;

Returns VisibilityStr for each value in Visibilities, delimited by commas.

function VisToStr(const Vis: TVisibility): string;
 

Types

TVisibility = (...);

Visibility of a field/method.

Values
  • viPublished: indicates field or method is published
  • viPublic: indicates field or method is public
  • viProtected: indicates field or method is protected
  • viStrictProtected: indicates field or method is strict protected
  • viPrivate: indicates field or method is private
  • viStrictPrivate: indicates field or method is strict private
  • viAutomated: indicates field or method is automated
  • viImplicit: implicit visibility, marks the implicit members if user used --implicit-visibility=implicit command-line option.
TVisibilities = set of TVisibility;
 
TInfoMergeType = (...);

Type of merging intf section and impl section metadata of an item

Values
  • imtNone: impl section is not scanned - default behavior
  • imtPreferIntf: data is taken from intf, if it's empty - from impl
  • imtJoin: data is concatenated
  • imtPreferImpl: data is taken from impl, if it's empty - from intf
PRawDescriptionInfo = ˆTRawDescriptionInfo;
 
THintDirective = (...);
 
Values
  • hdDeprecated
  • hdPlatform
  • hdLibrary
  • hdExperimental
THintDirectives = set of THintDirective;
 
TMethodType = (...);

Methodtype for TPasMethod

Values
  • METHOD_CONSTRUCTOR
  • METHOD_DESTRUCTOR
  • METHOD_FUNCTION
  • METHOD_PROCEDURE
  • METHOD_OPERATOR
TCIOType = (...);

enumeration type to determine type of TPasCio item

Values
  • CIO_CLASS
  • CIO_PACKEDCLASS
  • CIO_DISPINTERFACE
  • CIO_INTERFACE
  • CIO_OBJECT
  • CIO_PACKEDOBJECT
  • CIO_RECORD
  • CIO_PACKEDRECORD
TClassDirective = (...);
 
Values
  • CT_NONE
  • CT_ABSTRACT
  • CT_SEALED
  • CT_HELPER

Constants

VisibilityStr: array[TVisibility] of string[16] = ( 'published', 'public', 'protected', 'strict protected', 'private', 'strict private', 'automated', 'implicit' );
 
AllVisibilities: TVisibilities = [Low(TVisibility) .. High(TVisibility)];
 
DefaultVisibilities: TVisibilities = [viProtected, viPublic, viPublished, viAutomated];
 
InfoMergeTypeStr: array[TInfoMergeType] of string = ( 'none', 'prefer-interface', 'join', 'prefer-implementation' );
 
CIORecordType = [CIO_RECORD, CIO_PACKEDRECORD];
 
CIONonHierarchy = CIORecordType;
 
EmptyRawDescriptionInfo: TRawDescriptionInfo = ( Content: ''; StreamName: ''; BeginPosition: -1; EndPosition: -1; );
 

Authors

Created

11 Mar 1999


Generated by PasDoc 0.16.0.