<?xml version='1.0' encoding='ISO-8859-1'?>
<ast>
 <declarations>
  <instance accessibility="0" class="Synopsis.AST.Class" file="Parsers/Cxx/input/groups2.cc" language="C++" line="8" name="foo" type="struct">
   <comments>
    <instance class="Synopsis.AST.Comment" file="Parsers/Cxx/input/groups2.cc" line="1" suspect="1">
     <text>
      // group documentation
// @group first group { some comment

     </text>
    </instance>
    <instance class="Synopsis.AST.Comment" file="Parsers/Cxx/input/groups2.cc" line="4" suspect="1">
     <text>
      // continued and
// extending over multiple lines

     </text>
    </instance>
    <instance class="Synopsis.AST.Comment" file="Parsers/Cxx/input/groups2.cc" line="7" suspect="0">
     <text>
      // another comment

     </text>
    </instance>
   </comments>
   <declarations>
    <instance accessibility="3" class="Synopsis.AST.Operation" file="Parsers/Cxx/input/groups2.cc" language="C++" line="18" name="foo.make_fn()" realname="make_fn" type="member function">
     <comments>
      <instance class="Synopsis.AST.Comment" file="Parsers/Cxx/input/groups2.cc" line="10" suspect="1">
       <text>
        // helper functions

       </text>
      </instance>
      <instance class="Synopsis.AST.Comment" file="Parsers/Cxx/input/groups2.cc" line="12" suspect="1">
       <text>
        // blabla
  //
  // @group make_fn {

       </text>
      </instance>
      <instance class="Synopsis.AST.Comment" file="Parsers/Cxx/input/groups2.cc" line="16" suspect="0">
       <text>
        // bla.
  // blabla

       </text>
      </instance>
     </comments>
     <returnType>
      <instance class="Synopsis.Type.Base" language="C++" name="int"/>
     </returnType>
    </instance>
    <instance accessibility="3" class="Synopsis.AST.Operation" file="Parsers/Cxx/input/groups2.cc" language="C++" line="21" name="foo.make_fn(int)" realname="make_fn" type="member function">
     <comments>
      <instance class="Synopsis.AST.Comment" file="Parsers/Cxx/input/groups2.cc" line="19" suspect="0">
       <text>
        // bla.
  // blabla

       </text>
      </instance>
     </comments>
     <parameters>
      <instance class="Synopsis.AST.Parameter" identifier="" value="">
       <type/>
      </instance>
     </parameters>
     <returnType/>
    </instance>
    <instance accessibility="3" class="Synopsis.AST.Builtin" file="Parsers/Cxx/input/groups2.cc" language="C++" line="19" name="EOS" type="EOS">
     <comments>
      <instance class="Synopsis.AST.Comment" file="Parsers/Cxx/input/groups2.cc" line="22" suspect="0">
       <text>
        // }
  // @group } is this lost ?

       </text>
      </instance>
     </comments>
    </instance>
   </declarations>
  </instance>
  <instance accessibility="0" class="Synopsis.AST.Variable" constr="0" file="Parsers/Cxx/input/groups2.cc" language="C++" line="25" name="test1" type="global variable">
   <vtype/>
  </instance>
  <instance accessibility="0" class="Synopsis.AST.Variable" constr="0" file="Parsers/Cxx/input/groups2.cc" language="C++" line="26" name="test2" type="global variable">
   <vtype/>
  </instance>
  <instance accessibility="0" class="Synopsis.AST.Variable" constr="0" file="Parsers/Cxx/input/groups2.cc" language="C++" line="28" name="bar" type="global variable">
   <comments>
    <instance class="Synopsis.AST.Comment" file="Parsers/Cxx/input/groups2.cc" line="27" suspect="0">
     <text>
      // @group }

     </text>
    </instance>
   </comments>
   <vtype/>
  </instance>
  <instance accessibility="0" class="Synopsis.AST.Variable" constr="0" file="Parsers/Cxx/input/groups2.cc" language="C++" line="31" name="test3" type="global variable">
   <comments>
    <instance class="Synopsis.AST.Comment" file="Parsers/Cxx/input/groups2.cc" line="29" suspect="0">
     <text>
      // another group
// @group tests {

     </text>
    </instance>
   </comments>
   <vtype/>
  </instance>
  <instance accessibility="0" class="Synopsis.AST.Variable" constr="0" file="Parsers/Cxx/input/groups2.cc" language="C++" line="32" name="test4" type="global variable">
   <vtype/>
  </instance>
  <instance accessibility="0" class="Synopsis.AST.Variable" constr="0" file="Parsers/Cxx/input/groups2.cc" language="C++" line="38" name="f" type="global variable">
   <comments>
    <instance class="Synopsis.AST.Comment" file="Parsers/Cxx/input/groups2.cc" line="33" suspect="1">
     <text>
      // @group }

     </text>
    </instance>
    <instance class="Synopsis.AST.Comment" file="Parsers/Cxx/input/groups2.cc" line="35" suspect="1">
     <text>
      // @group outer {

     </text>
    </instance>
    <instance class="Synopsis.AST.Comment" file="Parsers/Cxx/input/groups2.cc" line="37" suspect="0">
     <text>
      // @group inner {

     </text>
    </instance>
   </comments>
   <vtype/>
  </instance>
  <instance accessibility="0" class="Synopsis.AST.Variable" constr="0" file="Parsers/Cxx/input/groups2.cc" language="C++" line="40" name="test5" type="global variable">
   <comments>
    <instance class="Synopsis.AST.Comment" file="Parsers/Cxx/input/groups2.cc" line="39" suspect="0">
     <text>
      // @group xxx { not a group

     </text>
    </instance>
   </comments>
   <vtype/>
  </instance>
  <instance accessibility="0" class="Synopsis.AST.Variable" constr="0" file="Parsers/Cxx/input/groups2.cc" language="C++" line="44" name="test6" type="global variable">
   <comments>
    <instance class="Synopsis.AST.Comment" file="Parsers/Cxx/input/groups2.cc" line="41" suspect="0">
     <text>
      // @group } this is accepted
// @group }
// and this too

     </text>
    </instance>
   </comments>
   <vtype/>
  </instance>
  <instance accessibility="0" class="Synopsis.AST.Builtin" file="Parsers/Cxx/input/groups2.cc" language="C++" line="45" name="EOS" type="EOS">
   <comments>
    <instance class="Synopsis.AST.Comment" file="Parsers/Cxx/input/groups2.cc" line="45" suspect="1">
     <text>
      // @group }

     </text>
    </instance>
   </comments>
  </instance>
 </declarations>
 <types>
  <instance class="Synopsis.Type.Declared" language="C++" name="EOS">
   <declaration/>
  </instance>
  <instance class="Synopsis.Type.Declared" language="C++" name="bar">
   <declaration/>
  </instance>
  <instance class="Synopsis.Type.Declared" language="C++" name="f">
   <declaration/>
  </instance>
  <instance class="Synopsis.Type.Declared" language="C++" name="foo">
   <declaration/>
  </instance>
  <instance class="Synopsis.Type.Declared" language="C++" name="foo.make_fn()">
   <declaration/>
  </instance>
  <instance class="Synopsis.Type.Declared" language="C++" name="foo.make_fn(int)">
   <declaration/>
  </instance>
  <instance class="Synopsis.Type.Declared" language="C++" name="test1">
   <declaration/>
  </instance>
  <instance class="Synopsis.Type.Declared" language="C++" name="test2">
   <declaration/>
  </instance>
  <instance class="Synopsis.Type.Declared" language="C++" name="test3">
   <declaration/>
  </instance>
  <instance class="Synopsis.Type.Declared" language="C++" name="test4">
   <declaration/>
  </instance>
  <instance class="Synopsis.Type.Declared" language="C++" name="test5">
   <declaration/>
  </instance>
  <instance class="Synopsis.Type.Declared" language="C++" name="test6">
   <declaration/>
  </instance>
 </types>
 <files>
  <instance class="Synopsis.AST.SourceFile" filename="Parsers/Cxx/input/groups2.cc" is_main="1" language="C++">
   <declarations/>
   <macro_calls/>
  </instance>
 </files>
</ast>
