Synopsis - Cross-Reference
File: /tests/Parsers/Cxx/expected/func_template_arg.xml1<?xml version='1.0' encoding='ISO-8859-1'?> 2<ast> 3 <declarations> 4 <instance accessibility="0" class="Synopsis.AST.Class" file="Parsers/Cxx/input/func_template_arg.cc" language="C++" line="4" name="function" type="struct"> 5 <template> 6 <instance class="Synopsis.Type.Template" language="C++" name="function"> 7 <declaration/> 8 <parameters> 9 <instance class="Synopsis.AST.Parameter" identifier="" value=""> 10 <premodifier> 11 class 12 </premodifier> 13 <type> 14 <instance class="Synopsis.Type.Dependent" language="C++" name="Foo"/> 15 </type> 16 </instance> 17 </parameters> 18 </instance> 19 </template> 20 <comments> 21 <instance class="Synopsis.AST.Comment" file="Parsers/Cxx/input/func_template_arg.cc" line="1" suspect="1"> 22 <text> 23 // Test function pointers as template arguments 24 25 </text> 26 </instance> 27 </comments> 28 <declarations> 29 <instance accessibility="1" class="Synopsis.AST.Builtin" file="Parsers/Cxx/input/func_template_arg.cc" language="C++" line="1" name="EOS" type="EOS"/> 30 </declarations> 31 </instance> 32 <instance accessibility="0" class="Synopsis.AST.Class" file="Parsers/Cxx/input/func_template_arg.cc" language="C++" line="9" name="function<void()(A1,A2)>" type="struct"> 33 <template> 34 <instance class="Synopsis.Type.Template" language="C++" name="function<void()(A1,A2)>"> 35 <declaration/> 36 <parameters> 37 <instance class="Synopsis.AST.Parameter" identifier="" value=""> 38 <premodifier> 39 class 40 </premodifier> 41 <type> 42 <instance class="Synopsis.Type.Dependent" language="C++" name="A1"/> 43 </type> 44 </instance> 45 <instance class="Synopsis.AST.Parameter" identifier="" value=""> 46 <premodifier> 47 class 48 </premodifier> 49 <type> 50 <instance class="Synopsis.Type.Dependent" language="C++" name="A2"/> 51 </type> 52 </instance> 53 </parameters> 54 </instance> 55 </template> 56 <comments> 57 <instance class="Synopsis.AST.Comment" file="Parsers/Cxx/input/func_template_arg.cc" line="6" suspect="0"> 58 <text> 59 // Test template class with function argument 60// (not really a template function) 61 62 </text> 63 </instance> 64 </comments> 65 <declarations> 66 <instance accessibility="1" class="Synopsis.AST.Builtin" file="Parsers/Cxx/input/func_template_arg.cc" language="C++" line="6" name="EOS" type="EOS"/> 67 </declarations> 68 </instance> 69 <instance accessibility="0" class="Synopsis.AST.Class" file="Parsers/Cxx/input/func_template_arg.cc" language="C++" line="13" name="function<R()(void)>" type="struct"> 70 <template> 71 <instance class="Synopsis.Type.Template" language="C++" name="function<R()(void)>"> 72 <declaration/> 73 <parameters> 74 <instance class="Synopsis.AST.Parameter" identifier="" value=""> 75 <premodifier> 76 class 77 </premodifier> 78 <type> 79 <instance class="Synopsis.Type.Dependent" language="C++" name="R"/> 80 </type> 81 </instance> 82 </parameters> 83 </instance> 84 </template> 85 <comments> 86 <instance class="Synopsis.AST.Comment" file="Parsers/Cxx/input/func_template_arg.cc" line="11" suspect="0"> 87 <text> 88 // Test return type fptr 89 90 </text> 91 </instance> 92 </comments> 93 <declarations> 94 <instance accessibility="1" class="Synopsis.AST.Builtin" file="Parsers/Cxx/input/func_template_arg.cc" language="C++" line="11" name="EOS" type="EOS"/> 95 </declarations> 96 </instance> 97 <instance accessibility="0" class="Synopsis.AST.Class" file="Parsers/Cxx/input/func_template_arg.cc" language="C++" line="17" name="function<R()(int,int)>" type="struct"> 98 <template> 99 <instance class="Synopsis.Type.Template" language="C++" name="function<R()(int,int)>"> 100 <declaration/> 101 <parameters> 102 <instance class="Synopsis.AST.Parameter" identifier="" value=""> 103 <premodifier> 104 class 105 </premodifier> 106 <type> 107 <instance class="Synopsis.Type.Dependent" language="C++" name="R"/> 108 </type> 109 </instance> 110 </parameters> 111 </instance> 112 </template> 113 <comments> 114 <instance class="Synopsis.AST.Comment" file="Parsers/Cxx/input/func_template_arg.cc" line="15" suspect="0"> 115 <text> 116 // Test return type fptr 117 118 </text> 119 </instance> 120 </comments> 121 <declarations> 122 <instance accessibility="1" class="Synopsis.AST.Builtin" file="Parsers/Cxx/input/func_template_arg.cc" language="C++" line="15" name="EOS" type="EOS"/> 123 </declarations> 124 </instance> 125 </declarations> 126 <types> 127 <instance class="Synopsis.Type.Declared" language="C++" name="EOS"> 128 <declaration/> 129 </instance> 130 <instance class="Synopsis.Type.Declared" language="C++" name="function"> 131 <declaration/> 132 </instance> 133 <instance class="Synopsis.Type.Declared" language="C++" name="function<R()(int,int)>"> 134 <declaration/> 135 </instance> 136 <instance class="Synopsis.Type.Declared" language="C++" name="function<R()(void)>"> 137 <declaration/> 138 </instance> 139 <instance class="Synopsis.Type.Declared" language="C++" name="function<void()(A1,A2)>"> 140 <declaration/> 141 </instance> 142 </types> 143 <files> 144 <instance class="Synopsis.AST.SourceFile" filename="Parsers/Cxx/input/func_template_arg.cc" is_main="1" language="C++"> 145 <declarations/> 146 <macro_calls/> 147 </instance> 148 </files> 149</ast>