Synopsis - Cross-Reference

File: /tests/Parsers/Cxx/expected/template_spec2.xml
  1<?xml version='1.0' encoding='ISO-8859-1'?>
  2<ast>
  3 <declarations>
  4  <instance accessibility="0" class="Synopsis.AST.Class" file="Parsers/Cxx/input/template_spec2.cc" language="C++" line="3" name="list" type="class">
  5   <template>
  6    <instance class="Synopsis.Type.Template" language="C++" name="list">
  7     <declaration/>
  8     <parameters>
  9      <instance class="Synopsis.AST.Parameter" identifier="" value="">
 10       <premodifier>
 11        typename
 12       </premodifier>
 13       <type>
 14        <instance class="Synopsis.Type.Dependent" language="C++" name="T"/>
 15       </type>
 16      </instance>
 17      <instance class="Synopsis.AST.Parameter" identifier="I" value="4">
 18       <type>
 19        <instance class="Synopsis.Type.Base" language="C++" name="int"/>
 20       </type>
 21      </instance>
 22     </parameters>
 23    </instance>
 24   </template>
 25   <comments>
 26    <instance class="Synopsis.AST.Comment" file="Parsers/Cxx/input/template_spec2.cc" line="1" suspect="0">
 27     <text>
 28      // Test template specializations #2
 29
 30     </text>
 31    </instance>
 32   </comments>
 33   <declarations>
 34    <instance accessibility="1" class="Synopsis.AST.Operation" file="Parsers/Cxx/input/template_spec2.cc" language="C++" line="6" name="list.list(T*,int)" realname="list" type="member function">
 35     <parameters>
 36      <instance class="Synopsis.AST.Parameter" identifier="" value="">
 37       <type>
 38        <instance class="Synopsis.Type.Modifier" language="C++">
 39         <alias/>
 40         <postmod>
 41          *
 42         </postmod>
 43        </instance>
 44       </type>
 45      </instance>
 46      <instance class="Synopsis.AST.Parameter" identifier="size" value="">
 47       <type/>
 48      </instance>
 49     </parameters>
 50    </instance>
 51    <instance accessibility="1" class="Synopsis.AST.Operation" file="Parsers/Cxx/input/template_spec2.cc" language="C++" line="7" name="list.size()" realname="size" type="member function">
 52     <returnType/>
 53    </instance>
 54    <instance accessibility="1" class="Synopsis.AST.Builtin" file="Parsers/Cxx/input/template_spec2.cc" language="C++" line="7" name="EOS" type="EOS"/>
 55   </declarations>
 56  </instance>
 57  <instance accessibility="0" class="Synopsis.AST.Class" file="Parsers/Cxx/input/template_spec2.cc" language="C++" line="11" name="list&lt;T,0&gt;" type="class">
 58   <template>
 59    <instance class="Synopsis.Type.Template" language="C++" name="list&lt;T,0&gt;">
 60     <declaration/>
 61     <parameters>
 62      <instance class="Synopsis.AST.Parameter" identifier="" value="">
 63       <premodifier>
 64        typename
 65       </premodifier>
 66       <type>
 67        <instance class="Synopsis.Type.Dependent" language="C++" name="T"/>
 68       </type>
 69      </instance>
 70     </parameters>
 71    </instance>
 72   </template>
 73   <declarations>
 74    <instance accessibility="1" class="Synopsis.AST.Operation" file="Parsers/Cxx/input/template_spec2.cc" language="C++" line="14" name="list&lt;T,0&gt;.list(void*,int)" realname="list" type="member function">
 75     <parameters>
 76      <instance class="Synopsis.AST.Parameter" identifier="" value="">
 77       <type>
 78        <instance class="Synopsis.Type.Modifier" language="C++">
 79         <alias>
 80          <instance class="Synopsis.Type.Base" language="C++" name="void"/>
 81         </alias>
 82         <postmod>
 83          *
 84         </postmod>
 85        </instance>
 86       </type>
 87      </instance>
 88      <instance class="Synopsis.AST.Parameter" identifier="size" value="">
 89       <type/>
 90      </instance>
 91     </parameters>
 92    </instance>
 93    <instance accessibility="1" class="Synopsis.AST.Operation" file="Parsers/Cxx/input/template_spec2.cc" language="C++" line="15" name="list&lt;T,0&gt;.size()" realname="size" type="member function">
 94     <returnType/>
 95    </instance>
 96    <instance accessibility="1" class="Synopsis.AST.Builtin" file="Parsers/Cxx/input/template_spec2.cc" language="C++" line="15" name="EOS" type="EOS"/>
 97   </declarations>
 98  </instance>
 99  <instance accessibility="0" class="Synopsis.AST.Class" file="Parsers/Cxx/input/template_spec2.cc" language="C++" line="19" name="list&lt;int,I&gt;" type="class">
100   <template>
101    <instance class="Synopsis.Type.Template" language="C++" name="list&lt;int,I&gt;">
102     <declaration/>
103     <parameters>
104      <instance class="Synopsis.AST.Parameter" identifier="I" value="">
105       <type/>
106      </instance>
107     </parameters>
108    </instance>
109   </template>
110   <declarations>
111    <instance accessibility="1" class="Synopsis.AST.Operation" file="Parsers/Cxx/input/template_spec2.cc" language="C++" line="22" name="list&lt;int,I&gt;.list(int*,int)" realname="list" type="member function">
112     <parameters>
113      <instance class="Synopsis.AST.Parameter" identifier="" value="">
114       <type>
115        <instance class="Synopsis.Type.Modifier" language="C++">
116         <alias/>
117         <postmod>
118          *
119         </postmod>
120        </instance>
121       </type>
122      </instance>
123      <instance class="Synopsis.AST.Parameter" identifier="size" value="">
124       <type/>
125      </instance>
126     </parameters>
127    </instance>
128    <instance accessibility="1" class="Synopsis.AST.Operation" file="Parsers/Cxx/input/template_spec2.cc" language="C++" line="23" name="list&lt;int,I&gt;.size()" realname="size" type="member function">
129     <returnType/>
130    </instance>
131    <instance accessibility="1" class="Synopsis.AST.Builtin" file="Parsers/Cxx/input/template_spec2.cc" language="C++" line="23" name="EOS" type="EOS"/>
132   </declarations>
133  </instance>
134 </declarations>
135 <types>
136  <instance class="Synopsis.Type.Declared" language="C++" name="EOS">
137   <declaration/>
138  </instance>
139  <instance class="Synopsis.Type.Declared" language="C++" name="list">
140   <declaration/>
141  </instance>
142  <instance class="Synopsis.Type.Declared" language="C++" name="list.list(T*,int)">
143   <declaration/>
144  </instance>
145  <instance class="Synopsis.Type.Declared" language="C++" name="list.size()">
146   <declaration/>
147  </instance>
148  <instance class="Synopsis.Type.Declared" language="C++" name="list&lt;T,0&gt;">
149   <declaration/>
150  </instance>
151  <instance class="Synopsis.Type.Declared" language="C++" name="list&lt;T,0&gt;.list(void*,int)">
152   <declaration/>
153  </instance>
154  <instance class="Synopsis.Type.Declared" language="C++" name="list&lt;T,0&gt;.size()">
155   <declaration/>
156  </instance>
157  <instance class="Synopsis.Type.Declared" language="C++" name="list&lt;int,I&gt;">
158   <declaration/>
159  </instance>
160  <instance class="Synopsis.Type.Declared" language="C++" name="list&lt;int,I&gt;.list(int*,int)">
161   <declaration/>
162  </instance>
163  <instance class="Synopsis.Type.Declared" language="C++" name="list&lt;int,I&gt;.size()">
164   <declaration/>
165  </instance>
166 </types>
167 <files>
168  <instance class="Synopsis.AST.SourceFile" filename="Parsers/Cxx/input/template_spec2.cc" is_main="1" language="C++">
169   <declarations/>
170   <macro_calls/>
171  </instance>
172 </files>
173</ast>