CommentCommands.td revision cac9ee0b129b8d8d4088ecf5068202886850aa2c
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//===----------------------------------------------------------------------===//
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Define command classes.
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//===----------------------------------------------------------------------===//
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class Command<string name> {
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  string Name = name;
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  string EndCommandName = "";
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
9868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  int NumArgs = 0;
10a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  bit IsInlineCommand = 0;
12116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  bit IsBlockCommand = 0;
14a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  bit IsBriefCommand = 0;
15116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  bit IsReturnsCommand = 0;
16c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  bit IsParamCommand = 0;
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  bit IsTParamCommand = 0;
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  bit IsDeprecatedCommand = 0;
195d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  bit IsHeaderfileCommand = 0;
205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  bit IsEmptyParagraphAllowed = 0;
222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  bit IsVerbatimBlockCommand = 0;
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  bit IsVerbatimBlockEndCommand = 0;
252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  bit IsVerbatimLineCommand = 0;
262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  bit IsDeclarationCommand = 0;
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  bit IsFunctionDeclarationCommand = 0;
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  bit IsRecordLikeDetailCommand = 0;
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  bit IsRecordLikeDeclarationCommand = 0;
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciclass InlineCommand<string name> : Command<name> {
331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  let IsInlineCommand = 1;
341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}
351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class BlockCommand<string name> : Command<name> {
3758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)  let IsBlockCommand = 1;
3858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)}
3958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
4058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)class RecordLikeDetailCommand<string name> : BlockCommand<name> {
4158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)  let IsRecordLikeDetailCommand = 1;
4258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)}
4358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)class VerbatimBlockCommand<string name> : Command<name> {
455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  let EndCommandName = name;
465d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  let IsVerbatimBlockCommand = 1;
475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)}
485d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)multiclass VerbatimBlockCommand<string name, string endCommandName> {
505d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  def Begin : Command<name> {
515d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    let EndCommandName = endCommandName;
525d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    let IsVerbatimBlockCommand = 1;
535d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  }
545d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
555d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  def End : Command<endCommandName> {
565d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)    let IsVerbatimBlockEndCommand = 1;
575d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  }
5858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)}
5958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
6058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)class VerbatimLineCommand<string name> : Command<name> {
6158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)  let IsVerbatimLineCommand = 1;
6258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)}
6358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
6458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)class DeclarationVerbatimLineCommand<string name> :
6558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)      VerbatimLineCommand<name> {
6658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)  let IsDeclarationCommand = 1;
6758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)}
6858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
6958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)class FunctionDeclarationVerbatimLineCommand<string name> :
7058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)      VerbatimLineCommand<name> {
7158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)  let IsDeclarationCommand = 1;
7258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)  let IsFunctionDeclarationCommand = 1;
7358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)}
7458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
7558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)class RecordLikeDeclarationVerbatimLineCommand<string name> :
7658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)      VerbatimLineCommand<name> {
7758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)  let IsDeclarationCommand = 1;
785d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  let IsRecordLikeDeclarationCommand = 1;
7958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)}
805d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
815d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)//===----------------------------------------------------------------------===//
8258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// InlineCommand
8358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)//===----------------------------------------------------------------------===//
8458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
8558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)def B  : InlineCommand<"b">;
8658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)def C  : InlineCommand<"c">;
875d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)def P  : InlineCommand<"p">;
8858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)def A  : InlineCommand<"a">;
895d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)def E  : InlineCommand<"e">;
905d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)def Em : InlineCommand<"em">;
9158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
9258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)//===----------------------------------------------------------------------===//
9358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// BlockCommand
9458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)//===----------------------------------------------------------------------===//
9558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
9658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)def Brief : BlockCommand<"brief"> { let IsBriefCommand = 1; }
9758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)def Short : BlockCommand<"short"> { let IsBriefCommand = 1; }
9858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
9958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// Opposite of \brief, it is the default in our implementation.
10058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)def Details : BlockCommand<"details">;
10158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
10258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)def Returns : BlockCommand<"returns"> { let IsReturnsCommand = 1; }
10358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)def Return  : BlockCommand<"return"> { let IsReturnsCommand = 1; }
1045d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)def Result  : BlockCommand<"result"> { let IsReturnsCommand = 1; }
1055d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1065d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)def Param : BlockCommand<"param"> { let IsParamCommand = 1; }
10758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
10858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// Doxygen command for template parameter documentation.
10958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)def Tparam : BlockCommand<"tparam"> { let IsTParamCommand = 1; }
11058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
11158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// HeaderDoc command for template parameter documentation.
11258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)def Templatefield : BlockCommand<"templatefield"> { let IsTParamCommand = 1; }
11358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
11458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)def Deprecated : BlockCommand<"deprecated"> {
11558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)  let IsEmptyParagraphAllowed = 1;
11658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)  let IsDeprecatedCommand = 1;
11758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)}
11858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
11958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)def Headerfile : BlockCommand<"headerfile"> { let IsHeaderfileCommand = 1; }
12058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
1215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// We don't do any additional semantic analysis for the following
1225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// BlockCommands.  It might be a good idea to do something extra for them, but
12358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// for now we model them as plain BlockCommands.
1245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)def Attention  : BlockCommand<"attention">;
1255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)def Author     : BlockCommand<"author">;
12658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)def Authors    : BlockCommand<"authors">;
12758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)def Bug        : BlockCommand<"bug">;
128116680a4aac90f2aa7413d9095a592090648e557Ben Murdochdef Copyright  : BlockCommand<"copyright">;
129116680a4aac90f2aa7413d9095a592090648e557Ben Murdochdef Date       : BlockCommand<"date">;
130116680a4aac90f2aa7413d9095a592090648e557Ben Murdochdef Invariant  : BlockCommand<"invariant">;
131116680a4aac90f2aa7413d9095a592090648e557Ben Murdochdef Note       : BlockCommand<"note">;
132116680a4aac90f2aa7413d9095a592090648e557Ben Murdochdef Post       : BlockCommand<"post">;
133116680a4aac90f2aa7413d9095a592090648e557Ben Murdochdef Pre        : BlockCommand<"pre">;
134116680a4aac90f2aa7413d9095a592090648e557Ben Murdochdef Remark     : BlockCommand<"remark">;
135116680a4aac90f2aa7413d9095a592090648e557Ben Murdochdef Remarks    : BlockCommand<"remarks">;
136116680a4aac90f2aa7413d9095a592090648e557Ben Murdochdef Sa         : BlockCommand<"sa">;
137116680a4aac90f2aa7413d9095a592090648e557Ben Murdochdef See        : BlockCommand<"see">;
138116680a4aac90f2aa7413d9095a592090648e557Ben Murdochdef Since      : BlockCommand<"since">;
139116680a4aac90f2aa7413d9095a592090648e557Ben Murdochdef Todo       : BlockCommand<"todo">;
140116680a4aac90f2aa7413d9095a592090648e557Ben Murdochdef Version    : BlockCommand<"version">;
141116680a4aac90f2aa7413d9095a592090648e557Ben Murdochdef Warning    : BlockCommand<"warning">;
142116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// HeaderDoc commands
1431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidef Abstract      : BlockCommand<"abstract">;
1441320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidef ClassDesign   : RecordLikeDetailCommand<"classdesign">;
1451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidef CoClass       : RecordLikeDetailCommand<"coclass">;
1461320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidef Dependency    : RecordLikeDetailCommand<"dependency">;
1471320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidef Discussion    : BlockCommand<"discussion">;
1481320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidef Helper        : RecordLikeDetailCommand<"helper">;
1491320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidef HelperClass   : RecordLikeDetailCommand<"helperclass">;
1501320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidef Helps         : RecordLikeDetailCommand<"helps">;
1511320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidef InstanceSize  : RecordLikeDetailCommand<"instancesize">;
1521320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidef Ownership     : RecordLikeDetailCommand<"ownership">;
1531320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidef Performance   : RecordLikeDetailCommand<"performance">;
1541320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidef Security      : RecordLikeDetailCommand<"security">;
1551320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidef Seealso       : BlockCommand<"seealso">;
1561320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidef SuperClass    : RecordLikeDetailCommand<"superclass">;
1571320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
1581320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci//===----------------------------------------------------------------------===//
1591320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// VerbatimBlockCommand
1601320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci//===----------------------------------------------------------------------===//
1611320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
1621320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidefm Code      : VerbatimBlockCommand<"code", "endcode">;
1631320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidefm Verbatim  : VerbatimBlockCommand<"verbatim", "endverbatim">;
1641320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidefm Htmlonly  : VerbatimBlockCommand<"htmlonly", "endhtmlonly">;
1651320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidefm Latexonly : VerbatimBlockCommand<"latexonly", "endlatexonly">;
1661320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidefm Xmlonly   : VerbatimBlockCommand<"xmlonly", "endxmlonly">;
1671320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidefm Manonly   : VerbatimBlockCommand<"manonly", "endmanonly">;
1681320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidefm Rtfonly   : VerbatimBlockCommand<"rtfonly", "endrtfonly">;
1691320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
1701320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidefm Dot : VerbatimBlockCommand<"dot", "enddot">;
1711320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidefm Msc : VerbatimBlockCommand<"msc", "endmsc">;
1721320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
1731320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// These three commands have special support in CommentLexer to recognize their
1741320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// names.
1751320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidef  FDollar  : VerbatimBlockCommand<"f$">; // Inline LaTeX formula
1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)defm FBracket : VerbatimBlockCommand<"f[", "f]">; // Displayed LaTeX formula
1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)defm FBrace   : VerbatimBlockCommand<"f{", "f}">; // LaTeX environment
1785d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1795d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// HeaderDoc commands
1805d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)defm Textblock    : VerbatimBlockCommand<"textblock", "/textblock">;
1815d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)defm Link         : VerbatimBlockCommand<"link", "/link">;
1825d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
1835d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)//===----------------------------------------------------------------------===//
1845d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// VerbatimLineCommand
1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//===----------------------------------------------------------------------===//
1862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1875d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)def Defgroup   : VerbatimLineCommand<"defgroup">;
18858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)def Ingroup    : VerbatimLineCommand<"ingroup">;
1895d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)def Addtogroup : VerbatimLineCommand<"addtogroup">;
1902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)def Weakgroup  : VerbatimLineCommand<"weakgroup">;
1912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)def Name       : VerbatimLineCommand<"name">;
19258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
1932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)def Section       : VerbatimLineCommand<"section">;
19458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)def Subsection    : VerbatimLineCommand<"subsection">;
195a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)def Subsubsection : VerbatimLineCommand<"subsubsection">;
1961320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidef Paragraph     : VerbatimLineCommand<"paragraph">;
197116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
1981320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidef Mainpage : VerbatimLineCommand<"mainpage">;
1991320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccidef Subpage  : VerbatimLineCommand<"subpage">;
200a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)def Ref      : VerbatimLineCommand<"ref">;
201a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)
202116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch//===----------------------------------------------------------------------===//
203a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)// DeclarationVerbatimLineCommand
204a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)//===----------------------------------------------------------------------===//
205a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)
206116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Doxygen commands.
207116680a4aac90f2aa7413d9095a592090648e557Ben Murdochdef Fn        : DeclarationVerbatimLineCommand<"fn">;
2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)def Namespace : DeclarationVerbatimLineCommand<"namespace">;
2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)def Overload  : DeclarationVerbatimLineCommand<"overload">;
2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)def Property  : DeclarationVerbatimLineCommand<"property">;
2112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)def Typedef   : DeclarationVerbatimLineCommand<"typedef">;
2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)def Var       : DeclarationVerbatimLineCommand<"var">;
2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// HeaderDoc commands.
2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)def Class     : RecordLikeDeclarationVerbatimLineCommand<"class">;
2162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)def Interface : RecordLikeDeclarationVerbatimLineCommand<"interface">;
2172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)def Protocol  : RecordLikeDeclarationVerbatimLineCommand<"protocol">;
2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)def Struct    : RecordLikeDeclarationVerbatimLineCommand<"struct">;
2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)def Union     : RecordLikeDeclarationVerbatimLineCommand<"union">;
2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)def Category  : DeclarationVerbatimLineCommand<"category">;
221868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)def Template  : DeclarationVerbatimLineCommand<"template">;
2225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)def Function  : FunctionDeclarationVerbatimLineCommand<"function">;
2235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)def FunctionGroup  : FunctionDeclarationVerbatimLineCommand<"functiongroup">;
224c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)def Method    : FunctionDeclarationVerbatimLineCommand<"method">;
225c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)def MethodGroup    : FunctionDeclarationVerbatimLineCommand<"methodgroup">;
226c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)def Callback  : FunctionDeclarationVerbatimLineCommand<"callback">;
227c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)def Const     : DeclarationVerbatimLineCommand<"const">;
228c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)def Constant  : DeclarationVerbatimLineCommand<"constant">;
229c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)def Enum      : DeclarationVerbatimLineCommand<"enum">;
230a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)