Class TParser
Unit
Declaration
type TParser = class(TObject)
Description
Parser class that will process a complete unit file and all of its include files, regarding directives. When creating this object constructor Create takes as an argument an input stream and a list of directives. Parsing work is done by calling ParseUnitOrProgram method. If no errors appear, should return a TPasUnit object with all information on the unit. Else exception is raised.
Things that parser inits in items it returns:
Of every TPasItem : Name, RawDescription, Visibility, HintDirectives, DeprecatedNote, FullDeclararation (note: for now not all items get sensible FullDeclararation, but the intention is to improve this over time; see TPasItem.FullDeclaration to know where FullDeclararation is available now).
Note to IsDeprecated: parser inits it basing on hint directive "deprecated" presence in source file; it doesn't handle the fact that @deprecated tag may be specified inside RawDescription.
Note to RawDescription: parser inits them from user's comments that preceded given item in source file. It doesn't handle the fact that @member and @value tags may also assign RawDescription for some item.
Of TPasCio: Ancestors, Fields, Methods, Properties, MyType.
Of TPasEnum: Members, FullDeclararation.
Of TPasRoutine: What.
Of TPasVarConst: FullDeclaration.
Of TPasProperty: IndexDecl, FullDeclaration. PropType, NoDefault, Stored, DefaultValue, Reader, Writer. TODO: Parsing TPasProperty.DefaultInClass.
Of TPasUnit; UsesUnits, Types, Variables, CIOs, Constants, FuncsProcs.
It doesn't init other values. E.g. AbstractDescription or DetailedDescription of TPasItem should be inited while expanding this item's tags. E.g. SourceFileDateTime and SourceFileName of TPasUnit must be set by other means.
Source: source/component/PasDoc_Parser.pas (line 160).
Hierarchy
- TObject
- TParser
Overview
Methods
| Public | constructor Create( const InputStream: TStream; const Directives: TStringVector; const IncludeFilePaths: TStringVector; const OnMessageEvent: TPasDocMessageEvent; const VerbosityLevel: Cardinal; const AStreamName, AStreamAbsoluteFileName: string; const AHandleMacros: boolean); |
| Public | destructor Destroy; override; |
| Public | procedure ParseUnitOrProgram(var U: TPasUnit); |
Properties
| Public | property OnMessage: TPasDocMessageEvent read FOnMessage write FOnMessage; |
| Public | property CommentMarkers: TStringList read FCommentMarkers write SetCommentMarkers; |
| Public | property MarkersOptional: boolean read fMarkersOptional write fMarkersOptional; |
| Public | property IgnoreLeading: string read FIgnoreLeading write FIgnoreLeading; |
| Public | property IgnoreMarkers: TStringList read FIgnoreMarkers write SetIgnoreMarkers; |
| Public | property ShowVisibilities: TVisibilities
read FShowVisibilities write FShowVisibilities; |
| Public | property ImplicitVisibility: TImplicitVisibility
read FImplicitVisibility write FImplicitVisibility; |
| Public | property AutoBackComments: boolean read FAutoBackComments write FAutoBackComments; |
| Public | property InfoMergeType: TInfoMergeType read FInfoMergeType write FInfoMergeType; |
Description
Methods
| Public | constructor Create( const InputStream: TStream; const Directives: TStringVector; const IncludeFilePaths: TStringVector; const OnMessageEvent: TPasDocMessageEvent; const VerbosityLevel: Cardinal; const AStreamName, AStreamAbsoluteFileName: string; const AHandleMacros: boolean); |
|
Create a parser, initialize the scanner with input stream S. All strings in SD are defined compiler directives. | |
| Public | destructor Destroy; override; |
|
Release all dynamically allocated memory. | |
| Public | procedure ParseUnitOrProgram(var U: TPasUnit); |
|
This does the real parsing work, creating U unit and parsing InputStream and filling all U properties. | |
Properties
| Public | property OnMessage: TPasDocMessageEvent read FOnMessage write FOnMessage; |
|
This item has no description. | |
| Public | property CommentMarkers: TStringList read FCommentMarkers write SetCommentMarkers; |
|
This item has no description. | |
| Public | property MarkersOptional: boolean read fMarkersOptional write fMarkersOptional; |
|
This item has no description. | |
| Public | property IgnoreLeading: string read FIgnoreLeading write FIgnoreLeading; |
|
This item has no description. | |
| Public | property IgnoreMarkers: TStringList read FIgnoreMarkers write SetIgnoreMarkers; |
|
This item has no description. | |
| Public | property ShowVisibilities: TVisibilities
read FShowVisibilities write FShowVisibilities; |
|
This item has no description. | |
| Public | property ImplicitVisibility: TImplicitVisibility
read FImplicitVisibility write FImplicitVisibility; |
|
See command-line option --implicit-visibility documentation at --implicit-visibility documentation. | |
| Public | property AutoBackComments: boolean read FAutoBackComments write FAutoBackComments; |
|
See command-line option --auto-back-comments documentation at --auto-back-comments documentation. | |
| Public | property InfoMergeType: TInfoMergeType read FInfoMergeType write FInfoMergeType; |
|
Whether to read comments from the implementation, and how to merge them with the interface comments. | |
Generated by PasDoc 0.17.0.snapshot.