<!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 Whataclass class from the test_package_imported.main library, for the Dart programming language.">
  <title>Whataclass class - test_package_imported.main 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="test_package_imported.main/test_package_imported.main-library.html">test_package_imported.main</a></li>
    <li class="self-crumb">Whataclass<span class="signature">&lt;<wbr><span class="type-parameter">T</span>&gt;</span> class</li>
  </ol>
  <div class="self-name">Whataclass</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">
    <header id="header-search-sidebar" class="hidden-l">
      <form class="search-sidebar" role="search">
        <input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
      </form>
    </header>
    
    <ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
      <li><a href="index.html">test_package</a></li>
      <li><a href="test_package_imported.main/test_package_imported.main-library.html">test_package_imported.main</a></li>
      <li class="self-crumb">Whataclass<span class="signature">&lt;<wbr><span class="type-parameter">T</span>&gt;</span> class</li>
    </ol>
    
    <h5>test_package_imported.main library</h5>
    <ol>
      <li class="section-title"><a href="test_package_imported.main/test_package_imported.main-library.html#classes">Classes</a></li>
      <li><a href="test_package_imported.main/Whataclass-class.html">Whataclass</a></li>
      <li><a href="test_package_imported.main/Whataclass2-class.html">Whataclass2</a></li>
    
    
    
    
    
    
    
    </ol>
  </div>

  <div class="col-xs-12 col-sm-9 col-md-8 main-content">
      <h1>Whataclass&lt;<wbr><span class="type-parameter">T</span>&gt; class </h1>

    <section class="desc markdown">
      <p>Some docs for whataclass</p>
    </section>
    

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

      <dl class="constructor-summary-list">
        <dt id="Whataclass" class="callable">
          <span class="name"><a href="test_package_imported.main/Whataclass/Whataclass.html">Whataclass</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="test_package_imported.main/Whataclass/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="runtimeType" class="property inherited">
          <span class="name"><a href="test_package_imported.main/Whataclass/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="test_package_imported.main/Whataclass/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="test_package_imported.main/Whataclass/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="test_package_imported.main/Whataclass/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="test_package_imported.main/Whataclass-class.html#constructors">Constructors</a></li>
      <li><a href="test_package_imported.main/Whataclass/Whataclass.html">Whataclass</a></li>
    
      <li class="section-title inherited">
        <a href="test_package_imported.main/Whataclass-class.html#instance-properties">Properties</a>
      </li>
      <li class="inherited"><a href="test_package_imported.main/Whataclass/hashCode.html">hashCode</a></li>
      <li class="inherited"><a href="test_package_imported.main/Whataclass/runtimeType.html">runtimeType</a></li>
    
      <li class="section-title inherited"><a href="test_package_imported.main/Whataclass-class.html#instance-methods">Methods</a></li>
      <li class="inherited"><a href="test_package_imported.main/Whataclass/noSuchMethod.html">noSuchMethod</a></li>
      <li class="inherited"><a href="test_package_imported.main/Whataclass/toString.html">toString</a></li>
    
      <li class="section-title inherited"><a href="test_package_imported.main/Whataclass-class.html#operators">Operators</a></li>
      <li class="inherited"><a href="test_package_imported.main/Whataclass/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>
