# All Functions and Procedures

Name | Unit | Description
--- | --- | ---
Bar | ok_cdecl_external |
Bar | ok_directive_as_identifier |
Cdecl | ok_directive_as_identifier |
ConvertDouble | ok_complicated_record | `ConvertDouble` converts Value to or from the BigEndian format.
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.
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 |
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ˆ.
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.`
TestWarnings | warning_not_existing_tags | pasdoc should complain (display warnings) about wrong tags : @firstwarning(blah blah), `Wrong tag inside a @code: @secondwarning(ble ble)`.
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 |