Synopsis - Cross-Reference

File: /tests/Parsers/Cxx/expected/func_template_arg.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/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&lt;void()(A1,A2)&gt;" type="struct">
 33   <template>
 34    <instance class="Synopsis.Type.Template" language="C++" name="function&lt;void()(A1,A2)&gt;">
 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&lt;R()(void)&gt;" type="struct">
 70   <template>
 71    <instance class="Synopsis.Type.Template" language="C++" name="function&lt;R()(void)&gt;">
 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&lt;R()(int,int)&gt;" type="struct">
 98   <template>
 99    <instance class="Synopsis.Type.Template" language="C++" name="function&lt;R()(int,int)&gt;">
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&lt;R()(int,int)&gt;">
134   <declaration/>
135  </instance>
136  <instance class="Synopsis.Type.Declared" language="C++" name="function&lt;R()(void)&gt;">
137   <declaration/>
138  </instance>
139  <instance class="Synopsis.Type.Declared" language="C++" name="function&lt;void()(A1,A2)&gt;">
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>