All Identifiers

Name Unit Description
Bar ok_cdecl_external

 

Bar ok_directive_as_identifier

 

BytePos ok_complicated_record

enumeration used in variant record

Cdecl ok_directive_as_identifier

 

ConvertDouble ok_complicated_record

ConvertDouble converts Value to or from the BigEndian format.

EBar ok_expanding_descriptions

 

EFoo ok_expanding_descriptions

 

EFoo ok_tag_params_no_parens

 

EXyz ok_expanding_descriptions

 

Foo ok_cdecl_external

 

Foo ok_directive_as_identifier

 

Foo ok_link_class_unit_level

 

Foo ok_paragraph_in_single_line_comment

This is the 1st paragraph.

This is the 2nd paragraph.

This is the 3rd paragraph.

Here paragraphs are correct.

Foo warning_tags_no_parameters

Some tags are not allowed to have parameters.

pasdoc should print a warning when you try to give some parameters for such tags: e.g. Nil, True.

Foo1 ok_directive_as_identifier

Some other test for THTMLDocGenerator.WriteCodeWithLinks, while I'm at it:

Note that link to TMyClass should be correctly made. 'register' should be displayed as a string, of course, and not linked.

MyConst ok_deprecated_tag

 

MyConst ok_nodescription_printing

 

MyOtherProc ok_links_2

 

MyProc ok_deprecated_tag

 

MyProc ok_links

Link to self : MyProc, and a second one: ok_links.MyProc, link to MyProc in other unit: ok_links_2.MyProc.

MyProc ok_links_2

 

MyProc ok_link_explicite_name

Some testing proc. Have you seen my method ?

MyProc ok_nodescription_printing

 

MyVar ok_deprecated_tag

 

MyVariable ok_nodescription_printing

 

PDoubleEndianCnvRec ok_complicated_record

PDoubleEndianCnvRec is a pointer to a TDoubleEndianCnvRec.

RecursiveTwoAt ok_expanding_descriptions

aa aaaaa aa aaa SHGetSpecialFolderPath(0, @Path, CSIDL_APPDATA, true) aaaa aaaaaa aaaaaa aaaaaaaaa aaaa

At some point, this test caused the bug: final </code> tag was inserted in converted form (processed with ConvertString) into html output. In effect, there was an opening <code> tag but there was no closing </code> tag.

Register ok_directive_as_identifier

 

SomeProc ok_tag_params_no_parens

Note that this rule allows you to not specify () for *any* tag that has parameters. Even for @link tag: ok_tag_params_no_parens

This rule doesn't create any problems for tags without parameters, like the @name tag: here it is: SomeProc. Such tags never have parameters, and on the above line you *don't* have @name tag with parameters "tag. Such tags never have parameters,". Instead, you just specified SomeProc tag and "tag. Such tags never have parameters," is just a normal text.

Check out this longcode:

begin Writeln('Hello world'); end; { This works ! }

See also @html and @latex tags: I'm red

And here is some code: begin X := Y + 1; end;

SwapDoubleBytes ok_complicated_record

SwapDoubleBytes copies TDoubleEndianCnvRec.Bytes in reverse order from Sourceˆ to Destˆ.

TAbstractTerminationClass warning_abstract_termination

(This abstract tag lacks the closing parenthesis. How will PasDoc handle this error?

TBar ok_link_class_unit_level

These are links from class' description to an identifiers inside the same class. Note that @links here first check *inside* the class, then outside (i.e. in the whole unit). That's why link to Foo below is a link to a method Foo inside this class, not to a global procedure Foo. Links inside the class: Foo, Sthg.

Links outside of the class: ok_link_class_unit_level.Foo, Xyz. Note that I has to qualify Foo with unit's name and write "ok_link_class_unit_level.Foo" to get a link to procedure in the unit. Just like I would do in a Pascal code.

TClass1 ok_nodescription_printing

 

TDoubleEndianCnvRec ok_complicated_record

TDoubleEndianCnvRec is used in ConvertDouble to convert a double to or from the BigEndian format.

TestConstCombined ok_hint_directives

 

TestConstDeprecated ok_hint_directives

 

TestConstLibrary ok_hint_directives

 

TestConstPlatform ok_hint_directives

 

TestFuncCombined ok_hint_directives

 

TestFuncDeprecated ok_hint_directives

 

TestFuncPlatform ok_hint_directives

 

TestHtmlAndLatexTags ok_expanding_descriptions

This is some dummy html code, just to show that inside @html tag of pasdoc (note that I used single @ char in this sentence) nothing is expanded by pasdoc. No paragraphs are created by pasdoc. (This text is still in the 1st, not in the 2nd, paragraph in html output)

You must explicitly write <p> to get paragraph. No tags work, e.g. @link(TestLongCode).

Note that text inside @html / @latex tags is absolutely not touched by pasdoc. Characters are not escaped (< is *not* changed to &lt; in the html case), @tags are not expanded, @ needs not to be doubled, paragraphs (<p> in the html case) are not inserted.

TestLineBreak ok_line_break

1st paragraph.
Second line of 1st paragraph.

2nd paragraph. Blah blah blah.

3rd paragraph.
Second line of 3rd paragraph.

TestLongCode ok_expanding_descriptions

Note that inside @longcode below I should be able to write singe @ char to get it in the output, no need to double it (like @@). No tags are expanded inside longcode.

Also note that paragraphs are not expanded inside longcode (no <p> inside <pre>...</pre> in html output).

Of course html characters are still correctly escaped (< changes to &lt; etc.).


procedure Foo;
begin
  if A < B then Bar; { @link(No, this is not really pasdoc tag) }
end;

procedure Bar(X: Integer);
begin
  CompareMem(@X, @Y);
end;

TestPasMethodTags ok_expanding_descriptions

This is a test of tags expanded by TPasMethod handlers. Note that all three tags are expanded recursively.

TestProcCombined ok_hint_directives

 

TestProcDeprecated ok_hint_directives

 

TestProcPlatform ok_hint_directives

 

TestRecursiveTag ok_expanding_descriptions

@code and @returns (and some others) tags are recursive, you can freely put other tags inside.

This is link to TestHtmlAndLatexTags.

TestVarCombined ok_hint_directives

 

TestVarDeprecated ok_hint_directives

 

TestVarLibrary ok_hint_directives

 

TestVarPlatform ok_hint_directives

 

TestWarnings warning_not_existing_tags

pasdoc should complain (display warnings) about wrong tags : @firstwarning(blah blah), Wrong tag inside a @code: @secondwarning(ble ble).

TMyClass ok_deprecated_tag

Deprecated class.

TMyClass ok_directive_as_identifier

 

TMyClass ok_expanding_descriptions

These are some tags that are not allowed to have parameters: name TMyClass, inherited TMyClassAncestor, nil Nil, true True, false False, classname TMyClass. Some of them are valid only within a class, but this is not important for this test.

TMyClass ok_value_member_tags

TMyClass warning_value_member_tags

This should cause 3 warnings: MyField1 has two descriptions, MyField2 has two descriptions, and NotExistsingMember does not exist.

TMyClassAncestor ok_expanding_descriptions

 

TMyEnum ok_value_member_tags

TMyEnum warning_value_member_tags

This should cause 3 warnings: meOne has two descriptions, meTwo has two descriptions, and meNotExisting does not exist.

TMyRecord ok_nodescription_printing

 

TMyRecord ok_value_member_tags

 

TMyRecord2 ok_nodescription_printing

This record has a description, but still LaTeX output will not list it in it's summary list (in the "Overview" section). (i.e. before applying my patch)

TMyRecord3 ok_nodescription_printing

 

TMySimpleType ok_nodescription_printing

 

TMyType ok_deprecated_tag

Normal type deprecated.

TSomeClass ok_links

 

TSomeClass ok_links_2

 

TSomeOtherClass ok_links_2

 

TTestClassDeprecated ok_hint_directives

 

TTestingClass ok_link_explicite_name

I'm a testing class, oh ! And don't forget to look at my method !

TTestRecordDeprecated ok_hint_directives

 

TwoAt ok_expanding_descriptions

Write two at chars, like this @@, to get one @ in output.

E.g. @ link(TSomeClass).

E.g. @link(TSomeClass).

E.g. @html foobar.

E.g. @link .

Xyz ok_cdecl_external

 

Xyz ok_link_class_unit_level