<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="description" content="API docs for the BaseClass class from the two_exports library, for the Dart programming language.">
  <title>BaseClass class - two_exports library - Dart API</title>
  <!-- required because all the links are pseudo-absolute -->
  <base href="..">

  <link href="https://fonts.googleapis.com/css?family=Source+Code+Pro:500,400i,400,300|Source+Sans+Pro:400,300,700" rel="stylesheet">
  <link rel="stylesheet" href="static-assets/github.css">
  <link rel="stylesheet" href="static-assets/styles.css">
  <link rel="icon" href="static-assets/favicon.png">

</head>

<body>

<div id="overlay-under-drawer"></div>

<header id="title">
  <button id="sidenav-left-toggle" type="button">&nbsp;</button>
  <ol class="breadcrumbs gt-separated dark hidden-xs">
    <li><a href="index.html">test_package</a></li>
    <li><a href="two_exports/two_exports-library.html">two_exports</a></li>
    <li class="self-crumb">BaseClass class</li>
  </ol>
  <div class="self-name">BaseClass</div>
  <form class="search navbar-right" role="search">
    <input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
  </form>
</header>

<main>

  <div class="col-xs-6 col-sm-3 col-md-2 sidebar sidebar-offcanvas-left">
    <h5>two_exports library</h5>
    <ol>
      <li class="section-title"><a href="two_exports/two_exports-library.html#classes">Classes</a></li>
      <li><a href="two_exports/BaseClass-class.html">BaseClass</a></li>
      <li><a href="two_exports/ExtendingClass-class.html">ExtendingClass</a></li>
    
    
    
      <li class="section-title"><a href="two_exports/two_exports-library.html#properties">Properties</a></li>
      <li><a href="two_exports/topLevelVariable.html">topLevelVariable</a></li>
    
    
    
    
    </ol>
  </div>

  <div class="col-xs-12 col-sm-9 col-md-8 main-content">
      <h1>BaseClass class </h1>

    
    <section>
      <dl class="dl-horizontal">
        <dt>Inheritance</dt>
        <dd><ul class="gt-separated dark clazz-relationships">
          <li>Object</li>
          <li><a href="fake/WithGetterAndSetter-class.html">WithGetterAndSetter</a></li>
          <li>BaseClass</li>
        </ul></dd>



        <dt>Implementers</dt>
        <dd><ul class="comma-separated clazz-relationships">
          <li><a href="two_exports/ExtendingClass-class.html">ExtendingClass</a></li>
        </ul></dd>

      </dl>
    </section>

    <section class="summary offset-anchor" id="constructors">
      <h2>Constructors</h2>

      <dl class="constructor-summary-list">
        <dt id="BaseClass" class="callable">
          <span class="name"><a href="two_exports/BaseClass/BaseClass.html">BaseClass</a></span><span class="signature">()</span>
        </dt>
        <dd>
          
        </dd>
      </dl>
    </section>

    <section class="summary offset-anchor inherited" id="instance-properties">
      <h2>Properties</h2>

      <dl class="properties">
        <dt id="hashCode" class="property inherited">
          <span class="name"><a href="fake/WithGetterAndSetter/hashCode.html">hashCode</a></span>
          <span class="signature">&#8594; int</span> 
        </dt>
        <dd class="inherited">
          
          <div class="features">read-only, inherited</div>
</dd>
        <dt id="lengthX" class="property inherited">
          <span class="name"><a href="fake/WithGetterAndSetter/lengthX.html">lengthX</a></span>
          <span class="signature">&#8596; int</span> 
        </dt>
        <dd class="inherited">
          Returns a length. <a href="fake/WithGetterAndSetter/lengthX.html">[...]</a>
          <div class="features">read / write, inherited</div>
</dd>
        <dt id="runtimeType" class="property inherited">
          <span class="name"><a href="fake/WithGetterAndSetter/runtimeType.html">runtimeType</a></span>
          <span class="signature">&#8594; Type</span> 
        </dt>
        <dd class="inherited">
          
          <div class="features">read-only, inherited</div>
</dd>
      </dl>
    </section>

    <section class="summary offset-anchor inherited" id="instance-methods">
      <h2>Methods</h2>
      <dl class="callables">
        <dt id="noSuchMethod" class="callable inherited">
          <span class="name"><a href="fake/WithGetterAndSetter/noSuchMethod.html">noSuchMethod</a></span><span class="signature">(<wbr><span class="parameter" id="noSuchMethod-param-invocation"><span class="type-annotation">Invocation</span> <span class="parameter-name">invocation</span></span>)
            <span class="returntype parameter">&#8594; dynamic</span>
          </span>
          </dt>
        <dd class="inherited">
          
          <div class="features">inherited</div>
</dd>
        <dt id="toString" class="callable inherited">
          <span class="name"><a href="fake/WithGetterAndSetter/toString.html">toString</a></span><span class="signature">(<wbr>)
            <span class="returntype parameter">&#8594; String</span>
          </span>
          </dt>
        <dd class="inherited">
          
          <div class="features">inherited</div>
</dd>
      </dl>
    </section>

    <section class="summary offset-anchor inherited" id="operators">
      <h2>Operators</h2>
      <dl class="callables">
        <dt id="operator ==" class="callable inherited">
          <span class="name"><a href="fake/WithGetterAndSetter/operator_equals.html">operator ==</a></span><span class="signature">(<wbr><span class="parameter" id="==-param-other"><span class="type-annotation">dynamic</span> <span class="parameter-name">other</span></span>)
            <span class="returntype parameter">&#8594; bool</span>
          </span>
          </dt>
        <dd class="inherited">
          
          <div class="features">inherited</div>
</dd>
      </dl>
    </section>




  </div> <!-- /.main-content -->

  <div class="col-xs-6 col-sm-6 col-md-2 sidebar sidebar-offcanvas-right">
    <ol>
      <li class="section-title"><a href="two_exports/BaseClass-class.html#constructors">Constructors</a></li>
      <li><a href="two_exports/BaseClass/BaseClass.html">BaseClass</a></li>
    
      <li class="section-title inherited">
        <a href="two_exports/BaseClass-class.html#instance-properties">Properties</a>
      </li>
      <li class="inherited"><a href="fake/WithGetterAndSetter/hashCode.html">hashCode</a></li>
      <li class="inherited"><a href="fake/WithGetterAndSetter/lengthX.html">lengthX</a></li>
      <li class="inherited"><a href="fake/WithGetterAndSetter/runtimeType.html">runtimeType</a></li>
    
      <li class="section-title inherited"><a href="two_exports/BaseClass-class.html#instance-methods">Methods</a></li>
      <li class="inherited"><a href="fake/WithGetterAndSetter/noSuchMethod.html">noSuchMethod</a></li>
      <li class="inherited"><a href="fake/WithGetterAndSetter/toString.html">toString</a></li>
    
      <li class="section-title inherited"><a href="two_exports/BaseClass-class.html#operators">Operators</a></li>
      <li class="inherited"><a href="fake/WithGetterAndSetter/operator_equals.html">operator ==</a></li>
    
    
    
    </ol>
  </div><!--/.sidebar-offcanvas-->

</main>

<footer>
  <span class="no-break">
    test_package 0.0.1
  </span>

</footer>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="static-assets/typeahead.bundle.min.js"></script>
<script src="static-assets/highlight.pack.js"></script>
<script src="static-assets/URI.js"></script>
<script src="static-assets/script.js"></script>


</body>

</html>
