sku-pg
Version:
Skulpt is a Javascript implementation of Python 2.x. Python that runs in your browser!
989 lines (282 loc) • 12.8 kB
HTML
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Namespace: abstr</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Namespace: abstr</h1>
<section>
<header>
<h2>
<span class="ancestors"><a href="Sk.html">Sk</a>.</span>
abstr
</h2>
</header>
<article>
<div class="container-overview">
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="abstract.js.html">abstract.js</a>, <a href="abstract.js.html#line1">line 1</a>
</li></ul></dd>
</dl>
</div>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id=".iter"><span class="type-signature">(static) </span>iter<span class="signature">(obj)</span><span class="type-signature"> → {Object}</span></h4>
<div class="description">
<p>Get the iterator for a Python object This iterator could be one of the following.
This is the preferred mechanism for consistently getting the correct iterator. You should
not just use tp$iter because that could lead to incorrect behavior of a user created class.</p>
<ul>
<li>tp$iter</li>
<li>A user defined <code>__iter__</code> method</li>
<li>A user defined <code>__getitem__</code> method</li>
</ul>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>obj</code></td>
<td class="type">
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="abstract.js.html">abstract.js</a>, <a href="abstract.js.html#line894">line 894</a>
</li></ul></dd>
</dl>
<h5>Throws:</h5>
<div class="param-desc">
<span class="param-type">Sk.builtin.TypeError</span>
</div>
<h5>Returns:</h5>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">Object</span>
</dd>
</dl>
<h4 class="name" id=".lookupSpecial"><span class="type-signature">(static) </span>lookupSpecial<span class="signature">()</span><span class="type-signature"> → {null|Object}</span></h4>
<div class="description">
<p>Special method look up. First try getting the method via
internal dict and getattr. If getattr is not present (builtins)
try if method is defined on the object itself</p>
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="abstract.js.html">abstract.js</a>, <a href="abstract.js.html#line954">line 954</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>Return null if not found or the function</p>
</div>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">null</span>
|
<span class="param-type">Object</span>
</dd>
</dl>
<h4 class="name" id=".markUnhashable"><span class="type-signature">(static) </span>markUnhashable<span class="signature">(thisClass)</span><span class="type-signature"> → {undefined}</span></h4>
<div class="description">
<p>Mark a class as unhashable and prevent its <code>__hash__</code> function from being called.</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>thisClass</code></td>
<td class="type">
<span class="param-type">function</span>
</td>
<td class="description last"><p>The class to mark as unhashable.</p></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="abstract.js.html">abstract.js</a>, <a href="abstract.js.html#line972">line 972</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">undefined</span>
</dd>
</dl>
<h4 class="name" id=".setUpInheritance"><span class="type-signature">(static) </span>setUpInheritance<span class="signature">(childName, child, parent)</span><span class="type-signature"> → {undefined}</span></h4>
<div class="description">
<p>Set up inheritance between two Python classes. This allows only for single
inheritance -- multiple inheritance is not supported by Javascript.</p>
<p>Javascript's inheritance is prototypal. This means that properties must
be defined on the superclass' prototype in order for subclasses to inherit
them.</p>
<pre class="prettyprint source"><code>Sk.superclass.myProperty # will NOT be inherited
Sk.superclass.prototype.myProperty # will be inherited</code></pre><p>In order for a class to be subclassable, it must (directly or indirectly)
inherit from Sk.builtin.object so that it will be properly initialized in
<a href="Sk.html#.doOneTimeInitialization">Sk.doOneTimeInitialization</a> (in src/import.js). Further, all Python
builtins should inherit from Sk.builtin.object.</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>childName</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last"><p>The Python name of the child (subclass).</p></td>
</tr>
<tr>
<td class="name"><code>child</code></td>
<td class="type">
<span class="param-type">function</span>
</td>
<td class="description last"><p>The subclass.</p></td>
</tr>
<tr>
<td class="name"><code>parent</code></td>
<td class="type">
<span class="param-type">function</span>
</td>
<td class="description last"><p>The superclass.</p></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="abstract.js.html">abstract.js</a>, <a href="abstract.js.html#line1001">line 1001</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">undefined</span>
</dd>
</dl>
<h4 class="name" id=".superConstructor"><span class="type-signature">(static) </span>superConstructor<span class="signature">(thisClass, self, …args)</span><span class="type-signature"> → {undefined}</span></h4>
<div class="description">
<p>Call the super constructor of the provided class, with the object <code>self</code> as
the <code>this</code> value of that constructor. Any arguments passed to this function
after <code>self</code> will be passed as-is to the constructor.</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>thisClass</code></td>
<td class="type">
<span class="param-type">function</span>
</td>
<td class="attributes">
</td>
<td class="description last"><p>The subclass.</p></td>
</tr>
<tr>
<td class="name"><code>self</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="attributes">
</td>
<td class="description last"><p>The instance of the subclas.</p></td>
</tr>
<tr>
<td class="name"><code>args</code></td>
<td class="type">
<span class="param-type">?</span>
</td>
<td class="attributes">
<repeatable><br>
</td>
<td class="description last"><p>Arguments to pass to the constructor.</p></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="abstract.js.html">abstract.js</a>, <a href="abstract.js.html#line1018">line 1018</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<dl>
<dt>
Type
</dt>
<dd>
<span class="param-type">undefined</span>
</dd>
</dl>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="Sk.abstr.iter-seqIter.html">seqIter</a></li><li><a href="Sk.builtin.bool.html">bool</a></li><li><a href="Sk.builtin.float_.html">float_</a></li><li><a href="Sk.builtin.func.html">func</a></li><li><a href="Sk.builtin.int_.html">int_</a></li><li><a href="Sk.builtin.none.html">none</a></li><li><a href="Sk.builtin.NotImplemented.html">NotImplemented</a></li><li><a href="Sk.builtin.numtype.html">numtype</a></li><li><a href="Sk.builtin.object.html">object</a></li><li><a href="Sk.builtin.seqtype.html">seqtype</a></li><li><a href="Sk.misceval.Suspension.html">Suspension</a></li></ul><h3>Namespaces</h3><ul><li><a href="Sk.html">Sk</a></li><li><a href="Sk.abstr.html">abstr</a></li><li><a href="Sk.builtin.html">builtin</a></li><li><a href="Sk.ffi.html">ffi</a></li><li><a href="Sk.misceval.html">misceval</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0</a> on Thu Aug 13 2015 08:14:27 GMT-0500 (CDT)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>