Unit PasDoc_Items

Description

All items that can appear within Pascal source code.

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.

Source: source/component/PasDoc_Items.pas (line 38).

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 Global variable or a field in CIO.
Class TPasType Pascal type (but not a procedural type — these are expressed as TPasRoutine.)
Class TPasAliasType Alias type
Class TPasEnum Enumerated type.
Class TPasRoutine This represents:

  1. global function/procedure,

  2. method (function/procedure of a structure (TPasCio)),

  3. type (pointer 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 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 TPasRoutines Collection of methods.
Class TPasProperties Collection of properties.
Class TPasTypes List of types.
Class TPasNestedCios Collection of CIOs (classes, records, interfaces...) nested in outer CIO.
Class TPasUnits Collection of units.

Functions and Procedures

function RoutineTypeToString(const RoutineType: TRoutineType): string;
function CioTypeToString(const CioType: TCIOType): String;
function VisibilitiesToStr(const Visibilities: TVisibilities): string;
function VisToStr(const Vis: TVisibility): string;
function ObjectVectorIsNilOrEmpty(const List: TBaseItems): boolean; overload;

Types

TVisibility = (...);
TVisibilities = set of TVisibility;
TInfoMergeType = (...);
PRawDescriptionInfo = ˆTRawDescriptionInfo;
THintDirective = (...);
THintDirectives = set of THintDirective;
TRoutineType = (...);
TCIOType = (...);
TClassDirective = (...);
TExternalItemList = specialize TObjectList<TExternalItem>;
TBaseItemDictionary = specialize TDictionary<String, TBaseItem>;
TStringStringDictionary = specialize TDictionary<String, String>;

Constants

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

Description

Functions and Procedures

function RoutineTypeToString(const RoutineType: TRoutineType): string;

Returns lowercased keyword associated with given method type.

Source: source/component/PasDoc_Items.pas (line 1327).

function CioTypeToString(const CioType: TCIOType): String;

Returns lowercased keyword(s) associated with given structure type.

Source: source/component/PasDoc_Items.pas (line 1330).

function VisibilitiesToStr(const Visibilities: TVisibilities): string;

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

Source: source/component/PasDoc_Items.pas (line 1334).

function VisToStr(const Vis: TVisibility): string;

This item has no description.

Source: source/component/PasDoc_Items.pas (line 1336).

function ObjectVectorIsNilOrEmpty(const List: TBaseItems): boolean; overload;

Is List nil or empty.

Source: source/component/PasDoc_Items.pas (line 1339).

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.

Source: source/component/PasDoc_Items.pas (line 56).

TVisibilities = set of TVisibility;

This item has no description.

Source: source/component/PasDoc_Items.pas (line 76).

TInfoMergeType = (...);

Type of merging interface and implementation comments. See --implementation-comments documentation.

Values
  • imtNone: Implementation not parsed.
  • imtPreferIntf: Read both, prefer interface.
  • imtPreferImpl: Read both, prefer implementation.
  • imtJoin: Read both, concatenate.

Source: source/component/PasDoc_Items.pas (line 100).

PRawDescriptionInfo = ˆTRawDescriptionInfo;

This item has no description.

Source: source/component/PasDoc_Items.pas (line 153).

THintDirective = (...);

This item has no description.

Values
  • hdDeprecated
  • hdPlatform
  • hdLibrary
  • hdExperimental
  • hdUnimplemented

Source: source/component/PasDoc_Items.pas (line 342).

THintDirectives = set of THintDirective;

This item has no description.

Source: source/component/PasDoc_Items.pas (line 343).

TRoutineType = (...);

Routine type for TPasRoutine.What

Values
  • ROUTINE_CONSTRUCTOR
  • ROUTINE_DESTRUCTOR
  • ROUTINE_FUNCTION
  • ROUTINE_PROCEDURE
  • ROUTINE_OPERATOR

Source: source/component/PasDoc_Items.pas (line 701).

TCIOType = (...);

Determine type of TPasCio item, like a class or record.

Values
  • CIO_CLASS
  • CIO_PACKEDCLASS
  • CIO_OBJCCLASS
  • CIO_PACKEDOBJCCLASS
  • CIO_DISPINTERFACE
  • CIO_INTERFACE
  • CIO_OBJECT
  • CIO_PACKEDOBJECT
  • CIO_RECORD
  • CIO_PACKEDRECORD
  • CIO_TYPE: CIO_TYPE is used only when CIO is a type helper, designed by CIO.ClassDirective = CT_HELPER.

Source: source/component/PasDoc_Items.pas (line 802).

TClassDirective = (...);

This item has no description.

Values
  • CT_NONE
  • CT_ABSTRACT
  • CT_SEALED
  • CT_HELPER
  • CT_EXTERNAL: external can be used with objcclass (see FPC PasCocoa)

Source: source/component/PasDoc_Items.pas (line 813).

TExternalItemList = specialize TObjectList<TExternalItem>;

This item has no description.

Source: source/component/PasDoc_Items.pas (line 1033).

TBaseItemDictionary = specialize TDictionary<String, TBaseItem>;

This item has no description.

Source: source/component/PasDoc_Items.pas (line 1156).

TStringStringDictionary = specialize TDictionary<String, String>;

This item has no description.

Source: source/component/PasDoc_Items.pas (line 1270).

Constants

VisibilityStr: array[TVisibility] of string[16] = ( 'published', 'public', 'protected', 'strict protected', 'private', 'strict private', 'automated', 'implicit' );

This item has no description.

Source: source/component/PasDoc_Items.pas (line 79).

AllVisibilities = [Low(TVisibility) .. High(TVisibility)];

This item has no description.

Source: source/component/PasDoc_Items.pas (line 91).

DefaultVisibilities = [Low(TVisibility) .. High(TVisibility)] - [viPrivate, viStrictPrivate, viImplicit];

Default visibility, as documented on https://pasdoc.github.io/VisibleMembers

Source: source/component/PasDoc_Items.pas (line 94).

InfoMergeTypeStr: array[TInfoMergeType] of string = ( 'none', 'prefer-interface', 'prefer-implementation', 'join' );

This item has no description.

Source: source/component/PasDoc_Items.pas (line 112).

CIORecordType = [CIO_RECORD, CIO_PACKEDRECORD];

This item has no description.

Source: source/component/PasDoc_Items.pas (line 1320).

CIONonHierarchy = CIORecordType;

This item has no description.

Source: source/component/PasDoc_Items.pas (line 1321).

EmptyRawDescriptionInfo: TRawDescriptionInfo = ( Content: ''; StreamName: ''; BeginPosition: -1; EndPosition: -1; );

This item has no description.

Source: source/component/PasDoc_Items.pas (line 1323).

Authors

Created

11 Mar 1999


Generated by PasDoc 1.0.2.