annotate-comments.cpp revision 59500fec689f7def27bb83bd21e19417ad527906
1// Run lines are sensitive to line numbers and come below the code. 2 3#ifndef HEADER 4#define HEADER 5 6// Not a Doxygen comment. NOT_DOXYGEN 7void notdoxy1(void); 8 9/* Not a Doxygen comment. NOT_DOXYGEN */ 10void notdoxy2(void); 11 12/*/ Not a Doxygen comment. NOT_DOXYGEN */ 13void notdoxy3(void); 14 15/** Doxygen comment. isdoxy4 IS_DOXYGEN_SINGLE */ 16void isdoxy4(void); 17 18/** 19 * Doxygen comment. isdoxy5 IS_DOXYGEN_SINGLE */ 20void isdoxy5(void); 21 22/** 23 * Doxygen comment. 24 * isdoxy6 IS_DOXYGEN_SINGLE */ 25void isdoxy6(void); 26 27/** 28 * Doxygen comment. 29 * isdoxy7 IS_DOXYGEN_SINGLE 30 */ 31void isdoxy7(void); 32 33/*! Doxygen comment. isdoxy8 IS_DOXYGEN_SINGLE */ 34void isdoxy8(void); 35 36/// Doxygen comment. isdoxy9 IS_DOXYGEN_SINGLE 37void isdoxy9(void); 38 39// Not a Doxygen comment. NOT_DOXYGEN 40/// Doxygen comment. isdoxy10 IS_DOXYGEN_SINGLE 41void isdoxy10(void); 42 43/// Doxygen comment. isdoxy11 IS_DOXYGEN_SINGLE 44// Not a Doxygen comment. NOT_DOXYGEN 45void isdoxy11(void); 46 47/** Doxygen comment. isdoxy12 IS_DOXYGEN_SINGLE */ 48/* Not a Doxygen comment. NOT_DOXYGEN */ 49void isdoxy12(void); 50 51/// Doxygen comment. isdoxy13 IS_DOXYGEN_START 52/// Doxygen comment. IS_DOXYGEN_END 53void isdoxy13(void); 54 55/// Doxygen comment. isdoxy14 IS_DOXYGEN_START 56/// Blah-blah-blah. 57/// Doxygen comment. IS_DOXYGEN_END 58void isdoxy14(void); 59 60/// Doxygen comment. isdoxy15 IS_DOXYGEN_START 61/** Blah-blah-blah */ 62/// Doxygen comment. IS_DOXYGEN_END 63void isdoxy15(void); 64 65/** Blah-blah-blah. isdoxy16 IS_DOXYGEN_START *//** Blah */ 66/// Doxygen comment. IS_DOXYGEN_END 67void isdoxy16(void); 68 69/// isdoxy17 IS_DOXYGEN_START 70// Not a Doxygen comment, but still picked up. 71/// IS_DOXYGEN_END 72void isdoxy17(void); 73 74unsigned 75// NOT_DOXYGEN 76/// isdoxy18 IS_DOXYGEN_START 77// Not a Doxygen comment, but still picked up. 78/// IS_DOXYGEN_END 79// NOT_DOXYGEN 80int isdoxy18(void); 81 82//! It all starts here. isdoxy19 IS_DOXYGEN_START 83/*! It's a little odd to continue line this, 84 * 85 * but we need more multi-line comments. */ 86/// This comment comes before my other comments 87/** This is a block comment that is associated with the function f. It 88 * runs for three lines. IS_DOXYGEN_END 89 */ 90void isdoxy19(int, int); 91 92// NOT IN THE COMMENT NOT_DOXYGEN 93/// This is a BCPL comment. isdoxy20 IS_DOXYGEN_START 94/// It has only two lines. 95/** But there are other blocks that are part of the comment, too. IS_DOXYGEN_END */ 96void isdoxy20(int); 97 98void notdoxy21(int); ///< This is a member comment. isdoxy21 IS_DOXYGEN_NOT_ATTACHED 99 100void notdoxy22(int); /*!< This is a member comment. isdoxy22 IS_DOXYGEN_NOT_ATTACHED */ 101 102void notdoxy23(int); /**< This is a member comment. isdoxy23 IS_DOXYGEN_NOT_ATTACHED */ 103 104void notdoxy24(int); // NOT_DOXYGEN 105 106/// IS_DOXYGEN_SINGLE 107struct isdoxy25 { 108}; 109 110struct test26 { 111 /// IS_DOXYGEN_SINGLE 112 int isdoxy26; 113}; 114 115struct test27 { 116 int isdoxy27; ///< IS_DOXYGEN_SINGLE 117}; 118 119struct notdoxy28 { 120}; ///< IS_DOXYGEN_NOT_ATTACHED 121 122/// IS_DOXYGEN_SINGLE 123enum isdoxy29 { 124}; 125 126enum notdoxy30 { 127}; ///< IS_DOXYGEN_NOT_ATTACHED 128 129/// IS_DOXYGEN_SINGLE 130namespace isdoxy31 { 131}; 132 133namespace notdoxy32 { 134}; ///< IS_DOXYGEN_NOT_ATTACHED 135 136class test33 { 137 ///< IS_DOXYGEN_NOT_ATTACHED 138 int isdoxy33; ///< isdoxy33 IS_DOXYGEN_SINGLE 139 int isdoxy34; ///< isdoxy34 IS_DOXYGEN_SINGLE 140 141 ///< IS_DOXYGEN_NOT_ATTACHED 142 int isdoxy35, ///< isdoxy35 IS_DOXYGEN_SINGLE 143 isdoxy36; ///< isdoxy36 IS_DOXYGEN_SINGLE 144 145 ///< IS_DOXYGEN_NOT_ATTACHED 146 int isdoxy37 ///< isdoxy37 IS_DOXYGEN_SINGLE 147 , isdoxy38 ///< isdoxy38 IS_DOXYGEN_SINGLE 148 , isdoxy39; ///< isdoxy39 IS_DOXYGEN_SINGLE 149}; 150 151// Verified that Doxygen attaches these. 152 153/// isdoxy40 IS_DOXYGEN_SINGLE 154// NOT_DOXYGEN 155void isdoxy40(int); 156 157unsigned 158/// isdoxy41 IS_DOXYGEN_SINGLE 159// NOT_DOXYGEN 160int isdoxy41(int); 161 162class test42 { 163 int isdoxy42; /* NOT_DOXYGEN */ ///< isdoxy42 IS_DOXYGEN_SINGLE 164}; 165 166/// IS_DOXYGEN_START 167/// It is fine to have a command at the end of comment. 168///\brief 169/// 170/// Some malformed command. 171/* \*/ 172/** 173 * \brief Aaa aaaaaaa aaaa. 174 * IS_DOXYGEN_END 175 */ 176void isdoxy43(void); 177 178/// IS_DOXYGEN_START Aaa bbb 179/// ccc. 180/// 181/// Ddd eee. 182/// Fff. 183/// 184/// Ggg. IS_DOXYGEN_END 185void isdoxy44(void); 186 187/// IS_DOXYGEN_START Aaa bbb 188/// ccc. 189/// 190/// \brief 191/// Ddd eee. 192/// Fff. 193/// 194/// Ggg. IS_DOXYGEN_END 195void isdoxy45(void); 196 197/// IS_DOXYGEN_START Aaa bbb 198/// ccc. 199/// 200/// \short 201/// Ddd eee. 202/// Fff. 203/// 204/// Ggg. IS_DOXYGEN_END 205void isdoxy46(void); 206 207/// IS_DOXYGEN_NOT_ATTACHED 208#define FOO 209void notdoxy47(void); 210 211/// IS_DOXYGEN_START Aaa bbb 212/// \param ccc 213/// \returns ddd IS_DOXYGEN_END 214void isdoxy48(int); 215 216/// \brief IS_DOXYGEN_START Aaa 217/// \returns bbb IS_DOXYGEN_END 218void isdoxy49(void); 219 220/// \param ccc IS_DOXYGEN_START 221/// \returns ddd IS_DOXYGEN_END 222void isdoxy50(int); 223 224/// Aaa. 225void comment_to_html_conversion_1(); 226 227/// \brief Aaa. 228void comment_to_html_conversion_2(); 229 230/// \short Aaa. 231void comment_to_html_conversion_3(); 232 233/// Aaa. 234/// 235/// \brief Bbb. 236void comment_to_html_conversion_4(); 237 238/// Aaa. 239/// 240/// \brief Bbb. 241/// 242/// Ccc. 243void comment_to_html_conversion_5(); 244 245/// \brief Aaa. 246/// \brief Bbb. 247void comment_to_html_conversion_6(); 248 249/// Aaa. 250/// 251/// \return Bbb. 252void comment_to_html_conversion_7(); 253 254/// Aaa. 255/// 256/// \returns Bbb. 257void comment_to_html_conversion_8(); 258 259/// Aaa. 260/// 261/// \result Bbb. 262void comment_to_html_conversion_9(); 263 264/// \returns Aaa. 265/// \returns Bbb. 266void comment_to_html_conversion_10(); 267 268/// Aaa. 269/// 270/// Bbb. 271/// 272/// \returns Ccc. 273void comment_to_html_conversion_11(); 274 275/// \param 276void comment_to_html_conversion_12(int x1); 277 278/// \param x1 Aaa. 279void comment_to_html_conversion_13(int x1); 280 281/// \param zzz Aaa. 282void comment_to_html_conversion_14(int x1); 283 284/// \param x2 Bbb. 285/// \param x1 Aaa. 286void comment_to_html_conversion_15(int x1, int x2); 287 288/// \param x2 Bbb. 289/// \param zzz Aaa. 290/// \param x1 Aaa. 291void comment_to_html_conversion_16(int x1, int x2); 292 293/// \tparam 294/// \param aaa Blah blah 295template<typename T> 296void comment_to_html_conversion_17(T aaa); 297 298/// \tparam T2 Bbb 299/// \tparam T1 Aaa 300template<typename T1, typename T2> 301void comment_to_html_conversion_18(T1 aaa, T2 bbb); 302 303/// \tparam T2 Bbb 304/// \tparam U Zzz 305/// \tparam V Ccc 306/// \tparam T1 Aaa 307template<typename T1, typename T2, int V> 308void comment_to_html_conversion_19(T1 aaa, T2 bbb); 309 310/// \tparam TTT Ddd 311/// \tparam C Ccc 312/// \tparam T Aaa 313/// \tparam TT Bbb 314template<template<template<typename T> class TT, class C> class TTT> 315void comment_to_html_conversion_20(); 316 317/// \brief Aaa. 318/// 319/// Bbb. 320/// 321/// \param x2 Ddd. 322/// \param x1 Ccc. 323/// \returns Eee. 324void comment_to_html_conversion_21(int x1, int x2); 325 326/// <br><a href="http://example.com/">Aaa</a> 327void comment_to_html_conversion_22(); 328 329/// \verbatim 330/// <a href="http://example.com/">Aaa</a> 331/// <a href='http://example.com/'>Aaa</a> 332/// \endverbatim 333void comment_to_html_conversion_23(); 334 335/// \b Aaa 336void comment_to_html_conversion_24(); 337 338/// \c Aaa \p Bbb 339void comment_to_html_conversion_25(); 340 341/// \a Aaa \e Bbb \em Ccc 342void comment_to_html_conversion_26(); 343 344/// \a 1<2 \e 3<4 \em 5<6 \param 7<8 aaa \tparam 9<10 bbb 345void comment_to_html_conversion_27(); 346 347/// \\ \@ \& \$ \# \< \> \% \" \. \:: 348void comment_to_html_conversion_28(); 349 350/// & < > " 351void comment_to_html_conversion_29(); 352 353/// <em>0<i</em> 354void comment_to_html_conversion_30(); 355 356#endif 357 358// RUN: rm -rf %t 359// RUN: mkdir %t 360// RUN: %clang_cc1 -x c++ -emit-pch -o %t/out.pch %s 361// RUN: %clang_cc1 -x c++ -include-pch %t/out.pch -fsyntax-only %s 362 363// RUN: c-index-test -test-load-source all %s > %t/out.c-index-direct 364// RUN: c-index-test -test-load-tu %t/out.pch all > %t/out.c-index-pch 365 366// RUN: FileCheck %s -check-prefix=WRONG < %t/out.c-index-direct 367// RUN: FileCheck %s -check-prefix=WRONG < %t/out.c-index-pch 368 369// Declarations without Doxygen comments should not pick up some Doxygen comments. 370// WRONG-NOT: notdoxy{{.*}}Comment= 371// WRONG-NOT: test{{.*}}Comment= 372 373// Non-Doxygen comments should not be attached to anything. 374// WRONG-NOT: NOT_DOXYGEN 375 376// Some Doxygen comments are not attached to anything. 377// WRONG-NOT: IS_DOXYGEN_NOT_ATTACHED 378 379// Ensure we don't pick up extra comments. 380// WRONG-NOT: IS_DOXYGEN_START{{.*}}IS_DOXYGEN_START{{.*}}BriefComment= 381// WRONG-NOT: IS_DOXYGEN_END{{.*}}IS_DOXYGEN_END{{.*}}BriefComment= 382 383// RUN: FileCheck %s < %t/out.c-index-direct 384// RUN: FileCheck %s < %t/out.c-index-pch 385 386// CHECK: annotate-comments.cpp:16:6: FunctionDecl=isdoxy4:{{.*}} isdoxy4 IS_DOXYGEN_SINGLE 387// CHECK: annotate-comments.cpp:20:6: FunctionDecl=isdoxy5:{{.*}} isdoxy5 IS_DOXYGEN_SINGLE 388// CHECK: annotate-comments.cpp:25:6: FunctionDecl=isdoxy6:{{.*}} isdoxy6 IS_DOXYGEN_SINGLE 389// CHECK: annotate-comments.cpp:31:6: FunctionDecl=isdoxy7:{{.*}} isdoxy7 IS_DOXYGEN_SINGLE 390// CHECK: annotate-comments.cpp:34:6: FunctionDecl=isdoxy8:{{.*}} isdoxy8 IS_DOXYGEN_SINGLE 391// CHECK: annotate-comments.cpp:37:6: FunctionDecl=isdoxy9:{{.*}} isdoxy9 IS_DOXYGEN_SINGLE 392// CHECK: annotate-comments.cpp:41:6: FunctionDecl=isdoxy10:{{.*}} isdoxy10 IS_DOXYGEN_SINGLE 393// CHECK: annotate-comments.cpp:53:6: FunctionDecl=isdoxy13:{{.*}} isdoxy13 IS_DOXYGEN_START{{.*}} IS_DOXYGEN_END 394// CHECK: annotate-comments.cpp:58:6: FunctionDecl=isdoxy14:{{.*}} isdoxy14 IS_DOXYGEN_START{{.*}} IS_DOXYGEN_END 395// CHECK: annotate-comments.cpp:63:6: FunctionDecl=isdoxy15:{{.*}} isdoxy15 IS_DOXYGEN_START{{.*}} IS_DOXYGEN_END 396// CHECK: annotate-comments.cpp:67:6: FunctionDecl=isdoxy16:{{.*}} isdoxy16 IS_DOXYGEN_START{{.*}} IS_DOXYGEN_END 397// CHECK: annotate-comments.cpp:72:6: FunctionDecl=isdoxy17:{{.*}} isdoxy17 IS_DOXYGEN_START{{.*}} IS_DOXYGEN_END 398// CHECK: annotate-comments.cpp:80:5: FunctionDecl=isdoxy18:{{.*}} isdoxy18 IS_DOXYGEN_START{{.*}} IS_DOXYGEN_END 399// CHECK: annotate-comments.cpp:90:6: FunctionDecl=isdoxy19:{{.*}} isdoxy19 IS_DOXYGEN_START{{.*}} IS_DOXYGEN_END 400// CHECK: annotate-comments.cpp:96:6: FunctionDecl=isdoxy20:{{.*}} isdoxy20 IS_DOXYGEN_START{{.*}} IS_DOXYGEN_END 401// CHECK: annotate-comments.cpp:107:8: StructDecl=isdoxy25:{{.*}} IS_DOXYGEN_SINGLE 402// CHECK: annotate-comments.cpp:112:7: FieldDecl=isdoxy26:{{.*}} IS_DOXYGEN_SINGLE 403// CHECK: annotate-comments.cpp:116:7: FieldDecl=isdoxy27:{{.*}} IS_DOXYGEN_SINGLE 404// CHECK: annotate-comments.cpp:123:6: EnumDecl=isdoxy29:{{.*}} IS_DOXYGEN_SINGLE 405// CHECK: annotate-comments.cpp:130:11: Namespace=isdoxy31:{{.*}} IS_DOXYGEN_SINGLE 406// CHECK: annotate-comments.cpp:138:7: FieldDecl=isdoxy33:{{.*}} isdoxy33 IS_DOXYGEN_SINGLE 407// CHECK: annotate-comments.cpp:139:7: FieldDecl=isdoxy34:{{.*}} isdoxy34 IS_DOXYGEN_SINGLE 408// CHECK: annotate-comments.cpp:142:7: FieldDecl=isdoxy35:{{.*}} isdoxy35 IS_DOXYGEN_SINGLE 409// CHECK: annotate-comments.cpp:143:7: FieldDecl=isdoxy36:{{.*}} isdoxy36 IS_DOXYGEN_SINGLE 410// CHECK: annotate-comments.cpp:146:7: FieldDecl=isdoxy37:{{.*}} isdoxy37 IS_DOXYGEN_SINGLE 411// CHECK: annotate-comments.cpp:147:7: FieldDecl=isdoxy38:{{.*}} isdoxy38 IS_DOXYGEN_SINGLE 412// CHECK: annotate-comments.cpp:148:7: FieldDecl=isdoxy39:{{.*}} isdoxy39 IS_DOXYGEN_SINGLE 413// CHECK: annotate-comments.cpp:155:6: FunctionDecl=isdoxy40:{{.*}} isdoxy40 IS_DOXYGEN_SINGLE 414// CHECK: annotate-comments.cpp:160:5: FunctionDecl=isdoxy41:{{.*}} isdoxy41 IS_DOXYGEN_SINGLE 415// CHECK: annotate-comments.cpp:163:7: FieldDecl=isdoxy42:{{.*}} isdoxy42 IS_DOXYGEN_SINGLE 416// CHECK: annotate-comments.cpp:176:6: FunctionDecl=isdoxy43:{{.*}} IS_DOXYGEN_START{{.*}} IS_DOXYGEN_END 417 418// CHECK: annotate-comments.cpp:185:6: FunctionDecl=isdoxy44:{{.*}} BriefComment=[IS_DOXYGEN_START Aaa bbb ccc.] 419// CHECK: annotate-comments.cpp:195:6: FunctionDecl=isdoxy45:{{.*}} BriefComment=[Ddd eee. Fff.] 420// CHECK: annotate-comments.cpp:205:6: FunctionDecl=isdoxy46:{{.*}} BriefComment=[Ddd eee. Fff.] 421// CHECK: annotate-comments.cpp:214:6: FunctionDecl=isdoxy48:{{.*}} BriefComment=[IS_DOXYGEN_START Aaa bbb] 422// CHECK: annotate-comments.cpp:218:6: FunctionDecl=isdoxy49:{{.*}} BriefComment=[IS_DOXYGEN_START Aaa] 423// CHECK: annotate-comments.cpp:222:6: FunctionDecl=isdoxy50:{{.*}} BriefComment=[Returns ddd IS_DOXYGEN_END] 424 425// CHECK: annotate-comments.cpp:225:6: FunctionDecl=comment_to_html_conversion_1:{{.*}} FullCommentAsHTML=[<p class="para-brief"> Aaa.</p>] 426// CHECK-NEXT: CommentAST=[ 427// CHECK-NEXT: (CXComment_FullComment 428// CHECK-NEXT: (CXComment_Paragraph 429// CHECK-NEXT: (CXComment_Text Text=[ Aaa.])))] 430// CHECK: annotate-comments.cpp:228:6: FunctionDecl=comment_to_html_conversion_2:{{.*}} FullCommentAsHTML=[<p class="para-brief"> Aaa.</p>] 431// CHECK-NEXT: CommentAST=[ 432// CHECK-NEXT: (CXComment_FullComment 433// CHECK-NEXT: (CXComment_Paragraph IsWhitespace 434// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)) 435// CHECK-NEXT: (CXComment_BlockCommand CommandName=[brief] 436// CHECK-NEXT: (CXComment_Paragraph 437// CHECK-NEXT: (CXComment_Text Text=[ Aaa.]))))] 438// CHECK: annotate-comments.cpp:231:6: FunctionDecl=comment_to_html_conversion_3:{{.*}} FullCommentAsHTML=[<p class="para-brief"> Aaa.</p>] 439// CHECK-NEXT: CommentAST=[ 440// CHECK-NEXT: (CXComment_FullComment 441// CHECK-NEXT: (CXComment_Paragraph IsWhitespace 442// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)) 443// CHECK-NEXT: (CXComment_BlockCommand CommandName=[short] 444// CHECK-NEXT: (CXComment_Paragraph 445// CHECK-NEXT: (CXComment_Text Text=[ Aaa.]))))] 446// CHECK: annotate-comments.cpp:236:6: FunctionDecl=comment_to_html_conversion_4:{{.*}} FullCommentAsHTML=[<p class="para-brief"> Bbb.</p><p> Aaa.</p>] 447// CHECK-NEXT: CommentAST=[ 448// CHECK-NEXT: (CXComment_FullComment 449// CHECK-NEXT: (CXComment_Paragraph 450// CHECK-NEXT: (CXComment_Text Text=[ Aaa.])) 451// CHECK-NEXT: (CXComment_Paragraph IsWhitespace 452// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)) 453// CHECK-NEXT: (CXComment_BlockCommand CommandName=[brief] 454// CHECK-NEXT: (CXComment_Paragraph 455// CHECK-NEXT: (CXComment_Text Text=[ Bbb.]))))] 456// CHECK: annotate-comments.cpp:243:6: FunctionDecl=comment_to_html_conversion_5:{{.*}} FullCommentAsHTML=[<p class="para-brief"> Bbb.</p><p> Aaa.</p><p> Ccc.</p>] 457// CHECK-NEXT: CommentAST=[ 458// CHECK-NEXT: (CXComment_FullComment 459// CHECK-NEXT: (CXComment_Paragraph 460// CHECK-NEXT: (CXComment_Text Text=[ Aaa.])) 461// CHECK-NEXT: (CXComment_Paragraph IsWhitespace 462// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)) 463// CHECK-NEXT: (CXComment_BlockCommand CommandName=[brief] 464// CHECK-NEXT: (CXComment_Paragraph 465// CHECK-NEXT: (CXComment_Text Text=[ Bbb.]))) 466// CHECK-NEXT: (CXComment_Paragraph 467// CHECK-NEXT: (CXComment_Text Text=[ Ccc.])))] 468// CHECK: annotate-comments.cpp:247:6: FunctionDecl=comment_to_html_conversion_6:{{.*}} FullCommentAsHTML=[<p class="para-brief"> Aaa. </p><p class="para-brief"> Bbb.</p>] 469// CHECK-NEXT: CommentAST=[ 470// CHECK-NEXT: (CXComment_FullComment 471// CHECK-NEXT: (CXComment_Paragraph IsWhitespace 472// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)) 473// CHECK-NEXT: (CXComment_BlockCommand CommandName=[brief] 474// CHECK-NEXT: (CXComment_Paragraph 475// CHECK-NEXT: (CXComment_Text Text=[ Aaa.] HasTrailingNewline) 476// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))) 477// CHECK-NEXT: (CXComment_BlockCommand CommandName=[brief] 478// CHECK-NEXT: (CXComment_Paragraph 479// CHECK-NEXT: (CXComment_Text Text=[ Bbb.]))))] 480// CHECK: annotate-comments.cpp:252:6: FunctionDecl=comment_to_html_conversion_7:{{.*}} FullCommentAsHTML=[<p class="para-brief"> Aaa.</p><p class="para-returns"><span class="word-returns">Returns</span> Bbb.</p>] 481// CHECK-NEXT: CommentAST=[ 482// CHECK-NEXT: (CXComment_FullComment 483// CHECK-NEXT: (CXComment_Paragraph 484// CHECK-NEXT: (CXComment_Text Text=[ Aaa.])) 485// CHECK-NEXT: (CXComment_Paragraph IsWhitespace 486// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)) 487// CHECK-NEXT: (CXComment_BlockCommand CommandName=[return] 488// CHECK-NEXT: (CXComment_Paragraph 489// CHECK-NEXT: (CXComment_Text Text=[ Bbb.]))))] 490// CHECK: annotate-comments.cpp:257:6: FunctionDecl=comment_to_html_conversion_8:{{.*}} FullCommentAsHTML=[<p class="para-brief"> Aaa.</p><p class="para-returns"><span class="word-returns">Returns</span> Bbb.</p>] 491// CHECK-NEXT: CommentAST=[ 492// CHECK-NEXT: (CXComment_FullComment 493// CHECK-NEXT: (CXComment_Paragraph 494// CHECK-NEXT: (CXComment_Text Text=[ Aaa.])) 495// CHECK-NEXT: (CXComment_Paragraph IsWhitespace 496// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)) 497// CHECK-NEXT: (CXComment_BlockCommand CommandName=[returns] 498// CHECK-NEXT: (CXComment_Paragraph 499// CHECK-NEXT: (CXComment_Text Text=[ Bbb.]))))] 500// CHECK: annotate-comments.cpp:262:6: FunctionDecl=comment_to_html_conversion_9:{{.*}} FullCommentAsHTML=[<p class="para-brief"> Aaa.</p><p class="para-returns"><span class="word-returns">Returns</span> Bbb.</p>] 501// CHECK-NEXT: CommentAST=[ 502// CHECK-NEXT: (CXComment_FullComment 503// CHECK-NEXT: (CXComment_Paragraph 504// CHECK-NEXT: (CXComment_Text Text=[ Aaa.])) 505// CHECK-NEXT: (CXComment_Paragraph IsWhitespace 506// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)) 507// CHECK-NEXT: (CXComment_BlockCommand CommandName=[result] 508// CHECK-NEXT: (CXComment_Paragraph 509// CHECK-NEXT: (CXComment_Text Text=[ Bbb.]))))] 510// CHECK: annotate-comments.cpp:266:6: FunctionDecl=comment_to_html_conversion_10:{{.*}} FullCommentAsHTML=[<p class="para-returns"><span class="word-returns">Returns</span> Bbb.</p><p class="para-returns"><span class="word-returns">Returns</span> Aaa. </p>] 511// CHECK-NEXT: CommentAST=[ 512// CHECK-NEXT: (CXComment_FullComment 513// CHECK-NEXT: (CXComment_Paragraph IsWhitespace 514// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)) 515// CHECK-NEXT: (CXComment_BlockCommand CommandName=[returns] 516// CHECK-NEXT: (CXComment_Paragraph 517// CHECK-NEXT: (CXComment_Text Text=[ Aaa.] HasTrailingNewline) 518// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))) 519// CHECK-NEXT: (CXComment_BlockCommand CommandName=[returns] 520// CHECK-NEXT: (CXComment_Paragraph 521// CHECK-NEXT: (CXComment_Text Text=[ Bbb.]))))] 522// CHECK: annotate-comments.cpp:273:6: FunctionDecl=comment_to_html_conversion_11:{{.*}} FullCommentAsHTML=[<p class="para-brief"> Aaa.</p><p> Bbb.</p><p class="para-returns"><span class="word-returns">Returns</span> Ccc.</p>] 523// CHECK-NEXT: CommentAST=[ 524// CHECK-NEXT: (CXComment_FullComment 525// CHECK-NEXT: (CXComment_Paragraph 526// CHECK-NEXT: (CXComment_Text Text=[ Aaa.])) 527// CHECK-NEXT: (CXComment_Paragraph 528// CHECK-NEXT: (CXComment_Text Text=[ Bbb.])) 529// CHECK-NEXT: (CXComment_Paragraph IsWhitespace 530// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)) 531// CHECK-NEXT: (CXComment_BlockCommand CommandName=[returns] 532// CHECK-NEXT: (CXComment_Paragraph 533// CHECK-NEXT: (CXComment_Text Text=[ Ccc.]))))] 534// CHECK: annotate-comments.cpp:276:6: FunctionDecl=comment_to_html_conversion_12:{{.*}} FullCommentAsHTML=[] 535// CHECK-NEXT: CommentAST=[ 536// CHECK-NEXT: (CXComment_FullComment 537// CHECK-NEXT: (CXComment_Paragraph IsWhitespace 538// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)) 539// CHECK-NEXT: (CXComment_ParamCommand in implicitly ParamName=[] ParamIndex=Invalid 540// CHECK-NEXT: (CXComment_Paragraph IsWhitespace)))] 541// CHECK: annotate-comments.cpp:279:6: FunctionDecl=comment_to_html_conversion_13:{{.*}} FullCommentAsHTML=[<dl><dt class="param-name-index-0">x1</dt><dd class="param-descr-index-0"> Aaa.</dd></dl>] 542// CHECK-NEXT: CommentAST=[ 543// CHECK-NEXT: (CXComment_FullComment 544// CHECK-NEXT: (CXComment_Paragraph IsWhitespace 545// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)) 546// CHECK-NEXT: (CXComment_ParamCommand in implicitly ParamName=[x1] ParamIndex=0 547// CHECK-NEXT: (CXComment_Paragraph 548// CHECK-NEXT: (CXComment_Text Text=[ Aaa.]))))] 549// CHECK: annotate-comments.cpp:282:6: FunctionDecl=comment_to_html_conversion_14:{{.*}} FullCommentAsHTML=[<dl><dt class="param-name-index-invalid">zzz</dt><dd class="param-descr-index-invalid"> Aaa.</dd></dl>] 550// CHECK-NEXT: CommentAST=[ 551// CHECK-NEXT: (CXComment_FullComment 552// CHECK-NEXT: (CXComment_Paragraph IsWhitespace 553// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)) 554// CHECK-NEXT: (CXComment_ParamCommand in implicitly ParamName=[zzz] ParamIndex=Invalid 555// CHECK-NEXT: (CXComment_Paragraph 556// CHECK-NEXT: (CXComment_Text Text=[ Aaa.]))))] 557// CHECK: annotate-comments.cpp:286:6: FunctionDecl=comment_to_html_conversion_15:{{.*}} FullCommentAsHTML=[<dl><dt class="param-name-index-0">x1</dt><dd class="param-descr-index-0"> Aaa.</dd><dt class="param-name-index-1">x2</dt><dd class="param-descr-index-1"> Bbb. </dd></dl>] 558// CHECK-NEXT: CommentAST=[ 559// CHECK-NEXT: (CXComment_FullComment 560// CHECK-NEXT: (CXComment_Paragraph IsWhitespace 561// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)) 562// CHECK-NEXT: (CXComment_ParamCommand in implicitly ParamName=[x2] ParamIndex=1 563// CHECK-NEXT: (CXComment_Paragraph 564// CHECK-NEXT: (CXComment_Text Text=[ Bbb.] HasTrailingNewline) 565// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))) 566// CHECK-NEXT: (CXComment_ParamCommand in implicitly ParamName=[x1] ParamIndex=0 567// CHECK-NEXT: (CXComment_Paragraph 568// CHECK-NEXT: (CXComment_Text Text=[ Aaa.]))))] 569// CHECK: annotate-comments.cpp:291:6: FunctionDecl=comment_to_html_conversion_16:{{.*}} FullCommentAsHTML=[<dl><dt class="param-name-index-0">x1</dt><dd class="param-descr-index-0"> Aaa.</dd><dt class="param-name-index-1">x2</dt><dd class="param-descr-index-1"> Bbb. </dd><dt class="param-name-index-invalid">zzz</dt><dd class="param-descr-index-invalid"> Aaa. </dd></dl>] 570// CHECK-NEXT: CommentAST=[ 571// CHECK-NEXT: (CXComment_FullComment 572// CHECK-NEXT: (CXComment_Paragraph IsWhitespace 573// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)) 574// CHECK-NEXT: (CXComment_ParamCommand in implicitly ParamName=[x2] ParamIndex=1 575// CHECK-NEXT: (CXComment_Paragraph 576// CHECK-NEXT: (CXComment_Text Text=[ Bbb.] HasTrailingNewline) 577// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))) 578// CHECK-NEXT: (CXComment_ParamCommand in implicitly ParamName=[zzz] ParamIndex=Invalid 579// CHECK-NEXT: (CXComment_Paragraph 580// CHECK-NEXT: (CXComment_Text Text=[ Aaa.] HasTrailingNewline) 581// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))) 582// CHECK-NEXT: (CXComment_ParamCommand in implicitly ParamName=[x1] ParamIndex=0 583// CHECK-NEXT: (CXComment_Paragraph 584// CHECK-NEXT: (CXComment_Text Text=[ Aaa.]))))] 585// CHECK: annotate-comments.cpp:296:6: FunctionTemplate=comment_to_html_conversion_17:{{.*}} FullCommentAsHTML=[<dl><dt class="param-name-index-0">aaa</dt><dd class="param-descr-index-0"> Blah blah</dd></dl>] 586// CHECK-NEXT: CommentAST=[ 587// CHECK-NEXT: (CXComment_FullComment 588// CHECK-NEXT: (CXComment_Paragraph IsWhitespace 589// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)) 590// CHECK-NEXT: (CXComment_TParamCommand ParamName=[] ParamPosition=Invalid 591// CHECK-NEXT: (CXComment_Paragraph IsWhitespace 592// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))) 593// CHECK-NEXT: (CXComment_ParamCommand in implicitly ParamName=[aaa] ParamIndex=0 594// CHECK-NEXT: (CXComment_Paragraph 595// CHECK-NEXT: (CXComment_Text Text=[ Blah blah]))))] 596// CHECK: annotate-comments.cpp:301:6: FunctionTemplate=comment_to_html_conversion_18:{{.*}} FullCommentAsHTML=[<dl><dt class="taram-name-index-0">T1</dt><dd class="tparam-descr-index-0"> Aaa</dd><dt class="taram-name-index-1">T2</dt><dd class="tparam-descr-index-1"> Bbb </dd></dl>] 597// CHECK-NEXT: CommentAST=[ 598// CHECK-NEXT: (CXComment_FullComment 599// CHECK-NEXT: (CXComment_Paragraph IsWhitespace 600// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)) 601// CHECK-NEXT: (CXComment_TParamCommand ParamName=[T2] ParamPosition={1} 602// CHECK-NEXT: (CXComment_Paragraph 603// CHECK-NEXT: (CXComment_Text Text=[ Bbb] HasTrailingNewline) 604// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))) 605// CHECK-NEXT: (CXComment_TParamCommand ParamName=[T1] ParamPosition={0} 606// CHECK-NEXT: (CXComment_Paragraph 607// CHECK-NEXT: (CXComment_Text Text=[ Aaa]))))] 608// CHECK: annotate-comments.cpp:308:6: FunctionTemplate=comment_to_html_conversion_19:{{.*}} FullCommentAsHTML=[<dl><dt class="taram-name-index-0">T1</dt><dd class="tparam-descr-index-0"> Aaa</dd><dt class="taram-name-index-1">T2</dt><dd class="tparam-descr-index-1"> Bbb </dd><dt class="taram-name-index-2">V</dt><dd class="tparam-descr-index-2"> Ccc </dd><dt class="tparam-name-index-invalid">U</dt><dd class="tparam-descr-index-invalid"> Zzz </dd></dl>] 609// CHECK-NEXT: CommentAST=[ 610// CHECK-NEXT: (CXComment_FullComment 611// CHECK-NEXT: (CXComment_Paragraph IsWhitespace 612// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)) 613// CHECK-NEXT: (CXComment_TParamCommand ParamName=[T2] ParamPosition={1} 614// CHECK-NEXT: (CXComment_Paragraph 615// CHECK-NEXT: (CXComment_Text Text=[ Bbb] HasTrailingNewline) 616// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))) 617// CHECK-NEXT: (CXComment_TParamCommand ParamName=[U] ParamPosition=Invalid 618// CHECK-NEXT: (CXComment_Paragraph 619// CHECK-NEXT: (CXComment_Text Text=[ Zzz] HasTrailingNewline) 620// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))) 621// CHECK-NEXT: (CXComment_TParamCommand ParamName=[V] ParamPosition={2} 622// CHECK-NEXT: (CXComment_Paragraph 623// CHECK-NEXT: (CXComment_Text Text=[ Ccc] HasTrailingNewline) 624// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))) 625// CHECK-NEXT: (CXComment_TParamCommand ParamName=[T1] ParamPosition={0} 626// CHECK-NEXT: (CXComment_Paragraph 627// CHECK-NEXT: (CXComment_Text Text=[ Aaa]))))] 628// CHECK: annotate-comments.cpp:315:6: FunctionTemplate=comment_to_html_conversion_20:{{.*}} FullCommentAsHTML=[<dl><dt class="taram-name-index-0">TTT</dt><dd class="tparam-descr-index-0"> Ddd </dd><dt class="taram-name-index-other">C</dt><dd class="tparam-descr-index-other"> Ccc </dd><dt class="taram-name-index-other">T</dt><dd class="tparam-descr-index-other"> Aaa </dd><dt class="taram-name-index-other">TT</dt><dd class="tparam-descr-index-other"> Bbb</dd></dl>] 629// CHECK-NEXT: CommentAST=[ 630// CHECK-NEXT: (CXComment_FullComment 631// CHECK-NEXT: (CXComment_Paragraph IsWhitespace 632// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)) 633// CHECK-NEXT: (CXComment_TParamCommand ParamName=[TTT] ParamPosition={0} 634// CHECK-NEXT: (CXComment_Paragraph 635// CHECK-NEXT: (CXComment_Text Text=[ Ddd] HasTrailingNewline) 636// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))) 637// CHECK-NEXT: (CXComment_TParamCommand ParamName=[C] ParamPosition={0, 1} 638// CHECK-NEXT: (CXComment_Paragraph 639// CHECK-NEXT: (CXComment_Text Text=[ Ccc] HasTrailingNewline) 640// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))) 641// CHECK-NEXT: (CXComment_TParamCommand ParamName=[T] ParamPosition={0, 0, 0} 642// CHECK-NEXT: (CXComment_Paragraph 643// CHECK-NEXT: (CXComment_Text Text=[ Aaa] HasTrailingNewline) 644// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))) 645// CHECK-NEXT: (CXComment_TParamCommand ParamName=[TT] ParamPosition={0, 0} 646// CHECK-NEXT: (CXComment_Paragraph 647// CHECK-NEXT: (CXComment_Text Text=[ Bbb]))))] 648// CHECK: annotate-comments.cpp:324:6: FunctionDecl=comment_to_html_conversion_21:{{.*}} FullCommentAsHTML=[<p class="para-brief"> Aaa.</p><p> Bbb.</p><dl><dt class="param-name-index-0">x1</dt><dd class="param-descr-index-0"> Ccc. </dd><dt class="param-name-index-1">x2</dt><dd class="param-descr-index-1"> Ddd. </dd></dl><p class="para-returns"><span class="word-returns">Returns</span> Eee.</p>] 649// CHECK-NEXT: CommentAST=[ 650// CHECK-NEXT: (CXComment_FullComment 651// CHECK-NEXT: (CXComment_Paragraph IsWhitespace 652// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)) 653// CHECK-NEXT: (CXComment_BlockCommand CommandName=[brief] 654// CHECK-NEXT: (CXComment_Paragraph 655// CHECK-NEXT: (CXComment_Text Text=[ Aaa.]))) 656// CHECK-NEXT: (CXComment_Paragraph 657// CHECK-NEXT: (CXComment_Text Text=[ Bbb.])) 658// CHECK-NEXT: (CXComment_Paragraph IsWhitespace 659// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)) 660// CHECK-NEXT: (CXComment_ParamCommand in implicitly ParamName=[x2] ParamIndex=1 661// CHECK-NEXT: (CXComment_Paragraph 662// CHECK-NEXT: (CXComment_Text Text=[ Ddd.] HasTrailingNewline) 663// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))) 664// CHECK-NEXT: (CXComment_ParamCommand in implicitly ParamName=[x1] ParamIndex=0 665// CHECK-NEXT: (CXComment_Paragraph 666// CHECK-NEXT: (CXComment_Text Text=[ Ccc.] HasTrailingNewline) 667// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace))) 668// CHECK-NEXT: (CXComment_BlockCommand CommandName=[returns] 669// CHECK-NEXT: (CXComment_Paragraph 670// CHECK-NEXT: (CXComment_Text Text=[ Eee.]))))] 671// CHECK: annotate-comments.cpp:327:6: FunctionDecl=comment_to_html_conversion_22:{{.*}} FullCommentAsHTML=[<p class="para-brief"> <br><a href="http://example.com/">Aaa</a></p>] 672// CHECK-NEXT: CommentAST=[ 673// CHECK-NEXT: (CXComment_FullComment 674// CHECK-NEXT: (CXComment_Paragraph 675// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace) 676// CHECK-NEXT: (CXComment_HTMLStartTag Name=[br]) 677// CHECK-NEXT: (CXComment_HTMLStartTag Name=[a] Attrs: href=http://example.com/) 678// CHECK-NEXT: (CXComment_Text Text=[Aaa]) 679// CHECK-NEXT: (CXComment_HTMLEndTag Name=[a])))] 680// CHECK: annotate-comments.cpp:333:6: FunctionDecl=comment_to_html_conversion_23:{{.*}} FullCommentAsHTML=[<pre> <a href="http://example.com/">Aaa</a>\n <a href='http://example.com/'>Aaa</a></pre>] 681// CHECK-NEXT: CommentAST=[ 682// CHECK-NEXT: (CXComment_FullComment 683// CHECK-NEXT: (CXComment_Paragraph IsWhitespace 684// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)) 685// CHECK-NEXT: (CXComment_VerbatimBlockCommand CommandName=[verbatim] 686// CHECK-NEXT: (CXComment_VerbatimBlockLine Text=[ <a href="http://example.com/">Aaa</a>]) 687// CHECK-NEXT: (CXComment_VerbatimBlockLine Text=[ <a href='http://example.com/'>Aaa</a>])))] 688// CHECK: annotate-comments.cpp:336:6: FunctionDecl=comment_to_html_conversion_24:{{.*}} FullCommentAsHTML=[<p class="para-brief"> <b>Aaa</b></p>] 689// CHECK-NEXT: CommentAST=[ 690// CHECK-NEXT: (CXComment_FullComment 691// CHECK-NEXT: (CXComment_Paragraph 692// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace) 693// CHECK-NEXT: (CXComment_InlineCommand CommandName=[b] RenderBold Arg[0]=Aaa)))] 694// CHECK: annotate-comments.cpp:339:6: FunctionDecl=comment_to_html_conversion_25:{{.*}} FullCommentAsHTML=[<p class="para-brief"> <tt>Aaa</tt> <tt>Bbb</tt></p>] 695// CHECK-NEXT: CommentAST=[ 696// CHECK-NEXT: (CXComment_FullComment 697// CHECK-NEXT: (CXComment_Paragraph 698// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace) 699// CHECK-NEXT: (CXComment_InlineCommand CommandName=[c] RenderMonospaced Arg[0]=Aaa) 700// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace) 701// CHECK-NEXT: (CXComment_InlineCommand CommandName=[p] RenderMonospaced Arg[0]=Bbb)))] 702// CHECK: annotate-comments.cpp:342:6: FunctionDecl=comment_to_html_conversion_26:{{.*}} FullCommentAsHTML=[<p class="para-brief"> <em>Aaa</em> <em>Bbb</em> <em>Ccc</em></p>] 703// CHECK-NEXT: CommentAST=[ 704// CHECK-NEXT: (CXComment_FullComment 705// CHECK-NEXT: (CXComment_Paragraph 706// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace) 707// CHECK-NEXT: (CXComment_InlineCommand CommandName=[a] RenderEmphasized Arg[0]=Aaa) 708// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace) 709// CHECK-NEXT: (CXComment_InlineCommand CommandName=[e] RenderEmphasized Arg[0]=Bbb) 710// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace) 711// CHECK-NEXT: (CXComment_InlineCommand CommandName=[em] RenderEmphasized Arg[0]=Ccc)))] 712// CHECK: annotate-comments.cpp:345:6: FunctionDecl=comment_to_html_conversion_27:{{.*}} FullCommentAsHTML=[<p class="para-brief"> <em>1<2</em> <em>3<4</em> <em>5<6</em> </p><dl><dt class="tparam-name-index-invalid">9<10</dt><dd class="tparam-descr-index-invalid"> bbb</dd></dl><dl><dt class="param-name-index-invalid">7<8</dt><dd class="param-descr-index-invalid"> aaa </dd></dl>] 713// CHECK-NEXT: CommentAST=[ 714// CHECK-NEXT: (CXComment_FullComment 715// CHECK-NEXT: (CXComment_Paragraph 716// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace) 717// CHECK-NEXT: (CXComment_InlineCommand CommandName=[a] RenderEmphasized Arg[0]=1<2) 718// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace) 719// CHECK-NEXT: (CXComment_InlineCommand CommandName=[e] RenderEmphasized Arg[0]=3<4) 720// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace) 721// CHECK-NEXT: (CXComment_InlineCommand CommandName=[em] RenderEmphasized Arg[0]=5<6) 722// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace)) 723// CHECK-NEXT: (CXComment_ParamCommand in implicitly ParamName=[7<8] ParamIndex=Invalid 724// CHECK-NEXT: (CXComment_Paragraph 725// CHECK-NEXT: (CXComment_Text Text=[ aaa ]))) 726// CHECK-NEXT: (CXComment_TParamCommand ParamName=[9<10] ParamPosition=Invalid 727// CHECK-NEXT: (CXComment_Paragraph 728// CHECK-NEXT: (CXComment_Text Text=[ bbb]))))] 729// CHECK: annotate-comments.cpp:348:6: FunctionDecl=comment_to_html_conversion_28:{{.*}} FullCommentAsHTML=[<p class="para-brief"> \ @ & $ # < > % " . ::</p>] 730// CHECK-NEXT: CommentAST=[ 731// CHECK-NEXT: (CXComment_FullComment 732// CHECK-NEXT: (CXComment_Paragraph 733// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace) 734// CHECK-NEXT: (CXComment_Text Text=[\]) 735// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace) 736// CHECK-NEXT: (CXComment_Text Text=[@]) 737// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace) 738// CHECK-NEXT: (CXComment_Text Text=[&]) 739// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace) 740// CHECK-NEXT: (CXComment_Text Text=[$]) 741// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace) 742// CHECK-NEXT: (CXComment_Text Text=[#]) 743// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace) 744// CHECK-NEXT: (CXComment_Text Text=[<]) 745// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace) 746// CHECK-NEXT: (CXComment_Text Text=[>]) 747// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace) 748// CHECK-NEXT: (CXComment_Text Text=[%]) 749// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace) 750// CHECK-NEXT: (CXComment_Text Text=["]) 751// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace) 752// CHECK-NEXT: (CXComment_Text Text=[.]) 753// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace) 754// CHECK-NEXT: (CXComment_Text Text=[::])))] 755// CHECK: annotate-comments.cpp:351:6: FunctionDecl=comment_to_html_conversion_29:{{.*}} FullCommentAsHTML=[<p class="para-brief"> & < > "</p>] 756// CHECK-NEXT: CommentAST=[ 757// CHECK-NEXT: (CXComment_FullComment 758// CHECK-NEXT: (CXComment_Paragraph 759// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace) 760// CHECK-NEXT: (CXComment_Text Text=[&]) 761// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace) 762// CHECK-NEXT: (CXComment_Text Text=[<]) 763// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace) 764// CHECK-NEXT: (CXComment_Text Text=[>]) 765// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace) 766// CHECK-NEXT: (CXComment_Text Text=["])))] 767// CHECK: annotate-comments.cpp:354:6: FunctionDecl=comment_to_html_conversion_30:{{.*}} FullCommentAsHTML=[<p class="para-brief"> <em>0<i</em></p>] 768// CHECK-NEXT: CommentAST=[ 769// CHECK-NEXT: (CXComment_FullComment 770// CHECK-NEXT: (CXComment_Paragraph 771// CHECK-NEXT: (CXComment_Text Text=[ ] IsWhitespace) 772// CHECK-NEXT: (CXComment_HTMLStartTag Name=[em]) 773// CHECK-NEXT: (CXComment_Text Text=[0]) 774// CHECK-NEXT: (CXComment_Text Text=[<]) 775// CHECK-NEXT: (CXComment_Text Text=[i]) 776// CHECK-NEXT: (CXComment_HTMLEndTag Name=[em])))] 777 778