blob: d6a8616115e5f81444e7b83b3ac24d35729ff428 [file] [log] [blame]
Fariborz Jahanian6553c682012-10-15 18:58:50 +00001// RUN: rm -rf %t
2// RUN: mkdir %t
3// RUN: c-index-test -test-load-source all -comments-xml-schema=%S/../../bindings/xml/comment-xml-schema.rng %s > %t/out
4// RUN: FileCheck %s < %t/out
5// Test to search overridden methods for documentation when overriding method has none. rdar://12378793
6
7// Ensure that XML we generate is not invalid.
8// RUN: FileCheck %s -check-prefix=WRONG < %t/out
9// WRONG-NOT: CommentXMLInvalid
Fariborz Jahanian07c90ed2012-10-17 23:25:40 +000010// XFAIL: *
Fariborz Jahanian6553c682012-10-15 18:58:50 +000011
12/// \tparam
13/// \param AAA Blah blah
14template<typename T>
15void comment_to_html_conversion_17(T AAA);
16
17template<typename T>
18void comment_to_html_conversion_17(T PPP);
19
20/// \tparam BBB Bbb
21/// \tparam AAA Aaa
22template<typename AAA, typename BBB>
23void comment_to_html_conversion_19(AAA aaa, BBB bbb);
24
25template<typename PPP, typename QQQ>
26void comment_to_html_conversion_19(PPP aaa, QQQ bbb);
27
28/// \tparam BBB Bbb
29/// \tparam UUU Zzz
30/// \tparam CCC Ccc
31/// \tparam AAA Aaa
32template<typename AAA, typename BBB, int CCC>
33void comment_to_html_conversion_20(AAA aaa, BBB bbb);
34
35template<typename PPP, typename QQQ, int RRR>
36void comment_to_html_conversion_20(PPP aaa, QQQ bbb);
37
38/// \tparam AAA Aaa
39/// \tparam BBB Bbb
40/// \tparam CCC Ccc
41/// \tparam DDD Ddd
42template<template<template<typename CCC> class DDD, class BBB> class AAA>
43void comment_to_html_conversion_21();
44
45template<template<template<typename RRR> class SSS, class QQQ> class PPP>
46void comment_to_html_conversion_21();
47
48/// \tparam C1 Ccc 1
49/// \tparam AAA Zzz
50/// \tparam C2 Ccc 2
51/// \tparam C3 Ccc 3
52/// \tparam C4 Ccc 4
53/// \tparam BBB Bbb
54template<class C1, template<class C2, template<class C3, class C4> class BBB> class AAA>
55void comment_to_html_conversion_22();
56
57
58template<class CCC1, template<class CCC2, template<class CCC3, class CCC4> class QQQ> class PPP>
59void comment_to_html_conversion_22();
60
Fariborz Jahanian1bfb00d2012-10-17 21:58:03 +000061// CHECK: FullCommentAsXML=[<Function templateKind="template" file="{{[^"]+}}overriding-ftemplate-comments.cpp" line="14" column="6"><Name>comment_to_html_conversion_17</Name><USR>c:@FT@&gt;1#Tcomment_to_html_conversion_17#t0.0#</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>] CommentXMLValid
Fariborz Jahanian6553c682012-10-15 18:58:50 +000062
Fariborz Jahanian1bfb00d2012-10-17 21:58:03 +000063// CHECK: FullCommentAsXML=[<Function templateKind="template" file="{{[^"]+}}overriding-ftemplate-comments.cpp" line="17" column="6"><Name>comment_to_html_conversion_17</Name><USR>c:@FT@&gt;1#Tcomment_to_html_conversion_17#t0.0#</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>] CommentXMLValid
Fariborz Jahanian6553c682012-10-15 18:58:50 +000064
Fariborz Jahanian1bfb00d2012-10-17 21:58:03 +000065// CHECK: FullCommentAsXML=[<Function templateKind="template" file="{{[^"]+}}overriding-ftemplate-comments.cpp" line="22" column="6"><Name>comment_to_html_conversion_19</Name><USR>c:@FT@&gt;2#T#Tcomment_to_html_conversion_19#t0.0#t0.1#</USR><Declaration>template &lt;typename AAA, typename BBB&gt; void 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>] CommentXMLValid
Fariborz Jahanian6553c682012-10-15 18:58:50 +000066
Fariborz Jahanian1bfb00d2012-10-17 21:58:03 +000067// CHECK: FullCommentAsXML=[<Function templateKind="template" file="{{[^"]+}}overriding-ftemplate-comments.cpp" line="25" column="6"><Name>comment_to_html_conversion_19</Name><USR>c:@FT@&gt;2#T#Tcomment_to_html_conversion_19#t0.0#t0.1#</USR><Declaration>template &lt;typename PPP, typename QQQ&gt; void 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>] CommentXMLValid
Fariborz Jahanian6553c682012-10-15 18:58:50 +000068
Fariborz Jahanian1bfb00d2012-10-17 21:58:03 +000069// CHECK: FullCommentAsXML=[<Function templateKind="template" file="{{[^"]+}}overriding-ftemplate-comments.cpp" line="32" 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#</USR><Declaration>template &lt;typename AAA, typename BBB, int CCC&gt; void 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>] CommentXMLValid
Fariborz Jahanian6553c682012-10-15 18:58:50 +000070
Fariborz Jahanian1bfb00d2012-10-17 21:58:03 +000071// CHECK: FullCommentAsXML=[<Function templateKind="template" file="{{[^"]+}}overriding-ftemplate-comments.cpp" line="35" 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#</USR><Declaration>template &lt;typename PPP, typename QQQ, int RRR&gt; void 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>] CommentXMLValid
Fariborz Jahanian6553c682012-10-15 18:58:50 +000072
Fariborz Jahanian1bfb00d2012-10-17 21:58:03 +000073// CHECK: FullCommentAsXML=[<Function templateKind="template" file="{{[^"]+}}overriding-ftemplate-comments.cpp" line="42" 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#</USR><Declaration>template &lt;template &lt;template &lt;typename CCC&gt; class DDD, class BBB&gt; class AAA&gt; void 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>] CommentXMLValid
Fariborz Jahanian6553c682012-10-15 18:58:50 +000074
Fariborz Jahanian1bfb00d2012-10-17 21:58:03 +000075// CHECK: FullCommentAsXML=[<Function templateKind="template" file="{{[^"]+}}overriding-ftemplate-comments.cpp" line="45" 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#</USR><Declaration>template &lt;template &lt;template &lt;typename RRR&gt; class SSS, class QQQ&gt; class PPP&gt; void 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>] CommentXMLValid
Fariborz Jahanian6553c682012-10-15 18:58:50 +000076
Fariborz Jahanian1bfb00d2012-10-17 21:58:03 +000077// CHECK: FullCommentAsXML=[<Function templateKind="template" file="{{[^"]+}}overriding-ftemplate-comments.cpp" line="54" 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#</USR><Declaration>template &lt;class C1, template &lt;class C2, template &lt;class C3, class C4&gt; class BBB&gt; class AAA&gt; void 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>] CommentXMLValid
Fariborz Jahanian6553c682012-10-15 18:58:50 +000078
Fariborz Jahanian1bfb00d2012-10-17 21:58:03 +000079// CHECK: FullCommentAsXML=[<Function templateKind="template" file="{{[^"]+}}overriding-ftemplate-comments.cpp" line="58" 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#</USR><Declaration>template &lt;class CCC1, template &lt;class CCC2, template &lt;class CCC3, class CCC4&gt; class QQQ&gt; class PPP&gt; void 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>] CommentXMLValid
80