xref: /minix3/external/bsd/llvm/dist/clang/test/Index/overriding-ftemplate-comments.cpp (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1f4a2713aSLionel Sambuc // RUN: rm -rf %t
2f4a2713aSLionel Sambuc // RUN: mkdir %t
3f4a2713aSLionel Sambuc // RUN: c-index-test -test-load-source all -comments-xml-schema=%S/../../bindings/xml/comment-xml-schema.rng %s > %t/out
4f4a2713aSLionel Sambuc // RUN: FileCheck %s < %t/out
5f4a2713aSLionel Sambuc // Test to search overridden methods for documentation when overriding method has none. rdar://12378793
6f4a2713aSLionel Sambuc 
7f4a2713aSLionel Sambuc // Ensure that XML we generate is not invalid.
8f4a2713aSLionel Sambuc // RUN: FileCheck %s -check-prefix=WRONG < %t/out
9f4a2713aSLionel Sambuc // WRONG-NOT: CommentXMLInvalid
10f4a2713aSLionel Sambuc 
11f4a2713aSLionel Sambuc /// \tparam
12f4a2713aSLionel Sambuc /// \param AAA Blah blah
13f4a2713aSLionel Sambuc template<typename T>
14f4a2713aSLionel Sambuc void comment_to_html_conversion_17(T AAA);
15f4a2713aSLionel Sambuc 
16*0a6a1f1dSLionel Sambuc // CHECK: FullCommentAsXML=[<Function templateKind="template" file="{{[^"]+}}overriding-ftemplate-comments.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_17</Name><USR>c:@FT@&gt;1#Tcomment_to_html_conversion_17#t0.0#v#</USR><Declaration>template &lt;typename T&gt; void comment_to_html_conversion_17(T AAA)</Declaration><Parameters><Parameter><Name>AAA</Name><Index>0</Index><Direction isExplicit="0">in</Direction><Discussion><Para> Blah blah</Para></Discussion></Parameter></Parameters></Function>]
17f4a2713aSLionel Sambuc 
18f4a2713aSLionel Sambuc template<typename T>
19f4a2713aSLionel Sambuc void comment_to_html_conversion_17(T PPP);
20f4a2713aSLionel Sambuc 
21*0a6a1f1dSLionel Sambuc // CHECK: FullCommentAsXML=[<Function templateKind="template" file="{{[^"]+}}overriding-ftemplate-comments.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_17</Name><USR>c:@FT@&gt;1#Tcomment_to_html_conversion_17#t0.0#v#</USR><Declaration>template &lt;typename T&gt; void comment_to_html_conversion_17(T PPP)</Declaration><Parameters><Parameter><Name>PPP</Name><Index>0</Index><Direction isExplicit="0">in</Direction><Discussion><Para> Blah blah</Para></Discussion></Parameter></Parameters></Function>]
22f4a2713aSLionel Sambuc 
23f4a2713aSLionel Sambuc //===----------------------------------------------------------------------===//
24f4a2713aSLionel Sambuc 
25f4a2713aSLionel Sambuc /// \tparam BBB Bbb
26f4a2713aSLionel Sambuc /// \tparam AAA Aaa
27f4a2713aSLionel Sambuc template<typename AAA, typename BBB>
28f4a2713aSLionel Sambuc void comment_to_html_conversion_19(AAA aaa, BBB bbb);
29f4a2713aSLionel Sambuc 
30*0a6a1f1dSLionel Sambuc // CHECK: FullCommentAsXML=[<Function templateKind="template" file="{{[^"]+}}overriding-ftemplate-comments.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_19</Name><USR>c:@FT@&gt;2#T#Tcomment_to_html_conversion_19#t0.0#t0.1#v#</USR><Declaration>template &lt;typename AAA, typename BBB&gt;\nvoid comment_to_html_conversion_19(AAA aaa, BBB bbb)</Declaration><TemplateParameters><Parameter><Name>AAA</Name><Index>0</Index><Discussion><Para> Aaa</Para></Discussion></Parameter><Parameter><Name>BBB</Name><Index>1</Index><Discussion><Para> Bbb </Para></Discussion></Parameter></TemplateParameters></Function>]
31f4a2713aSLionel Sambuc 
32f4a2713aSLionel Sambuc template<typename PPP, typename QQQ>
33f4a2713aSLionel Sambuc void comment_to_html_conversion_19(PPP aaa, QQQ bbb);
34f4a2713aSLionel Sambuc 
35*0a6a1f1dSLionel Sambuc // CHECK: FullCommentAsXML=[<Function templateKind="template" file="{{[^"]+}}overriding-ftemplate-comments.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_19</Name><USR>c:@FT@&gt;2#T#Tcomment_to_html_conversion_19#t0.0#t0.1#v#</USR><Declaration>template &lt;typename PPP, typename QQQ&gt;\nvoid comment_to_html_conversion_19(PPP aaa, QQQ bbb)</Declaration><TemplateParameters><Parameter><Name>PPP</Name><Index>0</Index><Discussion><Para> Aaa</Para></Discussion></Parameter><Parameter><Name>QQQ</Name><Index>1</Index><Discussion><Para> Bbb </Para></Discussion></Parameter></TemplateParameters></Function>]
36f4a2713aSLionel Sambuc 
37f4a2713aSLionel Sambuc //===----------------------------------------------------------------------===//
38f4a2713aSLionel Sambuc 
39f4a2713aSLionel Sambuc /// \tparam BBB Bbb
40f4a2713aSLionel Sambuc /// \tparam UUU Zzz
41f4a2713aSLionel Sambuc /// \tparam CCC Ccc
42f4a2713aSLionel Sambuc /// \tparam AAA Aaa
43f4a2713aSLionel Sambuc template<typename AAA, typename BBB, int CCC>
44f4a2713aSLionel Sambuc void comment_to_html_conversion_20(AAA aaa, BBB bbb);
45f4a2713aSLionel Sambuc 
46*0a6a1f1dSLionel Sambuc // CHECK: FullCommentAsXML=[<Function templateKind="template" file="{{[^"]+}}overriding-ftemplate-comments.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_20</Name><USR>c:@FT@&gt;3#T#T#NIcomment_to_html_conversion_20#t0.0#t0.1#v#</USR><Declaration>template &lt;typename AAA, typename BBB, int CCC&gt;\nvoid comment_to_html_conversion_20(AAA aaa, BBB bbb)</Declaration><TemplateParameters><Parameter><Name>AAA</Name><Index>0</Index><Discussion><Para> Aaa</Para></Discussion></Parameter><Parameter><Name>BBB</Name><Index>1</Index><Discussion><Para> Bbb </Para></Discussion></Parameter><Parameter><Name>CCC</Name><Index>2</Index><Discussion><Para> Ccc </Para></Discussion></Parameter><Parameter><Name>UUU</Name><Discussion><Para> Zzz </Para></Discussion></Parameter></TemplateParameters></Function>]
47f4a2713aSLionel Sambuc 
48f4a2713aSLionel Sambuc template<typename PPP, typename QQQ, int RRR>
49f4a2713aSLionel Sambuc void comment_to_html_conversion_20(PPP aaa, QQQ bbb);
50f4a2713aSLionel Sambuc 
51*0a6a1f1dSLionel Sambuc // CHECK: FullCommentAsXML=[<Function templateKind="template" file="{{[^"]+}}overriding-ftemplate-comments.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_20</Name><USR>c:@FT@&gt;3#T#T#NIcomment_to_html_conversion_20#t0.0#t0.1#v#</USR><Declaration>template &lt;typename PPP, typename QQQ, int RRR&gt;\nvoid comment_to_html_conversion_20(PPP aaa, QQQ bbb)</Declaration><TemplateParameters><Parameter><Name>PPP</Name><Index>0</Index><Discussion><Para> Aaa</Para></Discussion></Parameter><Parameter><Name>QQQ</Name><Index>1</Index><Discussion><Para> Bbb </Para></Discussion></Parameter><Parameter><Name>RRR</Name><Index>2</Index><Discussion><Para> Ccc </Para></Discussion></Parameter><Parameter><Name>UUU</Name><Discussion><Para> Zzz </Para></Discussion></Parameter></TemplateParameters></Function>]
52f4a2713aSLionel Sambuc 
53f4a2713aSLionel Sambuc //===----------------------------------------------------------------------===//
54f4a2713aSLionel Sambuc 
55f4a2713aSLionel Sambuc /// \tparam AAA Aaa
56f4a2713aSLionel Sambuc /// \tparam BBB Bbb
57f4a2713aSLionel Sambuc /// \tparam CCC Ccc
58f4a2713aSLionel Sambuc /// \tparam DDD Ddd
59f4a2713aSLionel Sambuc template<template<template<typename CCC> class DDD, class BBB> class AAA>
60f4a2713aSLionel Sambuc void comment_to_html_conversion_21();
61f4a2713aSLionel Sambuc 
62*0a6a1f1dSLionel Sambuc // CHECK: FullCommentAsXML=[<Function templateKind="template" file="{{[^"]+}}overriding-ftemplate-comments.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_21</Name><USR>c:@FT@&gt;1#t&gt;2#t&gt;1#T#Tcomment_to_html_conversion_21#v#</USR><Declaration>template &lt;template &lt;template &lt;typename CCC&gt; class DDD, class BBB&gt; class AAA&gt;\nvoid comment_to_html_conversion_21()</Declaration><TemplateParameters><Parameter><Name>AAA</Name><Index>0</Index><Discussion><Para> Aaa </Para></Discussion></Parameter><Parameter><Name>BBB</Name><Discussion><Para> Bbb </Para></Discussion></Parameter><Parameter><Name>CCC</Name><Discussion><Para> Ccc </Para></Discussion></Parameter><Parameter><Name>DDD</Name><Discussion><Para> Ddd</Para></Discussion></Parameter></TemplateParameters></Function>]
63f4a2713aSLionel Sambuc 
64f4a2713aSLionel Sambuc template<template<template<typename RRR> class SSS, class QQQ> class PPP>
65f4a2713aSLionel Sambuc void comment_to_html_conversion_21();
66f4a2713aSLionel Sambuc 
67*0a6a1f1dSLionel Sambuc // CHECK: FullCommentAsXML=[<Function templateKind="template" file="{{[^"]+}}overriding-ftemplate-comments.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_21</Name><USR>c:@FT@&gt;1#t&gt;2#t&gt;1#T#Tcomment_to_html_conversion_21#v#</USR><Declaration>template &lt;template &lt;template &lt;typename RRR&gt; class SSS, class QQQ&gt; class PPP&gt;\nvoid comment_to_html_conversion_21()</Declaration><TemplateParameters><Parameter><Name>PPP</Name><Index>0</Index><Discussion><Para> Aaa </Para></Discussion></Parameter><Parameter><Name>QQQ</Name><Discussion><Para> Bbb </Para></Discussion></Parameter><Parameter><Name>RRR</Name><Discussion><Para> Ccc </Para></Discussion></Parameter><Parameter><Name>SSS</Name><Discussion><Para> Ddd</Para></Discussion></Parameter></TemplateParameters></Function>]
68f4a2713aSLionel Sambuc 
69f4a2713aSLionel Sambuc //===----------------------------------------------------------------------===//
70f4a2713aSLionel Sambuc 
71f4a2713aSLionel Sambuc /// \tparam C1 Ccc 1
72f4a2713aSLionel Sambuc /// \tparam AAA Zzz
73f4a2713aSLionel Sambuc /// \tparam C2 Ccc 2
74f4a2713aSLionel Sambuc /// \tparam C3 Ccc 3
75f4a2713aSLionel Sambuc /// \tparam C4 Ccc 4
76f4a2713aSLionel Sambuc /// \tparam BBB Bbb
77f4a2713aSLionel Sambuc template <class C1, template <class C2, template <class C3, class C4> class BBB > class AAA>
78f4a2713aSLionel Sambuc void comment_to_html_conversion_22();
79f4a2713aSLionel Sambuc 
80*0a6a1f1dSLionel Sambuc // CHECK: FullCommentAsXML=[<Function templateKind="template" file="{{[^"]+}}overriding-ftemplate-comments.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_22</Name><USR>c:@FT@&gt;2#T#t&gt;2#T#t&gt;2#T#Tcomment_to_html_conversion_22#v#</USR><Declaration>template &lt;class C1, template &lt;class C2, template &lt;class C3, class C4&gt; class BBB&gt;\n      class AAA&gt;\nvoid comment_to_html_conversion_22()</Declaration><TemplateParameters><Parameter><Name>C1</Name><Index>0</Index><Discussion><Para> Ccc 1 </Para></Discussion></Parameter><Parameter><Name>AAA</Name><Index>1</Index><Discussion><Para> Zzz </Para></Discussion></Parameter><Parameter><Name>C2</Name><Discussion><Para> Ccc 2 </Para></Discussion></Parameter><Parameter><Name>C3</Name><Discussion><Para> Ccc 3 </Para></Discussion></Parameter><Parameter><Name>C4</Name><Discussion><Para> Ccc 4 </Para></Discussion></Parameter><Parameter><Name>BBB</Name><Discussion><Para> Bbb</Para></Discussion></Parameter></TemplateParameters></Function>]
81f4a2713aSLionel Sambuc 
82f4a2713aSLionel Sambuc template<class CCC1, template<class CCC2, template<class CCC3, class CCC4> class QQQ> class PPP>
83f4a2713aSLionel Sambuc void comment_to_html_conversion_22();
84f4a2713aSLionel Sambuc 
85*0a6a1f1dSLionel Sambuc // CHECK: FullCommentAsXML=[<Function templateKind="template" file="{{[^"]+}}overriding-ftemplate-comments.cpp" line="[[@LINE-2]]" column="6"><Name>comment_to_html_conversion_22</Name><USR>c:@FT@&gt;2#T#t&gt;2#T#t&gt;2#T#Tcomment_to_html_conversion_22#v#</USR><Declaration>template &lt;class CCC1, template &lt;class CCC2, template &lt;class CCC3, class CCC4&gt;\n                            class QQQ&gt; class PPP&gt;\nvoid comment_to_html_conversion_22()</Declaration><TemplateParameters><Parameter><Name>CCC1</Name><Index>0</Index><Discussion><Para> Ccc 1 </Para></Discussion></Parameter><Parameter><Name>PPP</Name><Index>1</Index><Discussion><Para> Zzz </Para></Discussion></Parameter><Parameter><Name>CCC2</Name><Discussion><Para> Ccc 2 </Para></Discussion></Parameter><Parameter><Name>CCC3</Name><Discussion><Para> Ccc 3 </Para></Discussion></Parameter><Parameter><Name>CCC4</Name><Discussion><Para> Ccc 4 </Para></Discussion></Parameter><Parameter><Name>QQQ</Name><Discussion><Para> Bbb</Para></Discussion></Parameter></TemplateParameters></Function>]
86f4a2713aSLionel Sambuc 
87