<html devsite="true">
  <head>
    <title>OuterClass.InnerClass</title>
{% setvar book_path %}/reference/kotlin/dokkatest/_book.yaml{% endsetvar %}
{% include "_shared/_reference-head-tags.html" %}
  </head>
  <body>
    <div id="metadata-info-block"></div>
    <h1>OuterClass.InnerClass</h1>
    <p>
      <pre>open class <a href="/reference/kotlin/dokkatest/inner/OuterClass.InnerClass.html">OuterClass.InnerClass</a> : <a href="/reference/kotlin/dokkatest/inner/OuterClass.html">OuterClass</a>, <a href="/reference/kotlin/dokkatest/inner/OuterClass.InnerInterface.html">OuterClass.InnerInterface</a></pre>
    </p>
    <div class="devsite-table-wrapper">
      <table class="jd-inheritance-table">
        <tbody>
          <tr>
            <td colspan="3"><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html">kotlin.Any</a></td>
          </tr>
          <tr>
            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;↳</td>
            <td colspan="2"><a href="/reference/kotlin/dokkatest/inner/OuterClass.html">dokkatest.inner.OuterClass</a></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;↳</td>
            <td colspan="1"><a href="/reference/kotlin/dokkatest/inner/OuterClass.InnerClass.html">dokkatest.inner.OuterClass.InnerClass</a></td>
          </tr>
        </tbody>
      </table>
    </div>
    <div class="devsite-table-wrapper"><devsite-expandable><span class="expand-control jd-sumtable-subclasses">Known direct subclasses
        <div class="showalways" id="subclasses-direct"><a href="/reference/kotlin/dokkatest/inner/OuterClass.Leaf.html">OuterClass.Leaf</a></div>
      </span>
      <div id="subclasses-direct-summary">
        <div class="devsite-table-wrapper">
          <table class="responsive">
            <tbody class="list">
              <tr>
                <td width="40%"><code><a href="/reference/kotlin/dokkatest/inner/OuterClass.Leaf.html">OuterClass.Leaf</a></code></td>
                <td>
                  <p>I'm at the bottom of the hierarchy.</p>
                </td>
              </tr>
            </tbody>
          </table>
        </div>
      </div>
</devsite-expandable>    </div>
    <hr>
    <p>I collect the stones.</p>
    <h2>Summary</h2>
    <div class="devsite-table-wrapper">
      <table class="responsive">
        <thead>
          <tr>
            <th colspan="100%"><h3>Public constructors</h3></th>
          </tr>
        </thead>
        <tbody class="list">
          <tr>
            <td>
              <div><code><a href="/reference/kotlin/dokkatest/inner/OuterClass.InnerClass.html#InnerClass()">InnerClass</a>()</code></div>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
    <div class="devsite-table-wrapper">
      <table class="responsive">
        <thead>
          <tr>
            <th colspan="100%"><h3>Public functions</h3></th>
          </tr>
        </thead>
        <tbody class="list">
          <tr>
            <td width="40%"><code>final <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></code></td>
            <td>
              <div><code><a href="/reference/kotlin/dokkatest/inner/OuterClass.InnerClass.html#implementMe()">implementMe</a>()</code></div>
              <p>I need help.</p>
            </td>
          </tr>
          <tr>
            <td width="40%"><code>open <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></code></td>
            <td>
              <div><code><a href="/reference/kotlin/dokkatest/inner/OuterClass.InnerClass.html#inner(dokkatest.inner.OuterClass.InnerEnum)">inner</a>(choice:&nbsp;<a href="/reference/kotlin/dokkatest/inner/OuterClass.InnerEnum.html">OuterClass.InnerEnum</a>)</code></div>
              <p>I'm an insider.</p>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
    <h2>Public constructors</h2>
    <div><a name="InnerClass--"></a><a name="innerclass"></a>
      <h3 class="api-name" id="InnerClass()">InnerClass</h3>
      <pre class="api-signature no-pretty-print"><a href="/reference/kotlin/dokkatest/inner/OuterClass.InnerClass.html#InnerClass()">InnerClass</a>()</pre>
    </div>
    <h2>Public functions</h2>
    <div><a name="implementMe--"></a><a name="implementme"></a>
      <h3 class="api-name" id="implementMe()">implementMe</h3>
      <pre class="api-signature no-pretty-print">final&nbsp;fun&nbsp;<a href="/reference/kotlin/dokkatest/inner/OuterClass.InnerClass.html#implementMe()">implementMe</a>():&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></pre>
      <p>I need help.</p>
    </div>
    <div><a name="inner-dokkatest.inner.OuterClass.InnerEnum-"></a><a name="inner"></a>
      <h3 class="api-name" id="inner(dokkatest.inner.OuterClass.InnerEnum)">inner</h3>
      <pre class="api-signature no-pretty-print">open&nbsp;fun&nbsp;<a href="/reference/kotlin/dokkatest/inner/OuterClass.InnerClass.html#inner(dokkatest.inner.OuterClass.InnerEnum)">inner</a>(choice:&nbsp;<a href="/reference/kotlin/dokkatest/inner/OuterClass.InnerEnum.html">OuterClass.InnerEnum</a>):&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html">Unit</a></pre>
      <p>I'm an insider.</p>
    </div>
  </body>
</html>
