Sk.abstr.html 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>JSDoc: Namespace: abstr</title>
  6. <script src="scripts/prettify/prettify.js"> </script>
  7. <script src="scripts/prettify/lang-css.js"> </script>
  8. <!--[if lt IE 9]>
  9. <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  10. <![endif]-->
  11. <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
  12. <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
  13. </head>
  14. <body>
  15. <div id="main">
  16. <h1 class="page-title">Namespace: abstr</h1>
  17. <section>
  18. <header>
  19. <h2>
  20. <span class="ancestors"><a href="Sk.html">Sk</a>.</span>
  21. abstr
  22. </h2>
  23. </header>
  24. <article>
  25. <div class="container-overview">
  26. <dl class="details">
  27. <dt class="tag-source">Source:</dt>
  28. <dd class="tag-source"><ul class="dummy"><li>
  29. <a href="abstract.js.html">abstract.js</a>, <a href="abstract.js.html#line1">line 1</a>
  30. </li></ul></dd>
  31. </dl>
  32. </div>
  33. <h3 class="subsection-title">Methods</h3>
  34. <h4 class="name" id=".iter"><span class="type-signature">(static) </span>iter<span class="signature">(obj)</span><span class="type-signature"> &rarr; {Object}</span></h4>
  35. <div class="description">
  36. <p>Get the iterator for a Python object This iterator could be one of the following.
  37. This is the preferred mechanism for consistently getting the correct iterator. You should
  38. not just use tp$iter because that could lead to incorrect behavior of a user created class.</p>
  39. <ul>
  40. <li>tp$iter</li>
  41. <li>A user defined <code>__iter__</code> method</li>
  42. <li>A user defined <code>__getitem__</code> method</li>
  43. </ul>
  44. </div>
  45. <h5>Parameters:</h5>
  46. <table class="params">
  47. <thead>
  48. <tr>
  49. <th>Name</th>
  50. <th>Type</th>
  51. <th class="last">Description</th>
  52. </tr>
  53. </thead>
  54. <tbody>
  55. <tr>
  56. <td class="name"><code>obj</code></td>
  57. <td class="type">
  58. </td>
  59. <td class="description last"></td>
  60. </tr>
  61. </tbody>
  62. </table>
  63. <dl class="details">
  64. <dt class="tag-source">Source:</dt>
  65. <dd class="tag-source"><ul class="dummy"><li>
  66. <a href="abstract.js.html">abstract.js</a>, <a href="abstract.js.html#line894">line 894</a>
  67. </li></ul></dd>
  68. </dl>
  69. <h5>Throws:</h5>
  70. <div class="param-desc">
  71. <span class="param-type">Sk.builtin.TypeError</span>
  72. </div>
  73. <h5>Returns:</h5>
  74. <dl>
  75. <dt>
  76. Type
  77. </dt>
  78. <dd>
  79. <span class="param-type">Object</span>
  80. </dd>
  81. </dl>
  82. <h4 class="name" id=".lookupSpecial"><span class="type-signature">(static) </span>lookupSpecial<span class="signature">()</span><span class="type-signature"> &rarr; {null|Object}</span></h4>
  83. <div class="description">
  84. <p>Special method look up. First try getting the method via
  85. internal dict and getattr. If getattr is not present (builtins)
  86. try if method is defined on the object itself</p>
  87. </div>
  88. <dl class="details">
  89. <dt class="tag-source">Source:</dt>
  90. <dd class="tag-source"><ul class="dummy"><li>
  91. <a href="abstract.js.html">abstract.js</a>, <a href="abstract.js.html#line954">line 954</a>
  92. </li></ul></dd>
  93. </dl>
  94. <h5>Returns:</h5>
  95. <div class="param-desc">
  96. <p>Return null if not found or the function</p>
  97. </div>
  98. <dl>
  99. <dt>
  100. Type
  101. </dt>
  102. <dd>
  103. <span class="param-type">null</span>
  104. |
  105. <span class="param-type">Object</span>
  106. </dd>
  107. </dl>
  108. <h4 class="name" id=".markUnhashable"><span class="type-signature">(static) </span>markUnhashable<span class="signature">(thisClass)</span><span class="type-signature"> &rarr; {undefined}</span></h4>
  109. <div class="description">
  110. <p>Mark a class as unhashable and prevent its <code>__hash__</code> function from being called.</p>
  111. </div>
  112. <h5>Parameters:</h5>
  113. <table class="params">
  114. <thead>
  115. <tr>
  116. <th>Name</th>
  117. <th>Type</th>
  118. <th class="last">Description</th>
  119. </tr>
  120. </thead>
  121. <tbody>
  122. <tr>
  123. <td class="name"><code>thisClass</code></td>
  124. <td class="type">
  125. <span class="param-type">function</span>
  126. </td>
  127. <td class="description last"><p>The class to mark as unhashable.</p></td>
  128. </tr>
  129. </tbody>
  130. </table>
  131. <dl class="details">
  132. <dt class="tag-source">Source:</dt>
  133. <dd class="tag-source"><ul class="dummy"><li>
  134. <a href="abstract.js.html">abstract.js</a>, <a href="abstract.js.html#line972">line 972</a>
  135. </li></ul></dd>
  136. </dl>
  137. <h5>Returns:</h5>
  138. <dl>
  139. <dt>
  140. Type
  141. </dt>
  142. <dd>
  143. <span class="param-type">undefined</span>
  144. </dd>
  145. </dl>
  146. <h4 class="name" id=".setUpInheritance"><span class="type-signature">(static) </span>setUpInheritance<span class="signature">(childName, child, parent)</span><span class="type-signature"> &rarr; {undefined}</span></h4>
  147. <div class="description">
  148. <p>Set up inheritance between two Python classes. This allows only for single
  149. inheritance -- multiple inheritance is not supported by Javascript.</p>
  150. <p>Javascript's inheritance is prototypal. This means that properties must
  151. be defined on the superclass' prototype in order for subclasses to inherit
  152. them.</p>
  153. <pre class="prettyprint source"><code>Sk.superclass.myProperty # will NOT be inherited
  154. Sk.superclass.prototype.myProperty # will be inherited</code></pre><p>In order for a class to be subclassable, it must (directly or indirectly)
  155. inherit from Sk.builtin.object so that it will be properly initialized in
  156. <a href="Sk.html#.doOneTimeInitialization">Sk.doOneTimeInitialization</a> (in src/import.js). Further, all Python
  157. builtins should inherit from Sk.builtin.object.</p>
  158. </div>
  159. <h5>Parameters:</h5>
  160. <table class="params">
  161. <thead>
  162. <tr>
  163. <th>Name</th>
  164. <th>Type</th>
  165. <th class="last">Description</th>
  166. </tr>
  167. </thead>
  168. <tbody>
  169. <tr>
  170. <td class="name"><code>childName</code></td>
  171. <td class="type">
  172. <span class="param-type">string</span>
  173. </td>
  174. <td class="description last"><p>The Python name of the child (subclass).</p></td>
  175. </tr>
  176. <tr>
  177. <td class="name"><code>child</code></td>
  178. <td class="type">
  179. <span class="param-type">function</span>
  180. </td>
  181. <td class="description last"><p>The subclass.</p></td>
  182. </tr>
  183. <tr>
  184. <td class="name"><code>parent</code></td>
  185. <td class="type">
  186. <span class="param-type">function</span>
  187. </td>
  188. <td class="description last"><p>The superclass.</p></td>
  189. </tr>
  190. </tbody>
  191. </table>
  192. <dl class="details">
  193. <dt class="tag-source">Source:</dt>
  194. <dd class="tag-source"><ul class="dummy"><li>
  195. <a href="abstract.js.html">abstract.js</a>, <a href="abstract.js.html#line1001">line 1001</a>
  196. </li></ul></dd>
  197. </dl>
  198. <h5>Returns:</h5>
  199. <dl>
  200. <dt>
  201. Type
  202. </dt>
  203. <dd>
  204. <span class="param-type">undefined</span>
  205. </dd>
  206. </dl>
  207. <h4 class="name" id=".superConstructor"><span class="type-signature">(static) </span>superConstructor<span class="signature">(thisClass, self, &hellip;args)</span><span class="type-signature"> &rarr; {undefined}</span></h4>
  208. <div class="description">
  209. <p>Call the super constructor of the provided class, with the object <code>self</code> as
  210. the <code>this</code> value of that constructor. Any arguments passed to this function
  211. after <code>self</code> will be passed as-is to the constructor.</p>
  212. </div>
  213. <h5>Parameters:</h5>
  214. <table class="params">
  215. <thead>
  216. <tr>
  217. <th>Name</th>
  218. <th>Type</th>
  219. <th>Attributes</th>
  220. <th class="last">Description</th>
  221. </tr>
  222. </thead>
  223. <tbody>
  224. <tr>
  225. <td class="name"><code>thisClass</code></td>
  226. <td class="type">
  227. <span class="param-type">function</span>
  228. </td>
  229. <td class="attributes">
  230. </td>
  231. <td class="description last"><p>The subclass.</p></td>
  232. </tr>
  233. <tr>
  234. <td class="name"><code>self</code></td>
  235. <td class="type">
  236. <span class="param-type">Object</span>
  237. </td>
  238. <td class="attributes">
  239. </td>
  240. <td class="description last"><p>The instance of the subclas.</p></td>
  241. </tr>
  242. <tr>
  243. <td class="name"><code>args</code></td>
  244. <td class="type">
  245. <span class="param-type">?</span>
  246. </td>
  247. <td class="attributes">
  248. &lt;repeatable><br>
  249. </td>
  250. <td class="description last"><p>Arguments to pass to the constructor.</p></td>
  251. </tr>
  252. </tbody>
  253. </table>
  254. <dl class="details">
  255. <dt class="tag-source">Source:</dt>
  256. <dd class="tag-source"><ul class="dummy"><li>
  257. <a href="abstract.js.html">abstract.js</a>, <a href="abstract.js.html#line1018">line 1018</a>
  258. </li></ul></dd>
  259. </dl>
  260. <h5>Returns:</h5>
  261. <dl>
  262. <dt>
  263. Type
  264. </dt>
  265. <dd>
  266. <span class="param-type">undefined</span>
  267. </dd>
  268. </dl>
  269. </article>
  270. </section>
  271. </div>
  272. <nav>
  273. <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>
  274. </nav>
  275. <br class="clear">
  276. <footer>
  277. 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)
  278. </footer>
  279. <script> prettyPrint(); </script>
  280. <script src="scripts/linenumber.js"> </script>
  281. </body>
  282. </html>