1 // RUN: %clang_cc1 -Wdocumentation -ast-dump=json %s | FileCheck %s
2 
3 /// Aaa
4 int TestLocation;
5 
6 ///
7 int TestIndent;
8 
9 /// Aaa
10 int Test_TextComment;
11 
12 /// \brief Aaa
13 int Test_BlockCommandComment;
14 
15 /// \param Aaa xxx
16 /// \param [in,out] Bbb yyy
17 void Test_ParamCommandComment(int Aaa, int Bbb);
18 
19 /// \tparam Aaa xxx
20 template <typename Aaa> class Test_TParamCommandComment;
21 
22 /// \c Aaa
23 int Test_InlineCommandComment;
24 
25 /// <a>Aaa</a>
26 /// <br/>
27 int Test_HTMLTagComment;
28 
29 /// \verbatim
30 /// Aaa
31 /// \endverbatim
32 int Test_VerbatimBlockComment;
33 
34 /// \param ... More arguments
35 template<typename T>
36 void Test_TemplatedFunctionVariadic(int arg, ...);
37 
38 
39 // CHECK:  "kind": "FullComment",
40 // CHECK-NEXT:  "loc": {
41 // CHECK-NEXT:   "col": 4,
42 // CHECK-NEXT:   "file": "{{.*}}",
43 // CHECK-NEXT:   "line": 3
44 // CHECK-NEXT:  },
45 // CHECK-NEXT:  "range": {
46 // CHECK-NEXT:   "begin": {
47 // CHECK-NEXT:    "col": 4,
48 // CHECK-NEXT:    "file": "{{.*}}",
49 // CHECK-NEXT:    "line": 3
50 // CHECK-NEXT:   },
51 // CHECK-NEXT:   "end": {
52 // CHECK-NEXT:    "col": 7,
53 // CHECK-NEXT:    "file": "{{.*}}",
54 // CHECK-NEXT:    "line": 3
55 // CHECK-NEXT:   }
56 // CHECK-NEXT:  },
57 // CHECK-NEXT:  "inner": [
58 // CHECK-NEXT:   {
59 // CHECK-NEXT:    "id": "0x{{.*}}",
60 // CHECK-NEXT:    "kind": "ParagraphComment",
61 // CHECK-NEXT:    "loc": {
62 // CHECK-NEXT:     "col": 4,
63 // CHECK-NEXT:     "file": "{{.*}}",
64 // CHECK-NEXT:     "line": 3
65 // CHECK-NEXT:    },
66 // CHECK-NEXT:    "range": {
67 // CHECK-NEXT:     "begin": {
68 // CHECK-NEXT:      "col": 4,
69 // CHECK-NEXT:      "file": "{{.*}}",
70 // CHECK-NEXT:      "line": 3
71 // CHECK-NEXT:     },
72 // CHECK-NEXT:     "end": {
73 // CHECK-NEXT:      "col": 7,
74 // CHECK-NEXT:      "file": "{{.*}}",
75 // CHECK-NEXT:      "line": 3
76 // CHECK-NEXT:     }
77 // CHECK-NEXT:    },
78 // CHECK-NEXT:    "inner": [
79 // CHECK-NEXT:     {
80 // CHECK-NEXT:      "id": "0x{{.*}}",
81 // CHECK-NEXT:      "kind": "TextComment",
82 // CHECK-NEXT:      "loc": {
83 // CHECK-NEXT:       "col": 4,
84 // CHECK-NEXT:       "file": "{{.*}}",
85 // CHECK-NEXT:       "line": 3
86 // CHECK-NEXT:      },
87 // CHECK-NEXT:      "range": {
88 // CHECK-NEXT:       "begin": {
89 // CHECK-NEXT:        "col": 4,
90 // CHECK-NEXT:        "file": "{{.*}}",
91 // CHECK-NEXT:        "line": 3
92 // CHECK-NEXT:       },
93 // CHECK-NEXT:       "end": {
94 // CHECK-NEXT:        "col": 7,
95 // CHECK-NEXT:        "file": "{{.*}}",
96 // CHECK-NEXT:        "line": 3
97 // CHECK-NEXT:       }
98 // CHECK-NEXT:      },
99 // CHECK-NEXT:      "text": " Aaa"
100 // CHECK-NEXT:     }
101 // CHECK-NEXT:    ]
102 // CHECK-NEXT:   }
103 // CHECK-NEXT:  ]
104 // CHECK-NEXT: }
105 
106 
107 // CHECK:  "kind": "FullComment",
108 // CHECK-NEXT:  "loc": {},
109 // CHECK-NEXT:  "range": {
110 // CHECK-NEXT:   "begin": {},
111 // CHECK-NEXT:   "end": {}
112 // CHECK-NEXT:  }
113 // CHECK-NEXT: }
114 
115 
116 // CHECK:  "kind": "FullComment",
117 // CHECK-NEXT:  "loc": {
118 // CHECK-NEXT:   "col": 4,
119 // CHECK-NEXT:   "file": "{{.*}}",
120 // CHECK-NEXT:   "line": 9
121 // CHECK-NEXT:  },
122 // CHECK-NEXT:  "range": {
123 // CHECK-NEXT:   "begin": {
124 // CHECK-NEXT:    "col": 4,
125 // CHECK-NEXT:    "file": "{{.*}}",
126 // CHECK-NEXT:    "line": 9
127 // CHECK-NEXT:   },
128 // CHECK-NEXT:   "end": {
129 // CHECK-NEXT:    "col": 7,
130 // CHECK-NEXT:    "file": "{{.*}}",
131 // CHECK-NEXT:    "line": 9
132 // CHECK-NEXT:   }
133 // CHECK-NEXT:  },
134 // CHECK-NEXT:  "inner": [
135 // CHECK-NEXT:   {
136 // CHECK-NEXT:    "id": "0x{{.*}}",
137 // CHECK-NEXT:    "kind": "ParagraphComment",
138 // CHECK-NEXT:    "loc": {
139 // CHECK-NEXT:     "col": 4,
140 // CHECK-NEXT:     "file": "{{.*}}",
141 // CHECK-NEXT:     "line": 9
142 // CHECK-NEXT:    },
143 // CHECK-NEXT:    "range": {
144 // CHECK-NEXT:     "begin": {
145 // CHECK-NEXT:      "col": 4,
146 // CHECK-NEXT:      "file": "{{.*}}",
147 // CHECK-NEXT:      "line": 9
148 // CHECK-NEXT:     },
149 // CHECK-NEXT:     "end": {
150 // CHECK-NEXT:      "col": 7,
151 // CHECK-NEXT:      "file": "{{.*}}",
152 // CHECK-NEXT:      "line": 9
153 // CHECK-NEXT:     }
154 // CHECK-NEXT:    },
155 // CHECK-NEXT:    "inner": [
156 // CHECK-NEXT:     {
157 // CHECK-NEXT:      "id": "0x{{.*}}",
158 // CHECK-NEXT:      "kind": "TextComment",
159 // CHECK-NEXT:      "loc": {
160 // CHECK-NEXT:       "col": 4,
161 // CHECK-NEXT:       "file": "{{.*}}",
162 // CHECK-NEXT:       "line": 9
163 // CHECK-NEXT:      },
164 // CHECK-NEXT:      "range": {
165 // CHECK-NEXT:       "begin": {
166 // CHECK-NEXT:        "col": 4,
167 // CHECK-NEXT:        "file": "{{.*}}",
168 // CHECK-NEXT:        "line": 9
169 // CHECK-NEXT:       },
170 // CHECK-NEXT:       "end": {
171 // CHECK-NEXT:        "col": 7,
172 // CHECK-NEXT:        "file": "{{.*}}",
173 // CHECK-NEXT:        "line": 9
174 // CHECK-NEXT:       }
175 // CHECK-NEXT:      },
176 // CHECK-NEXT:      "text": " Aaa"
177 // CHECK-NEXT:     }
178 // CHECK-NEXT:    ]
179 // CHECK-NEXT:   }
180 // CHECK-NEXT:  ]
181 // CHECK-NEXT: }
182 
183 
184 // CHECK:  "kind": "FullComment",
185 // CHECK-NEXT:  "loc": {
186 // CHECK-NEXT:   "col": 4,
187 // CHECK-NEXT:   "file": "{{.*}}",
188 // CHECK-NEXT:   "line": 12
189 // CHECK-NEXT:  },
190 // CHECK-NEXT:  "range": {
191 // CHECK-NEXT:   "begin": {
192 // CHECK-NEXT:    "col": 4,
193 // CHECK-NEXT:    "file": "{{.*}}",
194 // CHECK-NEXT:    "line": 12
195 // CHECK-NEXT:   },
196 // CHECK-NEXT:   "end": {
197 // CHECK-NEXT:    "col": 14,
198 // CHECK-NEXT:    "file": "{{.*}}",
199 // CHECK-NEXT:    "line": 12
200 // CHECK-NEXT:   }
201 // CHECK-NEXT:  },
202 // CHECK-NEXT:  "inner": [
203 // CHECK-NEXT:   {
204 // CHECK-NEXT:    "id": "0x{{.*}}",
205 // CHECK-NEXT:    "kind": "ParagraphComment",
206 // CHECK-NEXT:    "loc": {
207 // CHECK-NEXT:     "col": 4,
208 // CHECK-NEXT:     "file": "{{.*}}",
209 // CHECK-NEXT:     "line": 12
210 // CHECK-NEXT:    },
211 // CHECK-NEXT:    "range": {
212 // CHECK-NEXT:     "begin": {
213 // CHECK-NEXT:      "col": 4,
214 // CHECK-NEXT:      "file": "{{.*}}",
215 // CHECK-NEXT:      "line": 12
216 // CHECK-NEXT:     },
217 // CHECK-NEXT:     "end": {
218 // CHECK-NEXT:      "col": 4,
219 // CHECK-NEXT:      "file": "{{.*}}",
220 // CHECK-NEXT:      "line": 12
221 // CHECK-NEXT:     }
222 // CHECK-NEXT:    },
223 // CHECK-NEXT:    "inner": [
224 // CHECK-NEXT:     {
225 // CHECK-NEXT:      "id": "0x{{.*}}",
226 // CHECK-NEXT:      "kind": "TextComment",
227 // CHECK-NEXT:      "loc": {
228 // CHECK-NEXT:       "col": 4,
229 // CHECK-NEXT:       "file": "{{.*}}",
230 // CHECK-NEXT:       "line": 12
231 // CHECK-NEXT:      },
232 // CHECK-NEXT:      "range": {
233 // CHECK-NEXT:       "begin": {
234 // CHECK-NEXT:        "col": 4,
235 // CHECK-NEXT:        "file": "{{.*}}",
236 // CHECK-NEXT:        "line": 12
237 // CHECK-NEXT:       },
238 // CHECK-NEXT:       "end": {
239 // CHECK-NEXT:        "col": 4,
240 // CHECK-NEXT:        "file": "{{.*}}",
241 // CHECK-NEXT:        "line": 12
242 // CHECK-NEXT:       }
243 // CHECK-NEXT:      },
244 // CHECK-NEXT:      "text": " "
245 // CHECK-NEXT:     }
246 // CHECK-NEXT:    ]
247 // CHECK-NEXT:   },
248 // CHECK-NEXT:   {
249 // CHECK-NEXT:    "id": "0x{{.*}}",
250 // CHECK-NEXT:    "kind": "BlockCommandComment",
251 // CHECK-NEXT:    "loc": {
252 // CHECK-NEXT:     "col": 6,
253 // CHECK-NEXT:     "file": "{{.*}}",
254 // CHECK-NEXT:     "line": 12
255 // CHECK-NEXT:    },
256 // CHECK-NEXT:    "range": {
257 // CHECK-NEXT:     "begin": {
258 // CHECK-NEXT:      "col": 5,
259 // CHECK-NEXT:      "file": "{{.*}}",
260 // CHECK-NEXT:      "line": 12
261 // CHECK-NEXT:     },
262 // CHECK-NEXT:     "end": {
263 // CHECK-NEXT:      "col": 14,
264 // CHECK-NEXT:      "file": "{{.*}}",
265 // CHECK-NEXT:      "line": 12
266 // CHECK-NEXT:     }
267 // CHECK-NEXT:    },
268 // CHECK-NEXT:    "name": "brief",
269 // CHECK-NEXT:    "inner": [
270 // CHECK-NEXT:     {
271 // CHECK-NEXT:      "id": "0x{{.*}}",
272 // CHECK-NEXT:      "kind": "ParagraphComment",
273 // CHECK-NEXT:      "loc": {
274 // CHECK-NEXT:       "col": 11,
275 // CHECK-NEXT:       "file": "{{.*}}",
276 // CHECK-NEXT:       "line": 12
277 // CHECK-NEXT:      },
278 // CHECK-NEXT:      "range": {
279 // CHECK-NEXT:       "begin": {
280 // CHECK-NEXT:        "col": 11,
281 // CHECK-NEXT:        "file": "{{.*}}",
282 // CHECK-NEXT:        "line": 12
283 // CHECK-NEXT:       },
284 // CHECK-NEXT:       "end": {
285 // CHECK-NEXT:        "col": 14,
286 // CHECK-NEXT:        "file": "{{.*}}",
287 // CHECK-NEXT:        "line": 12
288 // CHECK-NEXT:       }
289 // CHECK-NEXT:      },
290 // CHECK-NEXT:      "inner": [
291 // CHECK-NEXT:       {
292 // CHECK-NEXT:        "id": "0x{{.*}}",
293 // CHECK-NEXT:        "kind": "TextComment",
294 // CHECK-NEXT:        "loc": {
295 // CHECK-NEXT:         "col": 11,
296 // CHECK-NEXT:         "file": "{{.*}}",
297 // CHECK-NEXT:         "line": 12
298 // CHECK-NEXT:        },
299 // CHECK-NEXT:        "range": {
300 // CHECK-NEXT:         "begin": {
301 // CHECK-NEXT:          "col": 11,
302 // CHECK-NEXT:          "file": "{{.*}}",
303 // CHECK-NEXT:          "line": 12
304 // CHECK-NEXT:         },
305 // CHECK-NEXT:         "end": {
306 // CHECK-NEXT:          "col": 14,
307 // CHECK-NEXT:          "file": "{{.*}}",
308 // CHECK-NEXT:          "line": 12
309 // CHECK-NEXT:         }
310 // CHECK-NEXT:        },
311 // CHECK-NEXT:        "text": " Aaa"
312 // CHECK-NEXT:       }
313 // CHECK-NEXT:      ]
314 // CHECK-NEXT:     }
315 // CHECK-NEXT:    ]
316 // CHECK-NEXT:   }
317 // CHECK-NEXT:  ]
318 // CHECK-NEXT: }
319 
320 
321 // CHECK:  "kind": "FullComment",
322 // CHECK-NEXT:  "loc": {
323 // CHECK-NEXT:   "col": 4,
324 // CHECK-NEXT:   "file": "{{.*}}",
325 // CHECK-NEXT:   "line": 15
326 // CHECK-NEXT:  },
327 // CHECK-NEXT:  "range": {
328 // CHECK-NEXT:   "begin": {
329 // CHECK-NEXT:    "col": 4,
330 // CHECK-NEXT:    "file": "{{.*}}",
331 // CHECK-NEXT:    "line": 15
332 // CHECK-NEXT:   },
333 // CHECK-NEXT:   "end": {
334 // CHECK-NEXT:    "col": 27,
335 // CHECK-NEXT:    "file": "{{.*}}",
336 // CHECK-NEXT:    "line": 16
337 // CHECK-NEXT:   }
338 // CHECK-NEXT:  },
339 // CHECK-NEXT:  "inner": [
340 // CHECK-NEXT:   {
341 // CHECK-NEXT:    "id": "0x{{.*}}",
342 // CHECK-NEXT:    "kind": "ParagraphComment",
343 // CHECK-NEXT:    "loc": {
344 // CHECK-NEXT:     "col": 4,
345 // CHECK-NEXT:     "file": "{{.*}}",
346 // CHECK-NEXT:     "line": 15
347 // CHECK-NEXT:    },
348 // CHECK-NEXT:    "range": {
349 // CHECK-NEXT:     "begin": {
350 // CHECK-NEXT:      "col": 4,
351 // CHECK-NEXT:      "file": "{{.*}}",
352 // CHECK-NEXT:      "line": 15
353 // CHECK-NEXT:     },
354 // CHECK-NEXT:     "end": {
355 // CHECK-NEXT:      "col": 4,
356 // CHECK-NEXT:      "file": "{{.*}}",
357 // CHECK-NEXT:      "line": 15
358 // CHECK-NEXT:     }
359 // CHECK-NEXT:    },
360 // CHECK-NEXT:    "inner": [
361 // CHECK-NEXT:     {
362 // CHECK-NEXT:      "id": "0x{{.*}}",
363 // CHECK-NEXT:      "kind": "TextComment",
364 // CHECK-NEXT:      "loc": {
365 // CHECK-NEXT:       "col": 4,
366 // CHECK-NEXT:       "file": "{{.*}}",
367 // CHECK-NEXT:       "line": 15
368 // CHECK-NEXT:      },
369 // CHECK-NEXT:      "range": {
370 // CHECK-NEXT:       "begin": {
371 // CHECK-NEXT:        "col": 4,
372 // CHECK-NEXT:        "file": "{{.*}}",
373 // CHECK-NEXT:        "line": 15
374 // CHECK-NEXT:       },
375 // CHECK-NEXT:       "end": {
376 // CHECK-NEXT:        "col": 4,
377 // CHECK-NEXT:        "file": "{{.*}}",
378 // CHECK-NEXT:        "line": 15
379 // CHECK-NEXT:       }
380 // CHECK-NEXT:      },
381 // CHECK-NEXT:      "text": " "
382 // CHECK-NEXT:     }
383 // CHECK-NEXT:    ]
384 // CHECK-NEXT:   },
385 // CHECK-NEXT:   {
386 // CHECK-NEXT:    "id": "0x{{.*}}",
387 // CHECK-NEXT:    "kind": "ParamCommandComment",
388 // CHECK-NEXT:    "loc": {
389 // CHECK-NEXT:     "col": 6,
390 // CHECK-NEXT:     "file": "{{.*}}",
391 // CHECK-NEXT:     "line": 15
392 // CHECK-NEXT:    },
393 // CHECK-NEXT:    "range": {
394 // CHECK-NEXT:     "begin": {
395 // CHECK-NEXT:      "col": 5,
396 // CHECK-NEXT:      "file": "{{.*}}",
397 // CHECK-NEXT:      "line": 15
398 // CHECK-NEXT:     },
399 // CHECK-NEXT:     "end": {
400 // CHECK-NEXT:      "col": 4,
401 // CHECK-NEXT:      "file": "{{.*}}",
402 // CHECK-NEXT:      "line": 16
403 // CHECK-NEXT:     }
404 // CHECK-NEXT:    },
405 // CHECK-NEXT:    "direction": "in",
406 // CHECK-NEXT:    "param": "Aaa",
407 // CHECK-NEXT:    "paramIdx": 0,
408 // CHECK-NEXT:    "inner": [
409 // CHECK-NEXT:     {
410 // CHECK-NEXT:      "id": "0x{{.*}}",
411 // CHECK-NEXT:      "kind": "ParagraphComment",
412 // CHECK-NEXT:      "loc": {
413 // CHECK-NEXT:       "col": 15,
414 // CHECK-NEXT:       "file": "{{.*}}",
415 // CHECK-NEXT:       "line": 15
416 // CHECK-NEXT:      },
417 // CHECK-NEXT:      "range": {
418 // CHECK-NEXT:       "begin": {
419 // CHECK-NEXT:        "col": 15,
420 // CHECK-NEXT:        "file": "{{.*}}",
421 // CHECK-NEXT:        "line": 15
422 // CHECK-NEXT:       },
423 // CHECK-NEXT:       "end": {
424 // CHECK-NEXT:        "col": 4,
425 // CHECK-NEXT:        "file": "{{.*}}",
426 // CHECK-NEXT:        "line": 16
427 // CHECK-NEXT:       }
428 // CHECK-NEXT:      },
429 // CHECK-NEXT:      "inner": [
430 // CHECK-NEXT:       {
431 // CHECK-NEXT:        "id": "0x{{.*}}",
432 // CHECK-NEXT:        "kind": "TextComment",
433 // CHECK-NEXT:        "loc": {
434 // CHECK-NEXT:         "col": 15,
435 // CHECK-NEXT:         "file": "{{.*}}",
436 // CHECK-NEXT:         "line": 15
437 // CHECK-NEXT:        },
438 // CHECK-NEXT:        "range": {
439 // CHECK-NEXT:         "begin": {
440 // CHECK-NEXT:          "col": 15,
441 // CHECK-NEXT:          "file": "{{.*}}",
442 // CHECK-NEXT:          "line": 15
443 // CHECK-NEXT:         },
444 // CHECK-NEXT:         "end": {
445 // CHECK-NEXT:          "col": 18,
446 // CHECK-NEXT:          "file": "{{.*}}",
447 // CHECK-NEXT:          "line": 15
448 // CHECK-NEXT:         }
449 // CHECK-NEXT:        },
450 // CHECK-NEXT:        "text": " xxx"
451 // CHECK-NEXT:       },
452 // CHECK-NEXT:       {
453 // CHECK-NEXT:        "id": "0x{{.*}}",
454 // CHECK-NEXT:        "kind": "TextComment",
455 // CHECK-NEXT:        "loc": {
456 // CHECK-NEXT:         "col": 4,
457 // CHECK-NEXT:         "file": "{{.*}}",
458 // CHECK-NEXT:         "line": 16
459 // CHECK-NEXT:        },
460 // CHECK-NEXT:        "range": {
461 // CHECK-NEXT:         "begin": {
462 // CHECK-NEXT:          "col": 4,
463 // CHECK-NEXT:          "file": "{{.*}}",
464 // CHECK-NEXT:          "line": 16
465 // CHECK-NEXT:         },
466 // CHECK-NEXT:         "end": {
467 // CHECK-NEXT:          "col": 4,
468 // CHECK-NEXT:          "file": "{{.*}}",
469 // CHECK-NEXT:          "line": 16
470 // CHECK-NEXT:         }
471 // CHECK-NEXT:        },
472 // CHECK-NEXT:        "text": " "
473 // CHECK-NEXT:       }
474 // CHECK-NEXT:      ]
475 // CHECK-NEXT:     }
476 // CHECK-NEXT:    ]
477 // CHECK-NEXT:   },
478 // CHECK-NEXT:   {
479 // CHECK-NEXT:    "id": "0x{{.*}}",
480 // CHECK-NEXT:    "kind": "ParamCommandComment",
481 // CHECK-NEXT:    "loc": {
482 // CHECK-NEXT:     "col": 6,
483 // CHECK-NEXT:     "file": "{{.*}}",
484 // CHECK-NEXT:     "line": 16
485 // CHECK-NEXT:    },
486 // CHECK-NEXT:    "range": {
487 // CHECK-NEXT:     "begin": {
488 // CHECK-NEXT:      "col": 5,
489 // CHECK-NEXT:      "file": "{{.*}}",
490 // CHECK-NEXT:      "line": 16
491 // CHECK-NEXT:     },
492 // CHECK-NEXT:     "end": {
493 // CHECK-NEXT:      "col": 27,
494 // CHECK-NEXT:      "file": "{{.*}}",
495 // CHECK-NEXT:      "line": 16
496 // CHECK-NEXT:     }
497 // CHECK-NEXT:    },
498 // CHECK-NEXT:    "direction": "in,out",
499 // CHECK-NEXT:    "explicit": true,
500 // CHECK-NEXT:    "param": "Bbb",
501 // CHECK-NEXT:    "paramIdx": 1,
502 // CHECK-NEXT:    "inner": [
503 // CHECK-NEXT:     {
504 // CHECK-NEXT:      "id": "0x{{.*}}",
505 // CHECK-NEXT:      "kind": "ParagraphComment",
506 // CHECK-NEXT:      "loc": {
507 // CHECK-NEXT:       "col": 24,
508 // CHECK-NEXT:       "file": "{{.*}}",
509 // CHECK-NEXT:       "line": 16
510 // CHECK-NEXT:      },
511 // CHECK-NEXT:      "range": {
512 // CHECK-NEXT:       "begin": {
513 // CHECK-NEXT:        "col": 24,
514 // CHECK-NEXT:        "file": "{{.*}}",
515 // CHECK-NEXT:        "line": 16
516 // CHECK-NEXT:       },
517 // CHECK-NEXT:       "end": {
518 // CHECK-NEXT:        "col": 27,
519 // CHECK-NEXT:        "file": "{{.*}}",
520 // CHECK-NEXT:        "line": 16
521 // CHECK-NEXT:       }
522 // CHECK-NEXT:      },
523 // CHECK-NEXT:      "inner": [
524 // CHECK-NEXT:       {
525 // CHECK-NEXT:        "id": "0x{{.*}}",
526 // CHECK-NEXT:        "kind": "TextComment",
527 // CHECK-NEXT:        "loc": {
528 // CHECK-NEXT:         "col": 24,
529 // CHECK-NEXT:         "file": "{{.*}}",
530 // CHECK-NEXT:         "line": 16
531 // CHECK-NEXT:        },
532 // CHECK-NEXT:        "range": {
533 // CHECK-NEXT:         "begin": {
534 // CHECK-NEXT:          "col": 24,
535 // CHECK-NEXT:          "file": "{{.*}}",
536 // CHECK-NEXT:          "line": 16
537 // CHECK-NEXT:         },
538 // CHECK-NEXT:         "end": {
539 // CHECK-NEXT:          "col": 27,
540 // CHECK-NEXT:          "file": "{{.*}}",
541 // CHECK-NEXT:          "line": 16
542 // CHECK-NEXT:         }
543 // CHECK-NEXT:        },
544 // CHECK-NEXT:        "text": " yyy"
545 // CHECK-NEXT:       }
546 // CHECK-NEXT:      ]
547 // CHECK-NEXT:     }
548 // CHECK-NEXT:    ]
549 // CHECK-NEXT:   }
550 // CHECK-NEXT:  ]
551 // CHECK-NEXT: }
552 
553 
554 // CHECK:  "kind": "FullComment",
555 // CHECK-NEXT:  "loc": {
556 // CHECK-NEXT:   "col": 4,
557 // CHECK-NEXT:   "file": "{{.*}}",
558 // CHECK-NEXT:   "line": 19
559 // CHECK-NEXT:  },
560 // CHECK-NEXT:  "range": {
561 // CHECK-NEXT:   "begin": {
562 // CHECK-NEXT:    "col": 4,
563 // CHECK-NEXT:    "file": "{{.*}}",
564 // CHECK-NEXT:    "line": 19
565 // CHECK-NEXT:   },
566 // CHECK-NEXT:   "end": {
567 // CHECK-NEXT:    "col": 19,
568 // CHECK-NEXT:    "file": "{{.*}}",
569 // CHECK-NEXT:    "line": 19
570 // CHECK-NEXT:   }
571 // CHECK-NEXT:  },
572 // CHECK-NEXT:  "inner": [
573 // CHECK-NEXT:   {
574 // CHECK-NEXT:    "id": "0x{{.*}}",
575 // CHECK-NEXT:    "kind": "ParagraphComment",
576 // CHECK-NEXT:    "loc": {
577 // CHECK-NEXT:     "col": 4,
578 // CHECK-NEXT:     "file": "{{.*}}",
579 // CHECK-NEXT:     "line": 19
580 // CHECK-NEXT:    },
581 // CHECK-NEXT:    "range": {
582 // CHECK-NEXT:     "begin": {
583 // CHECK-NEXT:      "col": 4,
584 // CHECK-NEXT:      "file": "{{.*}}",
585 // CHECK-NEXT:      "line": 19
586 // CHECK-NEXT:     },
587 // CHECK-NEXT:     "end": {
588 // CHECK-NEXT:      "col": 4,
589 // CHECK-NEXT:      "file": "{{.*}}",
590 // CHECK-NEXT:      "line": 19
591 // CHECK-NEXT:     }
592 // CHECK-NEXT:    },
593 // CHECK-NEXT:    "inner": [
594 // CHECK-NEXT:     {
595 // CHECK-NEXT:      "id": "0x{{.*}}",
596 // CHECK-NEXT:      "kind": "TextComment",
597 // CHECK-NEXT:      "loc": {
598 // CHECK-NEXT:       "col": 4,
599 // CHECK-NEXT:       "file": "{{.*}}",
600 // CHECK-NEXT:       "line": 19
601 // CHECK-NEXT:      },
602 // CHECK-NEXT:      "range": {
603 // CHECK-NEXT:       "begin": {
604 // CHECK-NEXT:        "col": 4,
605 // CHECK-NEXT:        "file": "{{.*}}",
606 // CHECK-NEXT:        "line": 19
607 // CHECK-NEXT:       },
608 // CHECK-NEXT:       "end": {
609 // CHECK-NEXT:        "col": 4,
610 // CHECK-NEXT:        "file": "{{.*}}",
611 // CHECK-NEXT:        "line": 19
612 // CHECK-NEXT:       }
613 // CHECK-NEXT:      },
614 // CHECK-NEXT:      "text": " "
615 // CHECK-NEXT:     }
616 // CHECK-NEXT:    ]
617 // CHECK-NEXT:   },
618 // CHECK-NEXT:   {
619 // CHECK-NEXT:    "id": "0x{{.*}}",
620 // CHECK-NEXT:    "kind": "TParamCommandComment",
621 // CHECK-NEXT:    "loc": {
622 // CHECK-NEXT:     "col": 6,
623 // CHECK-NEXT:     "file": "{{.*}}",
624 // CHECK-NEXT:     "line": 19
625 // CHECK-NEXT:    },
626 // CHECK-NEXT:    "range": {
627 // CHECK-NEXT:     "begin": {
628 // CHECK-NEXT:      "col": 5,
629 // CHECK-NEXT:      "file": "{{.*}}",
630 // CHECK-NEXT:      "line": 19
631 // CHECK-NEXT:     },
632 // CHECK-NEXT:     "end": {
633 // CHECK-NEXT:      "col": 19,
634 // CHECK-NEXT:      "file": "{{.*}}",
635 // CHECK-NEXT:      "line": 19
636 // CHECK-NEXT:     }
637 // CHECK-NEXT:    },
638 // CHECK-NEXT:    "param": "Aaa",
639 // CHECK-NEXT:    "inner": [
640 // CHECK-NEXT:     {
641 // CHECK-NEXT:      "id": "0x{{.*}}",
642 // CHECK-NEXT:      "kind": "ParagraphComment",
643 // CHECK-NEXT:      "loc": {
644 // CHECK-NEXT:       "col": 16,
645 // CHECK-NEXT:       "file": "{{.*}}",
646 // CHECK-NEXT:       "line": 19
647 // CHECK-NEXT:      },
648 // CHECK-NEXT:      "range": {
649 // CHECK-NEXT:       "begin": {
650 // CHECK-NEXT:        "col": 16,
651 // CHECK-NEXT:        "file": "{{.*}}",
652 // CHECK-NEXT:        "line": 19
653 // CHECK-NEXT:       },
654 // CHECK-NEXT:       "end": {
655 // CHECK-NEXT:        "col": 19,
656 // CHECK-NEXT:        "file": "{{.*}}",
657 // CHECK-NEXT:        "line": 19
658 // CHECK-NEXT:       }
659 // CHECK-NEXT:      },
660 // CHECK-NEXT:      "inner": [
661 // CHECK-NEXT:       {
662 // CHECK-NEXT:        "id": "0x{{.*}}",
663 // CHECK-NEXT:        "kind": "TextComment",
664 // CHECK-NEXT:        "loc": {
665 // CHECK-NEXT:         "col": 16,
666 // CHECK-NEXT:         "file": "{{.*}}",
667 // CHECK-NEXT:         "line": 19
668 // CHECK-NEXT:        },
669 // CHECK-NEXT:        "range": {
670 // CHECK-NEXT:         "begin": {
671 // CHECK-NEXT:          "col": 16,
672 // CHECK-NEXT:          "file": "{{.*}}",
673 // CHECK-NEXT:          "line": 19
674 // CHECK-NEXT:         },
675 // CHECK-NEXT:         "end": {
676 // CHECK-NEXT:          "col": 19,
677 // CHECK-NEXT:          "file": "{{.*}}",
678 // CHECK-NEXT:          "line": 19
679 // CHECK-NEXT:         }
680 // CHECK-NEXT:        },
681 // CHECK-NEXT:        "text": " xxx"
682 // CHECK-NEXT:       }
683 // CHECK-NEXT:      ]
684 // CHECK-NEXT:     }
685 // CHECK-NEXT:    ]
686 // CHECK-NEXT:   }
687 // CHECK-NEXT:  ]
688 // CHECK-NEXT: }
689 
690 
691 // CHECK:  "kind": "FullComment",
692 // CHECK-NEXT:  "loc": {
693 // CHECK-NEXT:   "col": 4,
694 // CHECK-NEXT:   "file": "{{.*}}",
695 // CHECK-NEXT:   "line": 19
696 // CHECK-NEXT:  },
697 // CHECK-NEXT:  "range": {
698 // CHECK-NEXT:   "begin": {
699 // CHECK-NEXT:    "col": 4,
700 // CHECK-NEXT:    "file": "{{.*}}",
701 // CHECK-NEXT:    "line": 19
702 // CHECK-NEXT:   },
703 // CHECK-NEXT:   "end": {
704 // CHECK-NEXT:    "col": 19,
705 // CHECK-NEXT:    "file": "{{.*}}",
706 // CHECK-NEXT:    "line": 19
707 // CHECK-NEXT:   }
708 // CHECK-NEXT:  },
709 // CHECK-NEXT:  "inner": [
710 // CHECK-NEXT:   {
711 // CHECK-NEXT:    "id": "0x{{.*}}",
712 // CHECK-NEXT:    "kind": "ParagraphComment",
713 // CHECK-NEXT:    "loc": {
714 // CHECK-NEXT:     "col": 4,
715 // CHECK-NEXT:     "file": "{{.*}}",
716 // CHECK-NEXT:     "line": 19
717 // CHECK-NEXT:    },
718 // CHECK-NEXT:    "range": {
719 // CHECK-NEXT:     "begin": {
720 // CHECK-NEXT:      "col": 4,
721 // CHECK-NEXT:      "file": "{{.*}}",
722 // CHECK-NEXT:      "line": 19
723 // CHECK-NEXT:     },
724 // CHECK-NEXT:     "end": {
725 // CHECK-NEXT:      "col": 4,
726 // CHECK-NEXT:      "file": "{{.*}}",
727 // CHECK-NEXT:      "line": 19
728 // CHECK-NEXT:     }
729 // CHECK-NEXT:    },
730 // CHECK-NEXT:    "inner": [
731 // CHECK-NEXT:     {
732 // CHECK-NEXT:      "id": "0x{{.*}}",
733 // CHECK-NEXT:      "kind": "TextComment",
734 // CHECK-NEXT:      "loc": {
735 // CHECK-NEXT:       "col": 4,
736 // CHECK-NEXT:       "file": "{{.*}}",
737 // CHECK-NEXT:       "line": 19
738 // CHECK-NEXT:      },
739 // CHECK-NEXT:      "range": {
740 // CHECK-NEXT:       "begin": {
741 // CHECK-NEXT:        "col": 4,
742 // CHECK-NEXT:        "file": "{{.*}}",
743 // CHECK-NEXT:        "line": 19
744 // CHECK-NEXT:       },
745 // CHECK-NEXT:       "end": {
746 // CHECK-NEXT:        "col": 4,
747 // CHECK-NEXT:        "file": "{{.*}}",
748 // CHECK-NEXT:        "line": 19
749 // CHECK-NEXT:       }
750 // CHECK-NEXT:      },
751 // CHECK-NEXT:      "text": " "
752 // CHECK-NEXT:     }
753 // CHECK-NEXT:    ]
754 // CHECK-NEXT:   },
755 // CHECK-NEXT:   {
756 // CHECK-NEXT:    "id": "0x{{.*}}",
757 // CHECK-NEXT:    "kind": "TParamCommandComment",
758 // CHECK-NEXT:    "loc": {
759 // CHECK-NEXT:     "col": 6,
760 // CHECK-NEXT:     "file": "{{.*}}",
761 // CHECK-NEXT:     "line": 19
762 // CHECK-NEXT:    },
763 // CHECK-NEXT:    "range": {
764 // CHECK-NEXT:     "begin": {
765 // CHECK-NEXT:      "col": 5,
766 // CHECK-NEXT:      "file": "{{.*}}",
767 // CHECK-NEXT:      "line": 19
768 // CHECK-NEXT:     },
769 // CHECK-NEXT:     "end": {
770 // CHECK-NEXT:      "col": 19,
771 // CHECK-NEXT:      "file": "{{.*}}",
772 // CHECK-NEXT:      "line": 19
773 // CHECK-NEXT:     }
774 // CHECK-NEXT:    },
775 // CHECK-NEXT:    "param": "Aaa",
776 // CHECK-NEXT:    "positions": [
777 // CHECK-NEXT:     0
778 // CHECK-NEXT:    ],
779 // CHECK-NEXT:    "inner": [
780 // CHECK-NEXT:     {
781 // CHECK-NEXT:      "id": "0x{{.*}}",
782 // CHECK-NEXT:      "kind": "ParagraphComment",
783 // CHECK-NEXT:      "loc": {
784 // CHECK-NEXT:       "col": 16,
785 // CHECK-NEXT:       "file": "{{.*}}",
786 // CHECK-NEXT:       "line": 19
787 // CHECK-NEXT:      },
788 // CHECK-NEXT:      "range": {
789 // CHECK-NEXT:       "begin": {
790 // CHECK-NEXT:        "col": 16,
791 // CHECK-NEXT:        "file": "{{.*}}",
792 // CHECK-NEXT:        "line": 19
793 // CHECK-NEXT:       },
794 // CHECK-NEXT:       "end": {
795 // CHECK-NEXT:        "col": 19,
796 // CHECK-NEXT:        "file": "{{.*}}",
797 // CHECK-NEXT:        "line": 19
798 // CHECK-NEXT:       }
799 // CHECK-NEXT:      },
800 // CHECK-NEXT:      "inner": [
801 // CHECK-NEXT:       {
802 // CHECK-NEXT:        "id": "0x{{.*}}",
803 // CHECK-NEXT:        "kind": "TextComment",
804 // CHECK-NEXT:        "loc": {
805 // CHECK-NEXT:         "col": 16,
806 // CHECK-NEXT:         "file": "{{.*}}",
807 // CHECK-NEXT:         "line": 19
808 // CHECK-NEXT:        },
809 // CHECK-NEXT:        "range": {
810 // CHECK-NEXT:         "begin": {
811 // CHECK-NEXT:          "col": 16,
812 // CHECK-NEXT:          "file": "{{.*}}",
813 // CHECK-NEXT:          "line": 19
814 // CHECK-NEXT:         },
815 // CHECK-NEXT:         "end": {
816 // CHECK-NEXT:          "col": 19,
817 // CHECK-NEXT:          "file": "{{.*}}",
818 // CHECK-NEXT:          "line": 19
819 // CHECK-NEXT:         }
820 // CHECK-NEXT:        },
821 // CHECK-NEXT:        "text": " xxx"
822 // CHECK-NEXT:       }
823 // CHECK-NEXT:      ]
824 // CHECK-NEXT:     }
825 // CHECK-NEXT:    ]
826 // CHECK-NEXT:   }
827 // CHECK-NEXT:  ]
828 // CHECK-NEXT: }
829 
830 
831 // CHECK:  "kind": "FullComment",
832 // CHECK-NEXT:  "loc": {
833 // CHECK-NEXT:   "col": 4,
834 // CHECK-NEXT:   "file": "{{.*}}",
835 // CHECK-NEXT:   "line": 22
836 // CHECK-NEXT:  },
837 // CHECK-NEXT:  "range": {
838 // CHECK-NEXT:   "begin": {
839 // CHECK-NEXT:    "col": 4,
840 // CHECK-NEXT:    "file": "{{.*}}",
841 // CHECK-NEXT:    "line": 22
842 // CHECK-NEXT:   },
843 // CHECK-NEXT:   "end": {
844 // CHECK-NEXT:    "col": 6,
845 // CHECK-NEXT:    "file": "{{.*}}",
846 // CHECK-NEXT:    "line": 22
847 // CHECK-NEXT:   }
848 // CHECK-NEXT:  },
849 // CHECK-NEXT:  "inner": [
850 // CHECK-NEXT:   {
851 // CHECK-NEXT:    "id": "0x{{.*}}",
852 // CHECK-NEXT:    "kind": "ParagraphComment",
853 // CHECK-NEXT:    "loc": {
854 // CHECK-NEXT:     "col": 4,
855 // CHECK-NEXT:     "file": "{{.*}}",
856 // CHECK-NEXT:     "line": 22
857 // CHECK-NEXT:    },
858 // CHECK-NEXT:    "range": {
859 // CHECK-NEXT:     "begin": {
860 // CHECK-NEXT:      "col": 4,
861 // CHECK-NEXT:      "file": "{{.*}}",
862 // CHECK-NEXT:      "line": 22
863 // CHECK-NEXT:     },
864 // CHECK-NEXT:     "end": {
865 // CHECK-NEXT:      "col": 6,
866 // CHECK-NEXT:      "file": "{{.*}}",
867 // CHECK-NEXT:      "line": 22
868 // CHECK-NEXT:     }
869 // CHECK-NEXT:    },
870 // CHECK-NEXT:    "inner": [
871 // CHECK-NEXT:     {
872 // CHECK-NEXT:      "id": "0x{{.*}}",
873 // CHECK-NEXT:      "kind": "TextComment",
874 // CHECK-NEXT:      "loc": {
875 // CHECK-NEXT:       "col": 4,
876 // CHECK-NEXT:       "file": "{{.*}}",
877 // CHECK-NEXT:       "line": 22
878 // CHECK-NEXT:      },
879 // CHECK-NEXT:      "range": {
880 // CHECK-NEXT:       "begin": {
881 // CHECK-NEXT:        "col": 4,
882 // CHECK-NEXT:        "file": "{{.*}}",
883 // CHECK-NEXT:        "line": 22
884 // CHECK-NEXT:       },
885 // CHECK-NEXT:       "end": {
886 // CHECK-NEXT:        "col": 4,
887 // CHECK-NEXT:        "file": "{{.*}}",
888 // CHECK-NEXT:        "line": 22
889 // CHECK-NEXT:       }
890 // CHECK-NEXT:      },
891 // CHECK-NEXT:      "text": " "
892 // CHECK-NEXT:     },
893 // CHECK-NEXT:     {
894 // CHECK-NEXT:      "id": "0x{{.*}}",
895 // CHECK-NEXT:      "kind": "InlineCommandComment",
896 // CHECK-NEXT:      "loc": {
897 // CHECK-NEXT:       "col": 5,
898 // CHECK-NEXT:       "file": "{{.*}}",
899 // CHECK-NEXT:       "line": 22
900 // CHECK-NEXT:      },
901 // CHECK-NEXT:      "range": {
902 // CHECK-NEXT:       "begin": {
903 // CHECK-NEXT:        "col": 5,
904 // CHECK-NEXT:        "file": "{{.*}}",
905 // CHECK-NEXT:        "line": 22
906 // CHECK-NEXT:       },
907 // CHECK-NEXT:       "end": {
908 // CHECK-NEXT:        "col": 6,
909 // CHECK-NEXT:        "file": "{{.*}}",
910 // CHECK-NEXT:        "line": 22
911 // CHECK-NEXT:       }
912 // CHECK-NEXT:      },
913 // CHECK-NEXT:      "name": "c",
914 // CHECK-NEXT:      "renderKind": "monospaced",
915 // CHECK-NEXT:      "args": [
916 // CHECK-NEXT:       "Aaa"
917 // CHECK-NEXT:      ]
918 // CHECK-NEXT:     }
919 // CHECK-NEXT:    ]
920 // CHECK-NEXT:   }
921 // CHECK-NEXT:  ]
922 // CHECK-NEXT: }
923 
924 
925 // CHECK:  "kind": "FullComment",
926 // CHECK-NEXT:  "loc": {
927 // CHECK-NEXT:   "col": 4,
928 // CHECK-NEXT:   "file": "{{.*}}",
929 // CHECK-NEXT:   "line": 25
930 // CHECK-NEXT:  },
931 // CHECK-NEXT:  "range": {
932 // CHECK-NEXT:   "begin": {
933 // CHECK-NEXT:    "col": 4,
934 // CHECK-NEXT:    "file": "{{.*}}",
935 // CHECK-NEXT:    "line": 25
936 // CHECK-NEXT:   },
937 // CHECK-NEXT:   "end": {
938 // CHECK-NEXT:    "col": 8,
939 // CHECK-NEXT:    "file": "{{.*}}",
940 // CHECK-NEXT:    "line": 26
941 // CHECK-NEXT:   }
942 // CHECK-NEXT:  },
943 // CHECK-NEXT:  "inner": [
944 // CHECK-NEXT:   {
945 // CHECK-NEXT:    "id": "0x{{.*}}",
946 // CHECK-NEXT:    "kind": "ParagraphComment",
947 // CHECK-NEXT:    "loc": {
948 // CHECK-NEXT:     "col": 4,
949 // CHECK-NEXT:     "file": "{{.*}}",
950 // CHECK-NEXT:     "line": 25
951 // CHECK-NEXT:    },
952 // CHECK-NEXT:    "range": {
953 // CHECK-NEXT:     "begin": {
954 // CHECK-NEXT:      "col": 4,
955 // CHECK-NEXT:      "file": "{{.*}}",
956 // CHECK-NEXT:      "line": 25
957 // CHECK-NEXT:     },
958 // CHECK-NEXT:     "end": {
959 // CHECK-NEXT:      "col": 8,
960 // CHECK-NEXT:      "file": "{{.*}}",
961 // CHECK-NEXT:      "line": 26
962 // CHECK-NEXT:     }
963 // CHECK-NEXT:    },
964 // CHECK-NEXT:    "inner": [
965 // CHECK-NEXT:     {
966 // CHECK-NEXT:      "id": "0x{{.*}}",
967 // CHECK-NEXT:      "kind": "TextComment",
968 // CHECK-NEXT:      "loc": {
969 // CHECK-NEXT:       "col": 4,
970 // CHECK-NEXT:       "file": "{{.*}}",
971 // CHECK-NEXT:       "line": 25
972 // CHECK-NEXT:      },
973 // CHECK-NEXT:      "range": {
974 // CHECK-NEXT:       "begin": {
975 // CHECK-NEXT:        "col": 4,
976 // CHECK-NEXT:        "file": "{{.*}}",
977 // CHECK-NEXT:        "line": 25
978 // CHECK-NEXT:       },
979 // CHECK-NEXT:       "end": {
980 // CHECK-NEXT:        "col": 4,
981 // CHECK-NEXT:        "file": "{{.*}}",
982 // CHECK-NEXT:        "line": 25
983 // CHECK-NEXT:       }
984 // CHECK-NEXT:      },
985 // CHECK-NEXT:      "text": " "
986 // CHECK-NEXT:     },
987 // CHECK-NEXT:     {
988 // CHECK-NEXT:      "id": "0x{{.*}}",
989 // CHECK-NEXT:      "kind": "HTMLStartTagComment",
990 // CHECK-NEXT:      "loc": {
991 // CHECK-NEXT:       "col": 6,
992 // CHECK-NEXT:       "file": "{{.*}}",
993 // CHECK-NEXT:       "line": 25
994 // CHECK-NEXT:      },
995 // CHECK-NEXT:      "range": {
996 // CHECK-NEXT:       "begin": {
997 // CHECK-NEXT:        "col": 5,
998 // CHECK-NEXT:        "file": "{{.*}}",
999 // CHECK-NEXT:        "line": 25
1000 // CHECK-NEXT:       },
1001 // CHECK-NEXT:       "end": {
1002 // CHECK-NEXT:        "col": 7,
1003 // CHECK-NEXT:        "file": "{{.*}}",
1004 // CHECK-NEXT:        "line": 25
1005 // CHECK-NEXT:       }
1006 // CHECK-NEXT:      },
1007 // CHECK-NEXT:      "name": "a"
1008 // CHECK-NEXT:     },
1009 // CHECK-NEXT:     {
1010 // CHECK-NEXT:      "id": "0x{{.*}}",
1011 // CHECK-NEXT:      "kind": "TextComment",
1012 // CHECK-NEXT:      "loc": {
1013 // CHECK-NEXT:       "col": 8,
1014 // CHECK-NEXT:       "file": "{{.*}}",
1015 // CHECK-NEXT:       "line": 25
1016 // CHECK-NEXT:      },
1017 // CHECK-NEXT:      "range": {
1018 // CHECK-NEXT:       "begin": {
1019 // CHECK-NEXT:        "col": 8,
1020 // CHECK-NEXT:        "file": "{{.*}}",
1021 // CHECK-NEXT:        "line": 25
1022 // CHECK-NEXT:       },
1023 // CHECK-NEXT:       "end": {
1024 // CHECK-NEXT:        "col": 10,
1025 // CHECK-NEXT:        "file": "{{.*}}",
1026 // CHECK-NEXT:        "line": 25
1027 // CHECK-NEXT:       }
1028 // CHECK-NEXT:      },
1029 // CHECK-NEXT:      "text": "Aaa"
1030 // CHECK-NEXT:     },
1031 // CHECK-NEXT:     {
1032 // CHECK-NEXT:      "id": "0x{{.*}}",
1033 // CHECK-NEXT:      "kind": "HTMLEndTagComment",
1034 // CHECK-NEXT:      "loc": {
1035 // CHECK-NEXT:       "col": 13,
1036 // CHECK-NEXT:       "file": "{{.*}}",
1037 // CHECK-NEXT:       "line": 25
1038 // CHECK-NEXT:      },
1039 // CHECK-NEXT:      "range": {
1040 // CHECK-NEXT:       "begin": {
1041 // CHECK-NEXT:        "col": 11,
1042 // CHECK-NEXT:        "file": "{{.*}}",
1043 // CHECK-NEXT:        "line": 25
1044 // CHECK-NEXT:       },
1045 // CHECK-NEXT:       "end": {
1046 // CHECK-NEXT:        "col": 14,
1047 // CHECK-NEXT:        "file": "{{.*}}",
1048 // CHECK-NEXT:        "line": 25
1049 // CHECK-NEXT:       }
1050 // CHECK-NEXT:      },
1051 // CHECK-NEXT:      "name": "a"
1052 // CHECK-NEXT:     },
1053 // CHECK-NEXT:     {
1054 // CHECK-NEXT:      "id": "0x{{.*}}",
1055 // CHECK-NEXT:      "kind": "TextComment",
1056 // CHECK-NEXT:      "loc": {
1057 // CHECK-NEXT:       "col": 4,
1058 // CHECK-NEXT:       "file": "{{.*}}",
1059 // CHECK-NEXT:       "line": 26
1060 // CHECK-NEXT:      },
1061 // CHECK-NEXT:      "range": {
1062 // CHECK-NEXT:       "begin": {
1063 // CHECK-NEXT:        "col": 4,
1064 // CHECK-NEXT:        "file": "{{.*}}",
1065 // CHECK-NEXT:        "line": 26
1066 // CHECK-NEXT:       },
1067 // CHECK-NEXT:       "end": {
1068 // CHECK-NEXT:        "col": 4,
1069 // CHECK-NEXT:        "file": "{{.*}}",
1070 // CHECK-NEXT:        "line": 26
1071 // CHECK-NEXT:       }
1072 // CHECK-NEXT:      },
1073 // CHECK-NEXT:      "text": " "
1074 // CHECK-NEXT:     },
1075 // CHECK-NEXT:     {
1076 // CHECK-NEXT:      "id": "0x{{.*}}",
1077 // CHECK-NEXT:      "kind": "HTMLStartTagComment",
1078 // CHECK-NEXT:      "loc": {
1079 // CHECK-NEXT:       "col": 6,
1080 // CHECK-NEXT:       "file": "{{.*}}",
1081 // CHECK-NEXT:       "line": 26
1082 // CHECK-NEXT:      },
1083 // CHECK-NEXT:      "range": {
1084 // CHECK-NEXT:       "begin": {
1085 // CHECK-NEXT:        "col": 5,
1086 // CHECK-NEXT:        "file": "{{.*}}",
1087 // CHECK-NEXT:        "line": 26
1088 // CHECK-NEXT:       },
1089 // CHECK-NEXT:       "end": {
1090 // CHECK-NEXT:        "col": 8,
1091 // CHECK-NEXT:        "file": "{{.*}}",
1092 // CHECK-NEXT:        "line": 26
1093 // CHECK-NEXT:       }
1094 // CHECK-NEXT:      },
1095 // CHECK-NEXT:      "name": "br",
1096 // CHECK-NEXT:      "selfClosing": true
1097 // CHECK-NEXT:     }
1098 // CHECK-NEXT:    ]
1099 // CHECK-NEXT:   }
1100 // CHECK-NEXT:  ]
1101 // CHECK-NEXT: }
1102 
1103 
1104 // CHECK:  "kind": "FullComment",
1105 // CHECK-NEXT:  "loc": {
1106 // CHECK-NEXT:   "col": 4,
1107 // CHECK-NEXT:   "file": "{{.*}}",
1108 // CHECK-NEXT:   "line": 29
1109 // CHECK-NEXT:  },
1110 // CHECK-NEXT:  "range": {
1111 // CHECK-NEXT:   "begin": {
1112 // CHECK-NEXT:    "col": 4,
1113 // CHECK-NEXT:    "file": "{{.*}}",
1114 // CHECK-NEXT:    "line": 29
1115 // CHECK-NEXT:   },
1116 // CHECK-NEXT:   "end": {
1117 // CHECK-NEXT:    "col": 14,
1118 // CHECK-NEXT:    "file": "{{.*}}",
1119 // CHECK-NEXT:    "line": 29
1120 // CHECK-NEXT:   }
1121 // CHECK-NEXT:  },
1122 // CHECK-NEXT:  "inner": [
1123 // CHECK-NEXT:   {
1124 // CHECK-NEXT:    "id": "0x{{.*}}",
1125 // CHECK-NEXT:    "kind": "ParagraphComment",
1126 // CHECK-NEXT:    "loc": {
1127 // CHECK-NEXT:     "col": 4,
1128 // CHECK-NEXT:     "file": "{{.*}}",
1129 // CHECK-NEXT:     "line": 29
1130 // CHECK-NEXT:    },
1131 // CHECK-NEXT:    "range": {
1132 // CHECK-NEXT:     "begin": {
1133 // CHECK-NEXT:      "col": 4,
1134 // CHECK-NEXT:      "file": "{{.*}}",
1135 // CHECK-NEXT:      "line": 29
1136 // CHECK-NEXT:     },
1137 // CHECK-NEXT:     "end": {
1138 // CHECK-NEXT:      "col": 4,
1139 // CHECK-NEXT:      "file": "{{.*}}",
1140 // CHECK-NEXT:      "line": 29
1141 // CHECK-NEXT:     }
1142 // CHECK-NEXT:    },
1143 // CHECK-NEXT:    "inner": [
1144 // CHECK-NEXT:     {
1145 // CHECK-NEXT:      "id": "0x{{.*}}",
1146 // CHECK-NEXT:      "kind": "TextComment",
1147 // CHECK-NEXT:      "loc": {
1148 // CHECK-NEXT:       "col": 4,
1149 // CHECK-NEXT:       "file": "{{.*}}",
1150 // CHECK-NEXT:       "line": 29
1151 // CHECK-NEXT:      },
1152 // CHECK-NEXT:      "range": {
1153 // CHECK-NEXT:       "begin": {
1154 // CHECK-NEXT:        "col": 4,
1155 // CHECK-NEXT:        "file": "{{.*}}",
1156 // CHECK-NEXT:        "line": 29
1157 // CHECK-NEXT:       },
1158 // CHECK-NEXT:       "end": {
1159 // CHECK-NEXT:        "col": 4,
1160 // CHECK-NEXT:        "file": "{{.*}}",
1161 // CHECK-NEXT:        "line": 29
1162 // CHECK-NEXT:       }
1163 // CHECK-NEXT:      },
1164 // CHECK-NEXT:      "text": " "
1165 // CHECK-NEXT:     }
1166 // CHECK-NEXT:    ]
1167 // CHECK-NEXT:   },
1168 // CHECK-NEXT:   {
1169 // CHECK-NEXT:    "id": "0x{{.*}}",
1170 // CHECK-NEXT:    "kind": "VerbatimBlockComment",
1171 // CHECK-NEXT:    "loc": {
1172 // CHECK-NEXT:     "col": 6,
1173 // CHECK-NEXT:     "file": "{{.*}}",
1174 // CHECK-NEXT:     "line": 29
1175 // CHECK-NEXT:    },
1176 // CHECK-NEXT:    "range": {
1177 // CHECK-NEXT:     "begin": {
1178 // CHECK-NEXT:      "col": 5,
1179 // CHECK-NEXT:      "file": "{{.*}}",
1180 // CHECK-NEXT:      "line": 29
1181 // CHECK-NEXT:     },
1182 // CHECK-NEXT:     "end": {
1183 // CHECK-NEXT:      "col": 14,
1184 // CHECK-NEXT:      "file": "{{.*}}",
1185 // CHECK-NEXT:      "line": 29
1186 // CHECK-NEXT:     }
1187 // CHECK-NEXT:    },
1188 // CHECK-NEXT:    "name": "verbatim",
1189 // CHECK-NEXT:    "closeName": "endverbatim",
1190 // CHECK-NEXT:    "inner": [
1191 // CHECK-NEXT:     {
1192 // CHECK-NEXT:      "id": "0x{{.*}}",
1193 // CHECK-NEXT:      "kind": "VerbatimBlockLineComment",
1194 // CHECK-NEXT:      "loc": {
1195 // CHECK-NEXT:       "col": 4,
1196 // CHECK-NEXT:       "file": "{{.*}}",
1197 // CHECK-NEXT:       "line": 30
1198 // CHECK-NEXT:      },
1199 // CHECK-NEXT:      "range": {
1200 // CHECK-NEXT:       "begin": {
1201 // CHECK-NEXT:        "col": 4,
1202 // CHECK-NEXT:        "file": "{{.*}}",
1203 // CHECK-NEXT:        "line": 30
1204 // CHECK-NEXT:       },
1205 // CHECK-NEXT:       "end": {
1206 // CHECK-NEXT:        "col": 8,
1207 // CHECK-NEXT:        "file": "{{.*}}",
1208 // CHECK-NEXT:        "line": 30
1209 // CHECK-NEXT:       }
1210 // CHECK-NEXT:      },
1211 // CHECK-NEXT:      "text": " Aaa"
1212 // CHECK-NEXT:     }
1213 // CHECK-NEXT:    ]
1214 // CHECK-NEXT:   }
1215 // CHECK-NEXT:  ]
1216 // CHECK-NEXT: }
1217 
1218 
1219 // CHECK:  "kind": "FullComment",
1220 // CHECK-NEXT:  "loc": {
1221 // CHECK-NEXT:   "col": 4,
1222 // CHECK-NEXT:   "file": "{{.*}}",
1223 // CHECK-NEXT:   "line": 34
1224 // CHECK-NEXT:  },
1225 // CHECK-NEXT:  "range": {
1226 // CHECK-NEXT:   "begin": {
1227 // CHECK-NEXT:    "col": 4,
1228 // CHECK-NEXT:    "file": "{{.*}}",
1229 // CHECK-NEXT:    "line": 34
1230 // CHECK-NEXT:   },
1231 // CHECK-NEXT:   "end": {
1232 // CHECK-NEXT:    "col": 29,
1233 // CHECK-NEXT:    "file": "{{.*}}",
1234 // CHECK-NEXT:    "line": 34
1235 // CHECK-NEXT:   }
1236 // CHECK-NEXT:  },
1237 // CHECK-NEXT:  "inner": [
1238 // CHECK-NEXT:   {
1239 // CHECK-NEXT:    "id": "0x{{.*}}",
1240 // CHECK-NEXT:    "kind": "ParagraphComment",
1241 // CHECK-NEXT:    "loc": {
1242 // CHECK-NEXT:     "col": 4,
1243 // CHECK-NEXT:     "file": "{{.*}}",
1244 // CHECK-NEXT:     "line": 34
1245 // CHECK-NEXT:    },
1246 // CHECK-NEXT:    "range": {
1247 // CHECK-NEXT:     "begin": {
1248 // CHECK-NEXT:      "col": 4,
1249 // CHECK-NEXT:      "file": "{{.*}}",
1250 // CHECK-NEXT:      "line": 34
1251 // CHECK-NEXT:     },
1252 // CHECK-NEXT:     "end": {
1253 // CHECK-NEXT:      "col": 4,
1254 // CHECK-NEXT:      "file": "{{.*}}",
1255 // CHECK-NEXT:      "line": 34
1256 // CHECK-NEXT:     }
1257 // CHECK-NEXT:    },
1258 // CHECK-NEXT:    "inner": [
1259 // CHECK-NEXT:     {
1260 // CHECK-NEXT:      "id": "0x{{.*}}",
1261 // CHECK-NEXT:      "kind": "TextComment",
1262 // CHECK-NEXT:      "loc": {
1263 // CHECK-NEXT:       "col": 4,
1264 // CHECK-NEXT:       "file": "{{.*}}",
1265 // CHECK-NEXT:       "line": 34
1266 // CHECK-NEXT:      },
1267 // CHECK-NEXT:      "range": {
1268 // CHECK-NEXT:       "begin": {
1269 // CHECK-NEXT:        "col": 4,
1270 // CHECK-NEXT:        "file": "{{.*}}",
1271 // CHECK-NEXT:        "line": 34
1272 // CHECK-NEXT:       },
1273 // CHECK-NEXT:       "end": {
1274 // CHECK-NEXT:        "col": 4,
1275 // CHECK-NEXT:        "file": "{{.*}}",
1276 // CHECK-NEXT:        "line": 34
1277 // CHECK-NEXT:       }
1278 // CHECK-NEXT:      },
1279 // CHECK-NEXT:      "text": " "
1280 // CHECK-NEXT:     }
1281 // CHECK-NEXT:    ]
1282 // CHECK-NEXT:   },
1283 // CHECK-NEXT:   {
1284 // CHECK-NEXT:    "id": "0x{{.*}}",
1285 // CHECK-NEXT:    "kind": "ParamCommandComment",
1286 // CHECK-NEXT:    "loc": {
1287 // CHECK-NEXT:     "col": 6,
1288 // CHECK-NEXT:     "file": "{{.*}}",
1289 // CHECK-NEXT:     "line": 34
1290 // CHECK-NEXT:    },
1291 // CHECK-NEXT:    "range": {
1292 // CHECK-NEXT:     "begin": {
1293 // CHECK-NEXT:      "col": 5,
1294 // CHECK-NEXT:      "file": "{{.*}}",
1295 // CHECK-NEXT:      "line": 34
1296 // CHECK-NEXT:     },
1297 // CHECK-NEXT:     "end": {
1298 // CHECK-NEXT:      "col": 29,
1299 // CHECK-NEXT:      "file": "{{.*}}",
1300 // CHECK-NEXT:      "line": 34
1301 // CHECK-NEXT:     }
1302 // CHECK-NEXT:    },
1303 // CHECK-NEXT:    "direction": "in",
1304 // CHECK-NEXT:    "param": "...",
1305 // CHECK-NEXT:    "inner": [
1306 // CHECK-NEXT:     {
1307 // CHECK-NEXT:      "id": "0x{{.*}}",
1308 // CHECK-NEXT:      "kind": "ParagraphComment",
1309 // CHECK-NEXT:      "loc": {
1310 // CHECK-NEXT:       "col": 15,
1311 // CHECK-NEXT:       "file": "{{.*}}",
1312 // CHECK-NEXT:       "line": 34
1313 // CHECK-NEXT:      },
1314 // CHECK-NEXT:      "range": {
1315 // CHECK-NEXT:       "begin": {
1316 // CHECK-NEXT:        "col": 15,
1317 // CHECK-NEXT:        "file": "{{.*}}",
1318 // CHECK-NEXT:        "line": 34
1319 // CHECK-NEXT:       },
1320 // CHECK-NEXT:       "end": {
1321 // CHECK-NEXT:        "col": 29,
1322 // CHECK-NEXT:        "file": "{{.*}}",
1323 // CHECK-NEXT:        "line": 34
1324 // CHECK-NEXT:       }
1325 // CHECK-NEXT:      },
1326 // CHECK-NEXT:      "inner": [
1327 // CHECK-NEXT:       {
1328 // CHECK-NEXT:        "id": "0x{{.*}}",
1329 // CHECK-NEXT:        "kind": "TextComment",
1330 // CHECK-NEXT:        "loc": {
1331 // CHECK-NEXT:         "col": 15,
1332 // CHECK-NEXT:         "file": "{{.*}}",
1333 // CHECK-NEXT:         "line": 34
1334 // CHECK-NEXT:        },
1335 // CHECK-NEXT:        "range": {
1336 // CHECK-NEXT:         "begin": {
1337 // CHECK-NEXT:          "col": 15,
1338 // CHECK-NEXT:          "file": "{{.*}}",
1339 // CHECK-NEXT:          "line": 34
1340 // CHECK-NEXT:         },
1341 // CHECK-NEXT:         "end": {
1342 // CHECK-NEXT:          "col": 29,
1343 // CHECK-NEXT:          "file": "{{.*}}",
1344 // CHECK-NEXT:          "line": 34
1345 // CHECK-NEXT:         }
1346 // CHECK-NEXT:        },
1347 // CHECK-NEXT:        "text": " More arguments"
1348 // CHECK-NEXT:       }
1349 // CHECK-NEXT:      ]
1350 // CHECK-NEXT:     }
1351 // CHECK-NEXT:    ]
1352 // CHECK-NEXT:   }
1353 // CHECK-NEXT:  ]
1354 // CHECK-NEXT: }
1355 
1356 
1357 // CHECK:  "kind": "FullComment",
1358 // CHECK-NEXT:  "loc": {
1359 // CHECK-NEXT:   "col": 4,
1360 // CHECK-NEXT:   "file": "{{.*}}",
1361 // CHECK-NEXT:   "line": 34
1362 // CHECK-NEXT:  },
1363 // CHECK-NEXT:  "range": {
1364 // CHECK-NEXT:   "begin": {
1365 // CHECK-NEXT:    "col": 4,
1366 // CHECK-NEXT:    "file": "{{.*}}",
1367 // CHECK-NEXT:    "line": 34
1368 // CHECK-NEXT:   },
1369 // CHECK-NEXT:   "end": {
1370 // CHECK-NEXT:    "col": 29,
1371 // CHECK-NEXT:    "file": "{{.*}}",
1372 // CHECK-NEXT:    "line": 34
1373 // CHECK-NEXT:   }
1374 // CHECK-NEXT:  },
1375 // CHECK-NEXT:  "inner": [
1376 // CHECK-NEXT:   {
1377 // CHECK-NEXT:    "id": "0x{{.*}}",
1378 // CHECK-NEXT:    "kind": "ParagraphComment",
1379 // CHECK-NEXT:    "loc": {
1380 // CHECK-NEXT:     "col": 4,
1381 // CHECK-NEXT:     "file": "{{.*}}",
1382 // CHECK-NEXT:     "line": 34
1383 // CHECK-NEXT:    },
1384 // CHECK-NEXT:    "range": {
1385 // CHECK-NEXT:     "begin": {
1386 // CHECK-NEXT:      "col": 4,
1387 // CHECK-NEXT:      "file": "{{.*}}",
1388 // CHECK-NEXT:      "line": 34
1389 // CHECK-NEXT:     },
1390 // CHECK-NEXT:     "end": {
1391 // CHECK-NEXT:      "col": 4,
1392 // CHECK-NEXT:      "file": "{{.*}}",
1393 // CHECK-NEXT:      "line": 34
1394 // CHECK-NEXT:     }
1395 // CHECK-NEXT:    },
1396 // CHECK-NEXT:    "inner": [
1397 // CHECK-NEXT:     {
1398 // CHECK-NEXT:      "id": "0x{{.*}}",
1399 // CHECK-NEXT:      "kind": "TextComment",
1400 // CHECK-NEXT:      "loc": {
1401 // CHECK-NEXT:       "col": 4,
1402 // CHECK-NEXT:       "file": "{{.*}}",
1403 // CHECK-NEXT:       "line": 34
1404 // CHECK-NEXT:      },
1405 // CHECK-NEXT:      "range": {
1406 // CHECK-NEXT:       "begin": {
1407 // CHECK-NEXT:        "col": 4,
1408 // CHECK-NEXT:        "file": "{{.*}}",
1409 // CHECK-NEXT:        "line": 34
1410 // CHECK-NEXT:       },
1411 // CHECK-NEXT:       "end": {
1412 // CHECK-NEXT:        "col": 4,
1413 // CHECK-NEXT:        "file": "{{.*}}",
1414 // CHECK-NEXT:        "line": 34
1415 // CHECK-NEXT:       }
1416 // CHECK-NEXT:      },
1417 // CHECK-NEXT:      "text": " "
1418 // CHECK-NEXT:     }
1419 // CHECK-NEXT:    ]
1420 // CHECK-NEXT:   },
1421 // CHECK-NEXT:   {
1422 // CHECK-NEXT:    "id": "0x{{.*}}",
1423 // CHECK-NEXT:    "kind": "ParamCommandComment",
1424 // CHECK-NEXT:    "loc": {
1425 // CHECK-NEXT:     "col": 6,
1426 // CHECK-NEXT:     "file": "{{.*}}",
1427 // CHECK-NEXT:     "line": 34
1428 // CHECK-NEXT:    },
1429 // CHECK-NEXT:    "range": {
1430 // CHECK-NEXT:     "begin": {
1431 // CHECK-NEXT:      "col": 5,
1432 // CHECK-NEXT:      "file": "{{.*}}",
1433 // CHECK-NEXT:      "line": 34
1434 // CHECK-NEXT:     },
1435 // CHECK-NEXT:     "end": {
1436 // CHECK-NEXT:      "col": 29,
1437 // CHECK-NEXT:      "file": "{{.*}}",
1438 // CHECK-NEXT:      "line": 34
1439 // CHECK-NEXT:     }
1440 // CHECK-NEXT:    },
1441 // CHECK-NEXT:    "direction": "in",
1442 // CHECK-NEXT:    "param": "...",
1443 // CHECK-NEXT:    "inner": [
1444 // CHECK-NEXT:     {
1445 // CHECK-NEXT:      "id": "0x{{.*}}",
1446 // CHECK-NEXT:      "kind": "ParagraphComment",
1447 // CHECK-NEXT:      "loc": {
1448 // CHECK-NEXT:       "col": 15,
1449 // CHECK-NEXT:       "file": "{{.*}}",
1450 // CHECK-NEXT:       "line": 34
1451 // CHECK-NEXT:      },
1452 // CHECK-NEXT:      "range": {
1453 // CHECK-NEXT:       "begin": {
1454 // CHECK-NEXT:        "col": 15,
1455 // CHECK-NEXT:        "file": "{{.*}}",
1456 // CHECK-NEXT:        "line": 34
1457 // CHECK-NEXT:       },
1458 // CHECK-NEXT:       "end": {
1459 // CHECK-NEXT:        "col": 29,
1460 // CHECK-NEXT:        "file": "{{.*}}",
1461 // CHECK-NEXT:        "line": 34
1462 // CHECK-NEXT:       }
1463 // CHECK-NEXT:      },
1464 // CHECK-NEXT:      "inner": [
1465 // CHECK-NEXT:       {
1466 // CHECK-NEXT:        "id": "0x{{.*}}",
1467 // CHECK-NEXT:        "kind": "TextComment",
1468 // CHECK-NEXT:        "loc": {
1469 // CHECK-NEXT:         "col": 15,
1470 // CHECK-NEXT:         "file": "{{.*}}",
1471 // CHECK-NEXT:         "line": 34
1472 // CHECK-NEXT:        },
1473 // CHECK-NEXT:        "range": {
1474 // CHECK-NEXT:         "begin": {
1475 // CHECK-NEXT:          "col": 15,
1476 // CHECK-NEXT:          "file": "{{.*}}",
1477 // CHECK-NEXT:          "line": 34
1478 // CHECK-NEXT:         },
1479 // CHECK-NEXT:         "end": {
1480 // CHECK-NEXT:          "col": 29,
1481 // CHECK-NEXT:          "file": "{{.*}}",
1482 // CHECK-NEXT:          "line": 34
1483 // CHECK-NEXT:         }
1484 // CHECK-NEXT:        },
1485 // CHECK-NEXT:        "text": " More arguments"
1486 // CHECK-NEXT:       }
1487 // CHECK-NEXT:      ]
1488 // CHECK-NEXT:     }
1489 // CHECK-NEXT:    ]
1490 // CHECK-NEXT:   }
1491 // CHECK-NEXT:  ]
1492 // CHECK-NEXT: }
1493