<unit name="ok_link_tag_overloads">
  <routine name="TopLevelFunc" declaration="function TopLevelFunc(MyStr: string): integer; overload;" type="function">
  </routine>
  <routine name="TopLevelFunc" declaration="function TopLevelFunc(MyInt: Integer): Integer; overload;" type="function">
  </routine>
  <structure name="TLinkHolder" name_with_generic="TLinkHolder" type="class">
    <description><abstract>

<unorderedlist>
<item>TOverloadedMethods.Foo</item>
<item>TOverloadedMethods.Foo(Integer,Boolean)</item>
<item>TOverloadedMethods.Foo(const)</item>
<item>TOverloadedMethods.Bar</item>
<item>TOverloadedMethods.Bar(integer, boolean)</item>
<item>TOverloadedMethods.Bar(String)</item>
<item>TOverloadedMethods.Bar(const)</item>
<item>top level func, accepts string</item>
<item>top level func, accepts int</item>
</unorderedlist>

</abstract></description>
    <ancestor name="TObject" declaration="TObject" />
  </structure>
  <structure name="TOverloadedBase" name_with_generic="TOverloadedBase" type="class">
    <ancestor name="TObject" declaration="TObject" />
    <routine name="Bar" declaration="procedure Bar(MyInt: Integer; MyBool: Boolean); virtual;" visibility="public" type="procedure">
      <description><abstract><code>TOverloadedBase</code>.<code>Bar</code></abstract></description>
    </routine>
  </structure>
  <structure name="TOverloadedMethods" name_with_generic="TOverloadedMethods" type="class">
    <description><abstract>TLinkHolder</abstract></description>
    <ancestor name="TOverloadedBase" declaration="TOverloadedBase" />
    <routine name="Foo" declaration="procedure Foo(MyInt: IntEGEr); overload;" visibility="public" type="procedure">
    </routine>
    <routine name="Foo" declaration="procedure Foo(MyInt: Integer; MyBool: Boolean); overload;" visibility="public" type="procedure">
    </routine>
    <routine name="Foo" declaration="procedure Foo; overload;" visibility="public" type="procedure">
    </routine>
    <routine name="Foo" declaration="procedure Foo(MyStr: string); overload;" visibility="public" type="procedure">
    </routine>
    <routine name="Foo" declaration="procedure Foo(const MyStr); overload;" visibility="public" type="procedure">
    </routine>
    <routine name="Foo" declaration="procedure Foo(const MyStr, MyOtherStr: STRING); overload;" visibility="public" type="procedure">
    </routine>
    <routine name="Bar" declaration="procedure Bar(MyInt: IntEGEr); overload;" visibility="public" type="procedure">
      <description><abstract><code>Bar</code></abstract></description>
    </routine>
    <routine name="Bar" declaration="procedure Bar(MyInt: Integer; MyBool: Boolean); overload; override;" visibility="public" type="procedure">
    </routine>
    <routine name="Bar" declaration="procedure Bar(MyStr: string); overload;" visibility="public" type="procedure">
    </routine>
    <routine name="Bar" declaration="procedure Bar(const MyStr); overload;" visibility="public" type="procedure">
    </routine>
    <routine name="Bar" declaration="procedure Bar(const MyStr, MyOtherStr: STRING); overload;" visibility="public" type="procedure">
    </routine>
  </structure>
</unit>
