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@>1#Tcomment_to_html_conversion_17#t0.0#v#</USR><Declaration>template <typename T> 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@>1#Tcomment_to_html_conversion_17#t0.0#v#</USR><Declaration>template <typename T> 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@>2#T#Tcomment_to_html_conversion_19#t0.0#t0.1#v#</USR><Declaration>template <typename AAA, typename BBB>\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@>2#T#Tcomment_to_html_conversion_19#t0.0#t0.1#v#</USR><Declaration>template <typename PPP, typename QQQ>\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@>3#T#T#NIcomment_to_html_conversion_20#t0.0#t0.1#v#</USR><Declaration>template <typename AAA, typename BBB, int CCC>\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@>3#T#T#NIcomment_to_html_conversion_20#t0.0#t0.1#v#</USR><Declaration>template <typename PPP, typename QQQ, int RRR>\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@>1#t>2#t>1#T#Tcomment_to_html_conversion_21#v#</USR><Declaration>template <template <template <typename CCC> class DDD, class BBB> class AAA>\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@>1#t>2#t>1#T#Tcomment_to_html_conversion_21#v#</USR><Declaration>template <template <template <typename RRR> class SSS, class QQQ> class PPP>\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@>2#T#t>2#T#t>2#T#Tcomment_to_html_conversion_22#v#</USR><Declaration>template <class C1, template <class C2, template <class C3, class C4> class BBB>\n class AAA>\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@>2#T#t>2#T#t>2#T#Tcomment_to_html_conversion_22#v#</USR><Declaration>template <class CCC1, template <class CCC2, template <class CCC3, class CCC4>\n class QQQ> class PPP>\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