Synopsis - Cross-Reference
File: /tests/Parsers/Cxx/expected/func_template.xml1<?xml version='1.0' encoding='ISO-8859-1'?> 2<ast> 3 <declarations> 4 <instance accessibility="0" class="Synopsis.AST.Function" file="Parsers/Cxx/input/func_template.cc" language="C++" line="5" name="func1(A)" realname="func1" type="function"> 5 <comments> 6 <instance class="Synopsis.AST.Comment" file="Parsers/Cxx/input/func_template.cc" line="1" suspect="1"> 7 <text> 8 // Test function templates 9 10 </text> 11 </instance> 12 <instance class="Synopsis.AST.Comment" file="Parsers/Cxx/input/func_template.cc" line="3" suspect="0"> 13 <text> 14 // Test template arg 15 16 </text> 17 </instance> 18 </comments> 19 <parameters> 20 <instance class="Synopsis.AST.Parameter" identifier="a" value=""> 21 <type> 22 <instance class="Synopsis.Type.Dependent" language="C++" name="A"/> 23 </type> 24 </instance> 25 </parameters> 26 <returnType> 27 <instance class="Synopsis.Type.Base" language="C++" name="int"/> 28 </returnType> 29 <template> 30 <instance class="Synopsis.Type.Template" language="C++" name="func1(A)"> 31 <declaration/> 32 <parameters> 33 <instance class="Synopsis.AST.Parameter" identifier="" value=""> 34 <premodifier> 35 class 36 </premodifier> 37 <type/> 38 </instance> 39 </parameters> 40 </instance> 41 </template> 42 </instance> 43 <instance accessibility="0" class="Synopsis.AST.Function" file="Parsers/Cxx/input/func_template.cc" language="C++" line="9" name="func2(int)" realname="func2" type="function"> 44 <comments> 45 <instance class="Synopsis.AST.Comment" file="Parsers/Cxx/input/func_template.cc" line="7" suspect="0"> 46 <text> 47 // Test template return 48 49 </text> 50 </instance> 51 </comments> 52 <parameters> 53 <instance class="Synopsis.AST.Parameter" identifier="i" value=""> 54 <type/> 55 </instance> 56 </parameters> 57 <returnType> 58 <instance class="Synopsis.Type.Dependent" language="C++" name="A"/> 59 </returnType> 60 <template> 61 <instance class="Synopsis.Type.Template" language="C++" name="func2(int)"> 62 <declaration/> 63 <parameters> 64 <instance class="Synopsis.AST.Parameter" identifier="" value=""> 65 <premodifier> 66 class 67 </premodifier> 68 <type/> 69 </instance> 70 </parameters> 71 </instance> 72 </template> 73 </instance> 74 <instance accessibility="0" class="Synopsis.AST.Function" file="Parsers/Cxx/input/func_template.cc" language="C++" line="13" name="func2(A)" realname="func2" type="function"> 75 <comments> 76 <instance class="Synopsis.AST.Comment" file="Parsers/Cxx/input/func_template.cc" line="11" suspect="0"> 77 <text> 78 // Test template arg and return 79 80 </text> 81 </instance> 82 </comments> 83 <parameters> 84 <instance class="Synopsis.AST.Parameter" identifier="a" value=""> 85 <type> 86 <instance class="Synopsis.Type.Dependent" language="C++" name="A"/> 87 </type> 88 </instance> 89 </parameters> 90 <returnType/> 91 <template> 92 <instance class="Synopsis.Type.Template" language="C++" name="func2(A)"> 93 <declaration/> 94 <parameters> 95 <instance class="Synopsis.AST.Parameter" identifier="" value=""> 96 <premodifier> 97 class 98 </premodifier> 99 <type/> 100 </instance> 101 </parameters> 102 </instance> 103 </template> 104 </instance> 105 <instance accessibility="0" class="Synopsis.AST.Function" file="Parsers/Cxx/input/func_template.cc" language="C++" line="17" name="func2(A)" realname="func2" type="function"> 106 <comments> 107 <instance class="Synopsis.AST.Comment" file="Parsers/Cxx/input/func_template.cc" line="15" suspect="0"> 108 <text> 109 // Test template arg and return w/ different types 110 111 </text> 112 </instance> 113 </comments> 114 <parameters> 115 <instance class="Synopsis.AST.Parameter" identifier="a" value=""> 116 <type> 117 <instance class="Synopsis.Type.Dependent" language="C++" name="A"/> 118 </type> 119 </instance> 120 </parameters> 121 <returnType> 122 <instance class="Synopsis.Type.Dependent" language="C++" name="B"/> 123 </returnType> 124 <template> 125 <instance class="Synopsis.Type.Template" language="C++" name="func2(A)"> 126 <declaration/> 127 <parameters> 128 <instance class="Synopsis.AST.Parameter" identifier="" value=""> 129 <premodifier> 130 class 131 </premodifier> 132 <type/> 133 </instance> 134 <instance class="Synopsis.AST.Parameter" identifier="" value=""> 135 <premodifier> 136 class 137 </premodifier> 138 <type/> 139 </instance> 140 </parameters> 141 </instance> 142 </template> 143 </instance> 144 <instance accessibility="0" class="Synopsis.AST.Function" file="Parsers/Cxx/input/func_template.cc" language="C++" line="21" name="func2(A)" realname="func2" type="function"> 145 <comments> 146 <instance class="Synopsis.AST.Comment" file="Parsers/Cxx/input/func_template.cc" line="19" suspect="0"> 147 <text> 148 // Test template arg and return w/ different types. Function declaration 149 150 </text> 151 </instance> 152 </comments> 153 <parameters> 154 <instance class="Synopsis.AST.Parameter" identifier="a" value=""> 155 <type> 156 <instance class="Synopsis.Type.Dependent" language="C++" name="A"/> 157 </type> 158 </instance> 159 </parameters> 160 <returnType> 161 <instance class="Synopsis.Type.Dependent" language="C++" name="B"/> 162 </returnType> 163 <template> 164 <instance class="Synopsis.Type.Template" language="C++" name="func2(A)"> 165 <declaration/> 166 <parameters> 167 <instance class="Synopsis.AST.Parameter" identifier="" value=""> 168 <premodifier> 169 class 170 </premodifier> 171 <type/> 172 </instance> 173 <instance class="Synopsis.AST.Parameter" identifier="" value=""> 174 <premodifier> 175 class 176 </premodifier> 177 <type/> 178 </instance> 179 </parameters> 180 </instance> 181 </template> 182 </instance> 183 </declarations> 184 <types> 185 <instance class="Synopsis.Type.Declared" language="C++" name="func1(A)"> 186 <declaration/> 187 </instance> 188 <instance class="Synopsis.Type.Declared" language="C++" name="func2(A)"> 189 <declaration/> 190 </instance> 191 <instance class="Synopsis.Type.Declared" language="C++" name="func2(int)"> 192 <declaration/> 193 </instance> 194 </types> 195 <files> 196 <instance class="Synopsis.AST.SourceFile" filename="Parsers/Cxx/input/func_template.cc" is_main="1" language="C++"> 197 <declarations/> 198 <macro_calls/> 199 </instance> 200 </files> 201</ast>