Synopsis - Cross-Reference

File: /tests/Parsers/Cxx/expected/func_template.xml
  1<?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>