jaclang 0.6.1__py3-none-any.whl → 0.6.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (889) hide show
  1. jaclang/cli/.gitignore +3 -0
  2. jaclang/cli/cli.md +190 -0
  3. jaclang/compiler/.gitignore +1 -0
  4. jaclang/compiler/passes/main/tests/fixtures/autoimpl.impl/getme.impl.jac +3 -0
  5. jaclang/compiler/passes/main/tests/fixtures/autoimpl.impl.jac +3 -0
  6. jaclang/compiler/passes/main/tests/fixtures/autoimpl.jac +9 -0
  7. jaclang/compiler/passes/main/tests/fixtures/autoimpl.something.else.impl.jac +3 -0
  8. jaclang/compiler/passes/main/tests/fixtures/base.jac +13 -0
  9. jaclang/compiler/passes/main/tests/fixtures/base2.jac +14 -0
  10. jaclang/compiler/passes/main/tests/fixtures/blip.jac +2 -0
  11. jaclang/compiler/passes/main/tests/fixtures/codegentext.jac +31 -0
  12. jaclang/compiler/passes/main/tests/fixtures/decls.jac +10 -0
  13. jaclang/compiler/passes/main/tests/fixtures/defs_and_uses.jac +44 -0
  14. jaclang/compiler/passes/main/tests/fixtures/fstrings.jac +4 -0
  15. jaclang/compiler/passes/main/tests/fixtures/func.jac +18 -0
  16. jaclang/compiler/passes/main/tests/fixtures/func2.jac +8 -0
  17. jaclang/compiler/passes/main/tests/fixtures/game1.jac +15 -0
  18. jaclang/compiler/passes/main/tests/fixtures/impl/defs1.jac +8 -0
  19. jaclang/compiler/passes/main/tests/fixtures/impl/defs2.jac +8 -0
  20. jaclang/compiler/passes/main/tests/fixtures/impl/imps.jac +11 -0
  21. jaclang/compiler/passes/main/tests/fixtures/multi_def_err.jac +7 -0
  22. jaclang/compiler/passes/main/tests/fixtures/registry.jac +36 -0
  23. jaclang/compiler/passes/tool/tests/fixtures/corelib.jac +480 -0
  24. jaclang/compiler/passes/tool/tests/fixtures/corelib_fmt.jac +480 -0
  25. jaclang/compiler/passes/tool/tests/fixtures/genai/essay_review.jac +36 -0
  26. jaclang/compiler/passes/tool/tests/fixtures/genai/expert_answer.jac +17 -0
  27. jaclang/compiler/passes/tool/tests/fixtures/genai/joke_gen.jac +32 -0
  28. jaclang/compiler/passes/tool/tests/fixtures/genai/odd_word_out.jac +27 -0
  29. jaclang/compiler/passes/tool/tests/fixtures/genai/personality_finder.jac +35 -0
  30. jaclang/compiler/passes/tool/tests/fixtures/genai/text_to_type.jac +25 -0
  31. jaclang/compiler/passes/tool/tests/fixtures/genai/translator.jac +13 -0
  32. jaclang/compiler/passes/tool/tests/fixtures/genai/wikipedia.jac +63 -0
  33. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.dot +39 -0
  34. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.jac +7 -0
  35. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.txt +20 -0
  36. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/ability_impl_long_comprehension.jac +15 -0
  37. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/call_with_many_parameters.jac +24 -0
  38. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/entry_main.jac +4 -0
  39. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/long_line_nested_dict_access.jac +10 -0
  40. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/multiline_fstrings.jac +16 -0
  41. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/nested_dict.jac +15 -0
  42. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/nested_loop_and_incrementer.jac +13 -0
  43. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/simple_walker.jac +25 -0
  44. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/try_block_and_walker_spawn_and_fstrings.jac +26 -0
  45. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/tuple_iteration_and_not_negation.jac +20 -0
  46. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/type_annotation.jac +3 -0
  47. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_decl_only.jac +12 -0
  48. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_with_default_values_types_and_docstrings.jac +18 -0
  49. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_with_inline_ability_impl.jac +8 -0
  50. jaclang/compiler/passes/tool/tests/fixtures/simple_walk.jac +47 -0
  51. jaclang/compiler/passes/tool/tests/fixtures/simple_walk_fmt.jac +47 -0
  52. jaclang/compiler/tests/fixtures/fam.jac +67 -0
  53. jaclang/compiler/tests/fixtures/hello_world.jac +5 -0
  54. jaclang/compiler/tests/fixtures/kwesc.jac +5 -0
  55. jaclang/compiler/tests/fixtures/mod_doc_test.jac +1 -0
  56. jaclang/compiler/tests/fixtures/staticcheck.jac +20 -0
  57. jaclang/compiler/tests/fixtures/stuff.jac +6 -0
  58. jaclang/plugin/tests/fixtures/impl_match.jac +9 -0
  59. jaclang/plugin/tests/fixtures/impl_match_impl.jac +3 -0
  60. jaclang/plugin/tests/fixtures/simple_node_connection.jac +55 -0
  61. jaclang/plugin/tests/fixtures/simple_persistent.jac +41 -0
  62. jaclang/tests/fixtures/abc.jac +73 -0
  63. jaclang/tests/fixtures/access_checker.jac +19 -0
  64. jaclang/tests/fixtures/access_modifier.jac +49 -0
  65. jaclang/tests/fixtures/aott_raise.jac +25 -0
  66. jaclang/tests/fixtures/arithmetic_bug.jac +13 -0
  67. jaclang/tests/fixtures/assign_compr.jac +15 -0
  68. jaclang/tests/fixtures/assign_compr_dup.jac +15 -0
  69. jaclang/tests/fixtures/builtin_dotgen.jac +41 -0
  70. jaclang/tests/fixtures/chandra_bugs.jac +11 -0
  71. jaclang/tests/fixtures/chandra_bugs2.jac +26 -0
  72. jaclang/tests/fixtures/circle_pysolo.py +91 -0
  73. jaclang/tests/fixtures/deep/deeper/deep_outer_import.jac +9 -0
  74. jaclang/tests/fixtures/deep/deeper/deep_outer_import2.jac +9 -0
  75. jaclang/tests/fixtures/deep/deeper/snd_lev.jac +6 -0
  76. jaclang/tests/fixtures/deep/mycode.jac +4 -0
  77. jaclang/tests/fixtures/deep/one_lev.jac +6 -0
  78. jaclang/tests/fixtures/deep/one_lev_dup.jac +6 -0
  79. jaclang/tests/fixtures/deep/one_lev_dup_py.py +6 -0
  80. jaclang/tests/fixtures/deep_import.jac +7 -0
  81. jaclang/tests/fixtures/deferred_field.jac +13 -0
  82. jaclang/tests/fixtures/disconn.jac +29 -0
  83. jaclang/tests/fixtures/edge_node_walk.jac +46 -0
  84. jaclang/tests/fixtures/edge_ops.jac +45 -0
  85. jaclang/tests/fixtures/edges_walk.jac +38 -0
  86. jaclang/tests/fixtures/enum_inside_archtype.jac +20 -0
  87. jaclang/tests/fixtures/err.jac +5 -0
  88. jaclang/tests/fixtures/err2.jac +5 -0
  89. jaclang/tests/fixtures/game1.jac +15 -0
  90. jaclang/tests/fixtures/gendot_bubble_sort.jac +77 -0
  91. jaclang/tests/fixtures/guess_game.jac +47 -0
  92. jaclang/tests/fixtures/has_goodness.jac +15 -0
  93. jaclang/tests/fixtures/hashcheck.jac +12 -0
  94. jaclang/tests/fixtures/hashcheck_dup.jac +12 -0
  95. jaclang/tests/fixtures/hello.jac +5 -0
  96. jaclang/tests/fixtures/hello_nc.jac +5 -0
  97. jaclang/tests/fixtures/ignore.jac +43 -0
  98. jaclang/tests/fixtures/ignore_dup.jac +43 -0
  99. jaclang/tests/fixtures/impl_grab.impl.jac +4 -0
  100. jaclang/tests/fixtures/impl_grab.jac +2 -0
  101. jaclang/tests/fixtures/inherit_check.jac +33 -0
  102. jaclang/tests/fixtures/jacsamp.jac +6 -0
  103. jaclang/tests/fixtures/jp_importer.jac +17 -0
  104. jaclang/tests/fixtures/lambda.jac +6 -0
  105. jaclang/tests/fixtures/maxfail_run_test.jac +5 -0
  106. jaclang/tests/fixtures/mtest.impl.jac +6 -0
  107. jaclang/tests/fixtures/mtest.jac +6 -0
  108. jaclang/tests/fixtures/needs_import.jac +18 -0
  109. jaclang/tests/fixtures/needs_import_1.jac +6 -0
  110. jaclang/tests/fixtures/needs_import_2.jac +6 -0
  111. jaclang/tests/fixtures/needs_import_3.jac +6 -0
  112. jaclang/tests/fixtures/needs_import_dup.jac +18 -0
  113. jaclang/tests/fixtures/package_import.jac +6 -0
  114. jaclang/tests/fixtures/pyfunc.py +11 -0
  115. jaclang/tests/fixtures/pyfunc_1.py +311 -0
  116. jaclang/tests/fixtures/pyfunc_2.py +279 -0
  117. jaclang/tests/fixtures/pyfunc_3.py +310 -0
  118. jaclang/tests/fixtures/random_check.jac +70 -0
  119. jaclang/tests/fixtures/raw_byte_string.jac +18 -0
  120. jaclang/tests/fixtures/registry.jac +37 -0
  121. jaclang/tests/fixtures/run_test.jac +5 -0
  122. jaclang/tests/fixtures/semstr.jac +33 -0
  123. jaclang/tests/fixtures/simple_archs.jac +26 -0
  124. jaclang/tests/fixtures/slice_vals.jac +7 -0
  125. jaclang/tests/fixtures/sub_abil_sep.jac +15 -0
  126. jaclang/tests/fixtures/sub_abil_sep_multilev.jac +17 -0
  127. jaclang/tests/fixtures/try_finally.jac +34 -0
  128. jaclang/tests/fixtures/tupleunpack.jac +6 -0
  129. jaclang/tests/fixtures/tuplytuples.jac +8 -0
  130. jaclang/tests/fixtures/type_info.jac +19 -0
  131. jaclang/tests/fixtures/with_context.jac +30 -0
  132. jaclang/tests/fixtures/with_llm_function.jac +33 -0
  133. jaclang/tests/fixtures/with_llm_lower.jac +45 -0
  134. jaclang/tests/fixtures/with_llm_method.jac +51 -0
  135. jaclang/tests/fixtures/with_llm_type.jac +52 -0
  136. jaclang/tests/test_cli.py +239 -0
  137. jaclang/tests/test_language.py +807 -0
  138. jaclang/tests/test_man_code.py +148 -0
  139. jaclang/tests/test_reference.py +95 -0
  140. jaclang/tests/test_settings.py +46 -0
  141. jaclang/vendor/LICENSE +18 -0
  142. jaclang/vendor/mypy/stubgen.py +0 -0
  143. jaclang/vendor/mypy/stubgenc.py +0 -0
  144. jaclang/vendor/mypy/typeshed/LICENSE +237 -0
  145. jaclang/vendor/mypy/typeshed/stdlib/VERSIONS +308 -0
  146. jaclang/vendor/mypy/typeshed/stdlib/__future__.pyi +41 -0
  147. jaclang/vendor/mypy/typeshed/stdlib/__main__.pyi +3 -0
  148. jaclang/vendor/mypy/typeshed/stdlib/_ast.pyi +632 -0
  149. jaclang/vendor/mypy/typeshed/stdlib/_bisect.pyi +106 -0
  150. jaclang/vendor/mypy/typeshed/stdlib/_bootlocale.pyi +1 -0
  151. jaclang/vendor/mypy/typeshed/stdlib/_codecs.pyi +198 -0
  152. jaclang/vendor/mypy/typeshed/stdlib/_collections_abc.pyi +94 -0
  153. jaclang/vendor/mypy/typeshed/stdlib/_compat_pickle.pyi +8 -0
  154. jaclang/vendor/mypy/typeshed/stdlib/_compression.pyi +25 -0
  155. jaclang/vendor/mypy/typeshed/stdlib/_csv.pyi +90 -0
  156. jaclang/vendor/mypy/typeshed/stdlib/_ctypes.pyi +219 -0
  157. jaclang/vendor/mypy/typeshed/stdlib/_curses.pyi +600 -0
  158. jaclang/vendor/mypy/typeshed/stdlib/_decimal.pyi +316 -0
  159. jaclang/vendor/mypy/typeshed/stdlib/_dummy_thread.pyi +43 -0
  160. jaclang/vendor/mypy/typeshed/stdlib/_dummy_threading.pyi +185 -0
  161. jaclang/vendor/mypy/typeshed/stdlib/_heapq.pyi +11 -0
  162. jaclang/vendor/mypy/typeshed/stdlib/_imp.pyi +32 -0
  163. jaclang/vendor/mypy/typeshed/stdlib/_json.pyi +49 -0
  164. jaclang/vendor/mypy/typeshed/stdlib/_locale.pyi +100 -0
  165. jaclang/vendor/mypy/typeshed/stdlib/_markupbase.pyi +16 -0
  166. jaclang/vendor/mypy/typeshed/stdlib/_msi.pyi +92 -0
  167. jaclang/vendor/mypy/typeshed/stdlib/_operator.pyi +172 -0
  168. jaclang/vendor/mypy/typeshed/stdlib/_osx_support.pyi +55 -0
  169. jaclang/vendor/mypy/typeshed/stdlib/_posixsubprocess.pyi +32 -0
  170. jaclang/vendor/mypy/typeshed/stdlib/_py_abc.pyi +17 -0
  171. jaclang/vendor/mypy/typeshed/stdlib/_pydecimal.pyi +43 -0
  172. jaclang/vendor/mypy/typeshed/stdlib/_random.pyi +12 -0
  173. jaclang/vendor/mypy/typeshed/stdlib/_sitebuiltins.pyi +18 -0
  174. jaclang/vendor/mypy/typeshed/stdlib/_socket.pyi +851 -0
  175. jaclang/vendor/mypy/typeshed/stdlib/_stat.pyi +103 -0
  176. jaclang/vendor/mypy/typeshed/stdlib/_thread.pyi +63 -0
  177. jaclang/vendor/mypy/typeshed/stdlib/_threading_local.pyi +17 -0
  178. jaclang/vendor/mypy/typeshed/stdlib/_tkinter.pyi +120 -0
  179. jaclang/vendor/mypy/typeshed/stdlib/_tracemalloc.pyi +17 -0
  180. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/README.md +34 -0
  181. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/__init__.pyi +374 -0
  182. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/dbapi.pyi +45 -0
  183. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/wsgi.pyi +51 -0
  184. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/xml.pyi +13 -0
  185. jaclang/vendor/mypy/typeshed/stdlib/_warnings.pyi +65 -0
  186. jaclang/vendor/mypy/typeshed/stdlib/_weakref.pyi +45 -0
  187. jaclang/vendor/mypy/typeshed/stdlib/_weakrefset.pyi +51 -0
  188. jaclang/vendor/mypy/typeshed/stdlib/_winapi.pyi +275 -0
  189. jaclang/vendor/mypy/typeshed/stdlib/abc.pyi +61 -0
  190. jaclang/vendor/mypy/typeshed/stdlib/aifc.pyi +99 -0
  191. jaclang/vendor/mypy/typeshed/stdlib/antigravity.pyi +3 -0
  192. jaclang/vendor/mypy/typeshed/stdlib/argparse.pyi +675 -0
  193. jaclang/vendor/mypy/typeshed/stdlib/array.pyi +111 -0
  194. jaclang/vendor/mypy/typeshed/stdlib/ast.pyi +287 -0
  195. jaclang/vendor/mypy/typeshed/stdlib/asynchat.pyi +21 -0
  196. jaclang/vendor/mypy/typeshed/stdlib/asyncio/__init__.pyi +41 -0
  197. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_events.pyi +519 -0
  198. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_futures.pyi +21 -0
  199. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_subprocess.pyi +71 -0
  200. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_tasks.pyi +13 -0
  201. jaclang/vendor/mypy/typeshed/stdlib/asyncio/constants.pyi +20 -0
  202. jaclang/vendor/mypy/typeshed/stdlib/asyncio/coroutines.pyi +32 -0
  203. jaclang/vendor/mypy/typeshed/stdlib/asyncio/events.pyi +669 -0
  204. jaclang/vendor/mypy/typeshed/stdlib/asyncio/exceptions.pyi +43 -0
  205. jaclang/vendor/mypy/typeshed/stdlib/asyncio/format_helpers.pyi +26 -0
  206. jaclang/vendor/mypy/typeshed/stdlib/asyncio/futures.pyi +61 -0
  207. jaclang/vendor/mypy/typeshed/stdlib/asyncio/locks.pyi +131 -0
  208. jaclang/vendor/mypy/typeshed/stdlib/asyncio/log.pyi +3 -0
  209. jaclang/vendor/mypy/typeshed/stdlib/asyncio/mixins.pyi +9 -0
  210. jaclang/vendor/mypy/typeshed/stdlib/asyncio/proactor_events.pyi +72 -0
  211. jaclang/vendor/mypy/typeshed/stdlib/asyncio/protocols.pyi +40 -0
  212. jaclang/vendor/mypy/typeshed/stdlib/asyncio/queues.pyi +49 -0
  213. jaclang/vendor/mypy/typeshed/stdlib/asyncio/runners.pyi +44 -0
  214. jaclang/vendor/mypy/typeshed/stdlib/asyncio/selector_events.pyi +8 -0
  215. jaclang/vendor/mypy/typeshed/stdlib/asyncio/sslproto.pyi +189 -0
  216. jaclang/vendor/mypy/typeshed/stdlib/asyncio/staggered.pyi +13 -0
  217. jaclang/vendor/mypy/typeshed/stdlib/asyncio/streams.pyi +172 -0
  218. jaclang/vendor/mypy/typeshed/stdlib/asyncio/subprocess.pyi +234 -0
  219. jaclang/vendor/mypy/typeshed/stdlib/asyncio/taskgroups.pyi +36 -0
  220. jaclang/vendor/mypy/typeshed/stdlib/asyncio/tasks.pyi +566 -0
  221. jaclang/vendor/mypy/typeshed/stdlib/asyncio/threads.pyi +11 -0
  222. jaclang/vendor/mypy/typeshed/stdlib/asyncio/timeouts.pyi +22 -0
  223. jaclang/vendor/mypy/typeshed/stdlib/asyncio/transports.pyi +64 -0
  224. jaclang/vendor/mypy/typeshed/stdlib/asyncio/trsock.pyi +140 -0
  225. jaclang/vendor/mypy/typeshed/stdlib/asyncio/unix_events.pyi +268 -0
  226. jaclang/vendor/mypy/typeshed/stdlib/asyncio/windows_events.pyi +108 -0
  227. jaclang/vendor/mypy/typeshed/stdlib/asyncio/windows_utils.pyi +59 -0
  228. jaclang/vendor/mypy/typeshed/stdlib/asyncore.pyi +99 -0
  229. jaclang/vendor/mypy/typeshed/stdlib/atexit.pyi +14 -0
  230. jaclang/vendor/mypy/typeshed/stdlib/audioop.pyi +50 -0
  231. jaclang/vendor/mypy/typeshed/stdlib/base64.pyi +76 -0
  232. jaclang/vendor/mypy/typeshed/stdlib/bdb.pyi +133 -0
  233. jaclang/vendor/mypy/typeshed/stdlib/binascii.pyi +45 -0
  234. jaclang/vendor/mypy/typeshed/stdlib/binhex.pyi +47 -0
  235. jaclang/vendor/mypy/typeshed/stdlib/bisect.pyi +4 -0
  236. jaclang/vendor/mypy/typeshed/stdlib/builtins.pyi +2310 -0
  237. jaclang/vendor/mypy/typeshed/stdlib/bz2.pyi +177 -0
  238. jaclang/vendor/mypy/typeshed/stdlib/cProfile.pyi +49 -0
  239. jaclang/vendor/mypy/typeshed/stdlib/calendar.pyi +248 -0
  240. jaclang/vendor/mypy/typeshed/stdlib/cgi.pyi +122 -0
  241. jaclang/vendor/mypy/typeshed/stdlib/cgitb.pyi +44 -0
  242. jaclang/vendor/mypy/typeshed/stdlib/chunk.pyi +26 -0
  243. jaclang/vendor/mypy/typeshed/stdlib/cmath.pyi +38 -0
  244. jaclang/vendor/mypy/typeshed/stdlib/cmd.pyi +52 -0
  245. jaclang/vendor/mypy/typeshed/stdlib/code.pyi +46 -0
  246. jaclang/vendor/mypy/typeshed/stdlib/codecs.pyi +344 -0
  247. jaclang/vendor/mypy/typeshed/stdlib/codeop.pyi +17 -0
  248. jaclang/vendor/mypy/typeshed/stdlib/collections/__init__.pyi +571 -0
  249. jaclang/vendor/mypy/typeshed/stdlib/collections/abc.pyi +2 -0
  250. jaclang/vendor/mypy/typeshed/stdlib/colorsys.pyi +20 -0
  251. jaclang/vendor/mypy/typeshed/stdlib/compileall.pyi +111 -0
  252. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/__init__.pyi +32 -0
  253. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/_base.pyi +137 -0
  254. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/process.pyi +272 -0
  255. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/thread.pyi +86 -0
  256. jaclang/vendor/mypy/typeshed/stdlib/configparser.pyi +449 -0
  257. jaclang/vendor/mypy/typeshed/stdlib/contextlib.pyi +274 -0
  258. jaclang/vendor/mypy/typeshed/stdlib/contextvars.pyi +67 -0
  259. jaclang/vendor/mypy/typeshed/stdlib/copy.pyi +16 -0
  260. jaclang/vendor/mypy/typeshed/stdlib/copyreg.pyi +32 -0
  261. jaclang/vendor/mypy/typeshed/stdlib/crypt.pyi +12 -0
  262. jaclang/vendor/mypy/typeshed/stdlib/csv.pyi +147 -0
  263. jaclang/vendor/mypy/typeshed/stdlib/ctypes/__init__.pyi +211 -0
  264. jaclang/vendor/mypy/typeshed/stdlib/ctypes/_endian.pyi +29 -0
  265. jaclang/vendor/mypy/typeshed/stdlib/ctypes/util.pyi +6 -0
  266. jaclang/vendor/mypy/typeshed/stdlib/ctypes/wintypes.pyi +298 -0
  267. jaclang/vendor/mypy/typeshed/stdlib/curses/__init__.pyi +25 -0
  268. jaclang/vendor/mypy/typeshed/stdlib/curses/ascii.pyi +63 -0
  269. jaclang/vendor/mypy/typeshed/stdlib/curses/has_key.pyi +4 -0
  270. jaclang/vendor/mypy/typeshed/stdlib/curses/panel.pyi +25 -0
  271. jaclang/vendor/mypy/typeshed/stdlib/curses/textpad.pyi +15 -0
  272. jaclang/vendor/mypy/typeshed/stdlib/dataclasses.pyi +323 -0
  273. jaclang/vendor/mypy/typeshed/stdlib/datetime.pyi +334 -0
  274. jaclang/vendor/mypy/typeshed/stdlib/dbm/__init__.pyi +98 -0
  275. jaclang/vendor/mypy/typeshed/stdlib/dbm/dumb.pyi +34 -0
  276. jaclang/vendor/mypy/typeshed/stdlib/dbm/gnu.pyi +44 -0
  277. jaclang/vendor/mypy/typeshed/stdlib/dbm/ndbm.pyi +40 -0
  278. jaclang/vendor/mypy/typeshed/stdlib/decimal.pyi +5 -0
  279. jaclang/vendor/mypy/typeshed/stdlib/difflib.pyi +169 -0
  280. jaclang/vendor/mypy/typeshed/stdlib/dis.pyi +190 -0
  281. jaclang/vendor/mypy/typeshed/stdlib/distutils/__init__.pyi +5 -0
  282. jaclang/vendor/mypy/typeshed/stdlib/distutils/archive_util.pyi +22 -0
  283. jaclang/vendor/mypy/typeshed/stdlib/distutils/bcppcompiler.pyi +3 -0
  284. jaclang/vendor/mypy/typeshed/stdlib/distutils/ccompiler.pyi +183 -0
  285. jaclang/vendor/mypy/typeshed/stdlib/distutils/cmd.pyi +88 -0
  286. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/__init__.pyi +0 -0
  287. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist.pyi +25 -0
  288. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_dumb.pyi +21 -0
  289. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_msi.pyi +45 -0
  290. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_packager.pyi +0 -0
  291. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_rpm.pyi +52 -0
  292. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_wininst.pyi +21 -0
  293. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build.pyi +31 -0
  294. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_clib.pyi +27 -0
  295. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_ext.pyi +50 -0
  296. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_py.pyi +44 -0
  297. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_scripts.pyi +24 -0
  298. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/check.pyi +39 -0
  299. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/clean.pyi +17 -0
  300. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/config.pyi +91 -0
  301. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install.pyi +63 -0
  302. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_data.pyi +19 -0
  303. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_egg_info.pyi +18 -0
  304. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_headers.pyi +16 -0
  305. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_lib.pyi +25 -0
  306. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_scripts.pyi +18 -0
  307. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/register.pyi +18 -0
  308. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/sdist.pyi +42 -0
  309. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/upload.pyi +17 -0
  310. jaclang/vendor/mypy/typeshed/stdlib/distutils/config.pyi +17 -0
  311. jaclang/vendor/mypy/typeshed/stdlib/distutils/core.pyi +59 -0
  312. jaclang/vendor/mypy/typeshed/stdlib/distutils/cygwinccompiler.pyi +20 -0
  313. jaclang/vendor/mypy/typeshed/stdlib/distutils/debug.pyi +1 -0
  314. jaclang/vendor/mypy/typeshed/stdlib/distutils/dep_util.pyi +3 -0
  315. jaclang/vendor/mypy/typeshed/stdlib/distutils/dir_util.pyi +21 -0
  316. jaclang/vendor/mypy/typeshed/stdlib/distutils/dist.pyi +155 -0
  317. jaclang/vendor/mypy/typeshed/stdlib/distutils/errors.pyi +19 -0
  318. jaclang/vendor/mypy/typeshed/stdlib/distutils/extension.pyi +36 -0
  319. jaclang/vendor/mypy/typeshed/stdlib/distutils/fancy_getopt.pyi +37 -0
  320. jaclang/vendor/mypy/typeshed/stdlib/distutils/file_util.pyi +14 -0
  321. jaclang/vendor/mypy/typeshed/stdlib/distutils/filelist.pyi +78 -0
  322. jaclang/vendor/mypy/typeshed/stdlib/distutils/log.pyi +25 -0
  323. jaclang/vendor/mypy/typeshed/stdlib/distutils/msvccompiler.pyi +3 -0
  324. jaclang/vendor/mypy/typeshed/stdlib/distutils/spawn.pyi +4 -0
  325. jaclang/vendor/mypy/typeshed/stdlib/distutils/sysconfig.pyi +24 -0
  326. jaclang/vendor/mypy/typeshed/stdlib/distutils/text_file.pyi +23 -0
  327. jaclang/vendor/mypy/typeshed/stdlib/distutils/unixccompiler.pyi +3 -0
  328. jaclang/vendor/mypy/typeshed/stdlib/distutils/util.pyi +50 -0
  329. jaclang/vendor/mypy/typeshed/stdlib/distutils/version.pyi +36 -0
  330. jaclang/vendor/mypy/typeshed/stdlib/doctest.pyi +282 -0
  331. jaclang/vendor/mypy/typeshed/stdlib/dummy_threading.pyi +2 -0
  332. jaclang/vendor/mypy/typeshed/stdlib/email/__init__.pyi +37 -0
  333. jaclang/vendor/mypy/typeshed/stdlib/email/_header_value_parser.pyi +392 -0
  334. jaclang/vendor/mypy/typeshed/stdlib/email/_policybase.pyi +51 -0
  335. jaclang/vendor/mypy/typeshed/stdlib/email/base64mime.pyi +22 -0
  336. jaclang/vendor/mypy/typeshed/stdlib/email/charset.pyi +39 -0
  337. jaclang/vendor/mypy/typeshed/stdlib/email/contentmanager.pyi +11 -0
  338. jaclang/vendor/mypy/typeshed/stdlib/email/encoders.pyi +8 -0
  339. jaclang/vendor/mypy/typeshed/stdlib/email/errors.pyi +39 -0
  340. jaclang/vendor/mypy/typeshed/stdlib/email/feedparser.pyi +31 -0
  341. jaclang/vendor/mypy/typeshed/stdlib/email/generator.pyi +42 -0
  342. jaclang/vendor/mypy/typeshed/stdlib/email/header.pyi +41 -0
  343. jaclang/vendor/mypy/typeshed/stdlib/email/headerregistry.pyi +214 -0
  344. jaclang/vendor/mypy/typeshed/stdlib/email/iterators.pyi +19 -0
  345. jaclang/vendor/mypy/typeshed/stdlib/email/message.pyi +220 -0
  346. jaclang/vendor/mypy/typeshed/stdlib/email/mime/__init__.pyi +0 -0
  347. jaclang/vendor/mypy/typeshed/stdlib/email/mime/application.pyi +17 -0
  348. jaclang/vendor/mypy/typeshed/stdlib/email/mime/audio.pyi +17 -0
  349. jaclang/vendor/mypy/typeshed/stdlib/email/mime/base.pyi +15 -0
  350. jaclang/vendor/mypy/typeshed/stdlib/email/mime/image.pyi +17 -0
  351. jaclang/vendor/mypy/typeshed/stdlib/email/mime/message.pyi +10 -0
  352. jaclang/vendor/mypy/typeshed/stdlib/email/mime/multipart.pyi +18 -0
  353. jaclang/vendor/mypy/typeshed/stdlib/email/mime/nonmultipart.pyi +5 -0
  354. jaclang/vendor/mypy/typeshed/stdlib/email/mime/text.pyi +14 -0
  355. jaclang/vendor/mypy/typeshed/stdlib/email/parser.pyi +44 -0
  356. jaclang/vendor/mypy/typeshed/stdlib/email/policy.pyi +51 -0
  357. jaclang/vendor/mypy/typeshed/stdlib/email/quoprimime.pyi +30 -0
  358. jaclang/vendor/mypy/typeshed/stdlib/email/utils.pyi +84 -0
  359. jaclang/vendor/mypy/typeshed/stdlib/encodings/__init__.pyi +10 -0
  360. jaclang/vendor/mypy/typeshed/stdlib/encodings/utf_8.pyi +25 -0
  361. jaclang/vendor/mypy/typeshed/stdlib/encodings/utf_8_sig.pyi +28 -0
  362. jaclang/vendor/mypy/typeshed/stdlib/ensurepip/__init__.pyi +12 -0
  363. jaclang/vendor/mypy/typeshed/stdlib/enum.pyi +347 -0
  364. jaclang/vendor/mypy/typeshed/stdlib/errno.pyi +222 -0
  365. jaclang/vendor/mypy/typeshed/stdlib/faulthandler.pyi +20 -0
  366. jaclang/vendor/mypy/typeshed/stdlib/fcntl.pyi +155 -0
  367. jaclang/vendor/mypy/typeshed/stdlib/filecmp.pyi +62 -0
  368. jaclang/vendor/mypy/typeshed/stdlib/fileinput.pyi +246 -0
  369. jaclang/vendor/mypy/typeshed/stdlib/fnmatch.pyi +9 -0
  370. jaclang/vendor/mypy/typeshed/stdlib/formatter.pyi +92 -0
  371. jaclang/vendor/mypy/typeshed/stdlib/fractions.pyi +152 -0
  372. jaclang/vendor/mypy/typeshed/stdlib/ftplib.pyi +214 -0
  373. jaclang/vendor/mypy/typeshed/stdlib/functools.pyi +261 -0
  374. jaclang/vendor/mypy/typeshed/stdlib/gc.pyi +39 -0
  375. jaclang/vendor/mypy/typeshed/stdlib/genericpath.pyi +62 -0
  376. jaclang/vendor/mypy/typeshed/stdlib/getopt.pyi +15 -0
  377. jaclang/vendor/mypy/typeshed/stdlib/getpass.pyi +8 -0
  378. jaclang/vendor/mypy/typeshed/stdlib/gettext.pyi +200 -0
  379. jaclang/vendor/mypy/typeshed/stdlib/glob.pyi +50 -0
  380. jaclang/vendor/mypy/typeshed/stdlib/graphlib.pyi +28 -0
  381. jaclang/vendor/mypy/typeshed/stdlib/grp.pyi +22 -0
  382. jaclang/vendor/mypy/typeshed/stdlib/gzip.pyi +162 -0
  383. jaclang/vendor/mypy/typeshed/stdlib/hashlib.pyi +191 -0
  384. jaclang/vendor/mypy/typeshed/stdlib/heapq.pyi +36 -0
  385. jaclang/vendor/mypy/typeshed/stdlib/hmac.pyi +45 -0
  386. jaclang/vendor/mypy/typeshed/stdlib/html/__init__.pyi +6 -0
  387. jaclang/vendor/mypy/typeshed/stdlib/html/entities.pyi +6 -0
  388. jaclang/vendor/mypy/typeshed/stdlib/html/parser.pyi +40 -0
  389. jaclang/vendor/mypy/typeshed/stdlib/http/__init__.pyi +105 -0
  390. jaclang/vendor/mypy/typeshed/stdlib/http/client.pyi +283 -0
  391. jaclang/vendor/mypy/typeshed/stdlib/http/cookiejar.pyi +206 -0
  392. jaclang/vendor/mypy/typeshed/stdlib/http/cookies.pyi +67 -0
  393. jaclang/vendor/mypy/typeshed/stdlib/http/server.pyi +93 -0
  394. jaclang/vendor/mypy/typeshed/stdlib/imaplib.pyi +221 -0
  395. jaclang/vendor/mypy/typeshed/stdlib/imghdr.pyi +17 -0
  396. jaclang/vendor/mypy/typeshed/stdlib/imp.pyi +75 -0
  397. jaclang/vendor/mypy/typeshed/stdlib/importlib/__init__.pyi +24 -0
  398. jaclang/vendor/mypy/typeshed/stdlib/importlib/_abc.pyi +15 -0
  399. jaclang/vendor/mypy/typeshed/stdlib/importlib/abc.pyi +195 -0
  400. jaclang/vendor/mypy/typeshed/stdlib/importlib/machinery.pyi +214 -0
  401. jaclang/vendor/mypy/typeshed/stdlib/importlib/metadata/__init__.pyi +310 -0
  402. jaclang/vendor/mypy/typeshed/stdlib/importlib/metadata/_meta.pyi +40 -0
  403. jaclang/vendor/mypy/typeshed/stdlib/importlib/readers.pyi +68 -0
  404. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/__init__.pyi +66 -0
  405. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/abc.pyi +12 -0
  406. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/readers.pyi +14 -0
  407. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/simple.pyi +55 -0
  408. jaclang/vendor/mypy/typeshed/stdlib/importlib/simple.pyi +16 -0
  409. jaclang/vendor/mypy/typeshed/stdlib/importlib/util.pyi +57 -0
  410. jaclang/vendor/mypy/typeshed/stdlib/inspect.pyi +709 -0
  411. jaclang/vendor/mypy/typeshed/stdlib/io.pyi +222 -0
  412. jaclang/vendor/mypy/typeshed/stdlib/ipaddress.pyi +229 -0
  413. jaclang/vendor/mypy/typeshed/stdlib/itertools.pyi +394 -0
  414. jaclang/vendor/mypy/typeshed/stdlib/json/__init__.pyi +69 -0
  415. jaclang/vendor/mypy/typeshed/stdlib/json/decoder.pyi +34 -0
  416. jaclang/vendor/mypy/typeshed/stdlib/json/encoder.pyi +38 -0
  417. jaclang/vendor/mypy/typeshed/stdlib/json/tool.pyi +1 -0
  418. jaclang/vendor/mypy/typeshed/stdlib/keyword.pyi +21 -0
  419. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/__init__.pyi +0 -0
  420. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/btm_matcher.pyi +32 -0
  421. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixer_base.pyi +44 -0
  422. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/__init__.pyi +0 -0
  423. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_apply.pyi +8 -0
  424. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_asserts.pyi +10 -0
  425. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_basestring.pyi +8 -0
  426. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_buffer.pyi +8 -0
  427. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_dict.pyi +16 -0
  428. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_except.pyi +14 -0
  429. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exec.pyi +8 -0
  430. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_execfile.pyi +8 -0
  431. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi +13 -0
  432. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_filter.pyi +9 -0
  433. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_funcattrs.pyi +8 -0
  434. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_future.pyi +8 -0
  435. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_getcwdu.pyi +8 -0
  436. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_has_key.pyi +8 -0
  437. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_idioms.pyi +15 -0
  438. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_import.pyi +16 -0
  439. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports.pyi +21 -0
  440. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports2.pyi +6 -0
  441. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_input.pyi +11 -0
  442. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_intern.pyi +9 -0
  443. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_isinstance.pyi +8 -0
  444. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools.pyi +9 -0
  445. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools_imports.pyi +7 -0
  446. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_long.pyi +7 -0
  447. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_map.pyi +9 -0
  448. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_metaclass.pyi +17 -0
  449. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_methodattrs.pyi +10 -0
  450. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ne.pyi +8 -0
  451. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_next.pyi +19 -0
  452. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_nonzero.pyi +8 -0
  453. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_numliterals.pyi +8 -0
  454. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_operator.pyi +12 -0
  455. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_paren.pyi +8 -0
  456. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_print.pyi +12 -0
  457. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raise.pyi +8 -0
  458. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raw_input.pyi +8 -0
  459. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reduce.pyi +8 -0
  460. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reload.pyi +9 -0
  461. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_renames.pyi +17 -0
  462. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_repr.pyi +8 -0
  463. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_set_literal.pyi +7 -0
  464. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_standarderror.pyi +8 -0
  465. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_sys_exc.pyi +9 -0
  466. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_throw.pyi +8 -0
  467. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_tuple_params.pyi +17 -0
  468. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_types.pyi +8 -0
  469. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_unicode.pyi +12 -0
  470. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_urllib.pyi +18 -0
  471. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ws_comma.pyi +12 -0
  472. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xrange.pyi +20 -0
  473. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xreadlines.pyi +8 -0
  474. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_zip.pyi +9 -0
  475. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/main.pyi +46 -0
  476. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/__init__.pyi +9 -0
  477. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/driver.pyi +40 -0
  478. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/grammar.pyi +24 -0
  479. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/literals.pyi +7 -0
  480. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/parse.pyi +36 -0
  481. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/pgen.pyi +52 -0
  482. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/token.pyi +67 -0
  483. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/tokenize.pyi +98 -0
  484. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pygram.pyi +114 -0
  485. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pytree.pyi +142 -0
  486. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/refactor.pyi +122 -0
  487. jaclang/vendor/mypy/typeshed/stdlib/linecache.pyi +29 -0
  488. jaclang/vendor/mypy/typeshed/stdlib/locale.pyi +165 -0
  489. jaclang/vendor/mypy/typeshed/stdlib/logging/__init__.pyi +685 -0
  490. jaclang/vendor/mypy/typeshed/stdlib/logging/config.pyi +161 -0
  491. jaclang/vendor/mypy/typeshed/stdlib/logging/handlers.pyi +315 -0
  492. jaclang/vendor/mypy/typeshed/stdlib/lzma.pyi +213 -0
  493. jaclang/vendor/mypy/typeshed/stdlib/mailbox.pyi +306 -0
  494. jaclang/vendor/mypy/typeshed/stdlib/mailcap.pyi +15 -0
  495. jaclang/vendor/mypy/typeshed/stdlib/marshal.pyi +35 -0
  496. jaclang/vendor/mypy/typeshed/stdlib/math.pyi +134 -0
  497. jaclang/vendor/mypy/typeshed/stdlib/mimetypes.pyi +50 -0
  498. jaclang/vendor/mypy/typeshed/stdlib/mmap.pyi +126 -0
  499. jaclang/vendor/mypy/typeshed/stdlib/modulefinder.pyi +84 -0
  500. jaclang/vendor/mypy/typeshed/stdlib/msilib/__init__.pyi +237 -0
  501. jaclang/vendor/mypy/typeshed/stdlib/msilib/schema.pyi +107 -0
  502. jaclang/vendor/mypy/typeshed/stdlib/msilib/sequence.pyi +13 -0
  503. jaclang/vendor/mypy/typeshed/stdlib/msilib/text.pyi +7 -0
  504. jaclang/vendor/mypy/typeshed/stdlib/msvcrt.pyi +32 -0
  505. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/__init__.pyi +94 -0
  506. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/connection.pyi +94 -0
  507. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/context.pyi +235 -0
  508. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/dummy/__init__.pyi +83 -0
  509. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/dummy/connection.pyi +50 -0
  510. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/forkserver.pyi +36 -0
  511. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/heap.pyi +38 -0
  512. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/managers.pyi +270 -0
  513. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/pool.pyi +137 -0
  514. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_fork.pyi +23 -0
  515. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_forkserver.pyi +16 -0
  516. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_posix.pyi +20 -0
  517. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_win32.pyi +30 -0
  518. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/process.pyi +39 -0
  519. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/queues.pyi +43 -0
  520. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/reduction.pyi +118 -0
  521. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/resource_sharer.pyi +20 -0
  522. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/resource_tracker.pyi +18 -0
  523. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/shared_memory.pyi +44 -0
  524. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/sharedctypes.pyi +140 -0
  525. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/spawn.pyi +34 -0
  526. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/synchronize.pyi +66 -0
  527. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/util.pyi +83 -0
  528. jaclang/vendor/mypy/typeshed/stdlib/netrc.pyi +28 -0
  529. jaclang/vendor/mypy/typeshed/stdlib/nis.pyi +9 -0
  530. jaclang/vendor/mypy/typeshed/stdlib/nntplib.pyi +151 -0
  531. jaclang/vendor/mypy/typeshed/stdlib/nt.pyi +114 -0
  532. jaclang/vendor/mypy/typeshed/stdlib/ntpath.pyi +119 -0
  533. jaclang/vendor/mypy/typeshed/stdlib/nturl2path.pyi +2 -0
  534. jaclang/vendor/mypy/typeshed/stdlib/numbers.pyi +154 -0
  535. jaclang/vendor/mypy/typeshed/stdlib/opcode.pyi +68 -0
  536. jaclang/vendor/mypy/typeshed/stdlib/operator.pyi +110 -0
  537. jaclang/vendor/mypy/typeshed/stdlib/optparse.pyi +290 -0
  538. jaclang/vendor/mypy/typeshed/stdlib/os/__init__.pyi +1317 -0
  539. jaclang/vendor/mypy/typeshed/stdlib/os/path.pyi +8 -0
  540. jaclang/vendor/mypy/typeshed/stdlib/ossaudiodev.pyi +131 -0
  541. jaclang/vendor/mypy/typeshed/stdlib/parser.pyi +28 -0
  542. jaclang/vendor/mypy/typeshed/stdlib/pathlib.pyi +282 -0
  543. jaclang/vendor/mypy/typeshed/stdlib/pdb.pyi +223 -0
  544. jaclang/vendor/mypy/typeshed/stdlib/pickle.pyi +286 -0
  545. jaclang/vendor/mypy/typeshed/stdlib/pickletools.pyi +173 -0
  546. jaclang/vendor/mypy/typeshed/stdlib/pipes.pyi +16 -0
  547. jaclang/vendor/mypy/typeshed/stdlib/pkgutil.pyi +61 -0
  548. jaclang/vendor/mypy/typeshed/stdlib/platform.pyi +56 -0
  549. jaclang/vendor/mypy/typeshed/stdlib/plistlib.pyi +176 -0
  550. jaclang/vendor/mypy/typeshed/stdlib/poplib.pyi +78 -0
  551. jaclang/vendor/mypy/typeshed/stdlib/posix.pyi +363 -0
  552. jaclang/vendor/mypy/typeshed/stdlib/posixpath.pyi +171 -0
  553. jaclang/vendor/mypy/typeshed/stdlib/pprint.pyi +122 -0
  554. jaclang/vendor/mypy/typeshed/stdlib/profile.pyi +43 -0
  555. jaclang/vendor/mypy/typeshed/stdlib/pstats.pyi +85 -0
  556. jaclang/vendor/mypy/typeshed/stdlib/pty.pyi +21 -0
  557. jaclang/vendor/mypy/typeshed/stdlib/pwd.pyi +36 -0
  558. jaclang/vendor/mypy/typeshed/stdlib/py_compile.pyi +40 -0
  559. jaclang/vendor/mypy/typeshed/stdlib/pyclbr.pyi +97 -0
  560. jaclang/vendor/mypy/typeshed/stdlib/pydoc.pyi +309 -0
  561. jaclang/vendor/mypy/typeshed/stdlib/pydoc_data/__init__.pyi +0 -0
  562. jaclang/vendor/mypy/typeshed/stdlib/pydoc_data/topics.pyi +1 -0
  563. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/__init__.pyi +94 -0
  564. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/errors.pyi +49 -0
  565. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/model.pyi +11 -0
  566. jaclang/vendor/mypy/typeshed/stdlib/queue.pyi +62 -0
  567. jaclang/vendor/mypy/typeshed/stdlib/quopri.pyi +17 -0
  568. jaclang/vendor/mypy/typeshed/stdlib/random.pyi +160 -0
  569. jaclang/vendor/mypy/typeshed/stdlib/re.pyi +376 -0
  570. jaclang/vendor/mypy/typeshed/stdlib/readline.pyi +40 -0
  571. jaclang/vendor/mypy/typeshed/stdlib/reprlib.pyi +65 -0
  572. jaclang/vendor/mypy/typeshed/stdlib/resource.pyi +116 -0
  573. jaclang/vendor/mypy/typeshed/stdlib/rlcompleter.pyi +9 -0
  574. jaclang/vendor/mypy/typeshed/stdlib/runpy.pyi +31 -0
  575. jaclang/vendor/mypy/typeshed/stdlib/sched.pyi +56 -0
  576. jaclang/vendor/mypy/typeshed/stdlib/secrets.pyi +24 -0
  577. jaclang/vendor/mypy/typeshed/stdlib/select.pyi +162 -0
  578. jaclang/vendor/mypy/typeshed/stdlib/selectors.pyi +85 -0
  579. jaclang/vendor/mypy/typeshed/stdlib/shelve.pyi +64 -0
  580. jaclang/vendor/mypy/typeshed/stdlib/shlex.pyi +47 -0
  581. jaclang/vendor/mypy/typeshed/stdlib/shutil.pyi +239 -0
  582. jaclang/vendor/mypy/typeshed/stdlib/signal.pyi +208 -0
  583. jaclang/vendor/mypy/typeshed/stdlib/site.pyi +33 -0
  584. jaclang/vendor/mypy/typeshed/stdlib/smtpd.pyi +102 -0
  585. jaclang/vendor/mypy/typeshed/stdlib/smtplib.pyi +223 -0
  586. jaclang/vendor/mypy/typeshed/stdlib/sndhdr.pyi +14 -0
  587. jaclang/vendor/mypy/typeshed/stdlib/socket.pyi +881 -0
  588. jaclang/vendor/mypy/typeshed/stdlib/socketserver.pyi +195 -0
  589. jaclang/vendor/mypy/typeshed/stdlib/spwd.pyi +43 -0
  590. jaclang/vendor/mypy/typeshed/stdlib/sqlite3/__init__.pyi +1 -0
  591. jaclang/vendor/mypy/typeshed/stdlib/sqlite3/dbapi2.pyi +519 -0
  592. jaclang/vendor/mypy/typeshed/stdlib/sre_compile.pyi +11 -0
  593. jaclang/vendor/mypy/typeshed/stdlib/sre_constants.pyi +132 -0
  594. jaclang/vendor/mypy/typeshed/stdlib/sre_parse.pyi +110 -0
  595. jaclang/vendor/mypy/typeshed/stdlib/ssl.pyi +559 -0
  596. jaclang/vendor/mypy/typeshed/stdlib/stat.pyi +1 -0
  597. jaclang/vendor/mypy/typeshed/stdlib/statistics.pyi +151 -0
  598. jaclang/vendor/mypy/typeshed/stdlib/string.pyi +112 -0
  599. jaclang/vendor/mypy/typeshed/stdlib/stringprep.pyi +27 -0
  600. jaclang/vendor/mypy/typeshed/stdlib/struct.pyi +43 -0
  601. jaclang/vendor/mypy/typeshed/stdlib/subprocess.pyi +2638 -0
  602. jaclang/vendor/mypy/typeshed/stdlib/sunau.pyi +86 -0
  603. jaclang/vendor/mypy/typeshed/stdlib/symbol.pyi +93 -0
  604. jaclang/vendor/mypy/typeshed/stdlib/symtable.pyi +63 -0
  605. jaclang/vendor/mypy/typeshed/stdlib/sys/__init__.pyi +396 -0
  606. jaclang/vendor/mypy/typeshed/stdlib/sys/_monitoring.pyi +54 -0
  607. jaclang/vendor/mypy/typeshed/stdlib/sysconfig.pyi +52 -0
  608. jaclang/vendor/mypy/typeshed/stdlib/syslog.pyi +48 -0
  609. jaclang/vendor/mypy/typeshed/stdlib/tabnanny.pyi +18 -0
  610. jaclang/vendor/mypy/typeshed/stdlib/tarfile.pyi +486 -0
  611. jaclang/vendor/mypy/typeshed/stdlib/telnetlib.pyi +129 -0
  612. jaclang/vendor/mypy/typeshed/stdlib/tempfile.pyi +521 -0
  613. jaclang/vendor/mypy/typeshed/stdlib/termios.pyi +273 -0
  614. jaclang/vendor/mypy/typeshed/stdlib/textwrap.pyi +107 -0
  615. jaclang/vendor/mypy/typeshed/stdlib/this.pyi +2 -0
  616. jaclang/vendor/mypy/typeshed/stdlib/threading.pyi +212 -0
  617. jaclang/vendor/mypy/typeshed/stdlib/time.pyi +122 -0
  618. jaclang/vendor/mypy/typeshed/stdlib/timeit.pyi +46 -0
  619. jaclang/vendor/mypy/typeshed/stdlib/tkinter/__init__.pyi +3950 -0
  620. jaclang/vendor/mypy/typeshed/stdlib/tkinter/colorchooser.pyi +28 -0
  621. jaclang/vendor/mypy/typeshed/stdlib/tkinter/commondialog.pyi +16 -0
  622. jaclang/vendor/mypy/typeshed/stdlib/tkinter/constants.pyi +80 -0
  623. jaclang/vendor/mypy/typeshed/stdlib/tkinter/dialog.pyi +21 -0
  624. jaclang/vendor/mypy/typeshed/stdlib/tkinter/dnd.pyi +20 -0
  625. jaclang/vendor/mypy/typeshed/stdlib/tkinter/filedialog.pyi +173 -0
  626. jaclang/vendor/mypy/typeshed/stdlib/tkinter/font.pyi +148 -0
  627. jaclang/vendor/mypy/typeshed/stdlib/tkinter/messagebox.pyi +60 -0
  628. jaclang/vendor/mypy/typeshed/stdlib/tkinter/scrolledtext.pyi +10 -0
  629. jaclang/vendor/mypy/typeshed/stdlib/tkinter/simpledialog.pyi +54 -0
  630. jaclang/vendor/mypy/typeshed/stdlib/tkinter/tix.pyi +395 -0
  631. jaclang/vendor/mypy/typeshed/stdlib/tkinter/ttk.pyi +1276 -0
  632. jaclang/vendor/mypy/typeshed/stdlib/token.pyi +159 -0
  633. jaclang/vendor/mypy/typeshed/stdlib/tokenize.pyi +185 -0
  634. jaclang/vendor/mypy/typeshed/stdlib/tomllib.pyi +12 -0
  635. jaclang/vendor/mypy/typeshed/stdlib/trace.pyi +114 -0
  636. jaclang/vendor/mypy/typeshed/stdlib/traceback.pyi +297 -0
  637. jaclang/vendor/mypy/typeshed/stdlib/tracemalloc.pyi +142 -0
  638. jaclang/vendor/mypy/typeshed/stdlib/tty.pyi +30 -0
  639. jaclang/vendor/mypy/typeshed/stdlib/turtle.pyi +830 -0
  640. jaclang/vendor/mypy/typeshed/stdlib/types.pyi +647 -0
  641. jaclang/vendor/mypy/typeshed/stdlib/typing.pyi +1059 -0
  642. jaclang/vendor/mypy/typeshed/stdlib/typing_extensions.pyi +524 -0
  643. jaclang/vendor/mypy/typeshed/stdlib/unicodedata.pyi +71 -0
  644. jaclang/vendor/mypy/typeshed/stdlib/unittest/__init__.pyi +72 -0
  645. jaclang/vendor/mypy/typeshed/stdlib/unittest/_log.pyi +34 -0
  646. jaclang/vendor/mypy/typeshed/stdlib/unittest/async_case.pyi +28 -0
  647. jaclang/vendor/mypy/typeshed/stdlib/unittest/case.pyi +481 -0
  648. jaclang/vendor/mypy/typeshed/stdlib/unittest/loader.pyi +71 -0
  649. jaclang/vendor/mypy/typeshed/stdlib/unittest/main.pyi +75 -0
  650. jaclang/vendor/mypy/typeshed/stdlib/unittest/mock.pyi +468 -0
  651. jaclang/vendor/mypy/typeshed/stdlib/unittest/result.pyi +59 -0
  652. jaclang/vendor/mypy/typeshed/stdlib/unittest/runner.pyi +83 -0
  653. jaclang/vendor/mypy/typeshed/stdlib/unittest/signals.pyi +15 -0
  654. jaclang/vendor/mypy/typeshed/stdlib/unittest/suite.pyi +26 -0
  655. jaclang/vendor/mypy/typeshed/stdlib/unittest/util.pyi +31 -0
  656. jaclang/vendor/mypy/typeshed/stdlib/urllib/__init__.pyi +0 -0
  657. jaclang/vendor/mypy/typeshed/stdlib/urllib/error.pyi +27 -0
  658. jaclang/vendor/mypy/typeshed/stdlib/urllib/parse.pyi +245 -0
  659. jaclang/vendor/mypy/typeshed/stdlib/urllib/request.pyi +544 -0
  660. jaclang/vendor/mypy/typeshed/stdlib/urllib/response.pyi +50 -0
  661. jaclang/vendor/mypy/typeshed/stdlib/urllib/robotparser.pyi +20 -0
  662. jaclang/vendor/mypy/typeshed/stdlib/uu.pyi +23 -0
  663. jaclang/vendor/mypy/typeshed/stdlib/uuid.pyi +100 -0
  664. jaclang/vendor/mypy/typeshed/stdlib/warnings.pyi +144 -0
  665. jaclang/vendor/mypy/typeshed/stdlib/wave.pyi +87 -0
  666. jaclang/vendor/mypy/typeshed/stdlib/weakref.pyi +173 -0
  667. jaclang/vendor/mypy/typeshed/stdlib/webbrowser.pyi +80 -0
  668. jaclang/vendor/mypy/typeshed/stdlib/winreg.pyi +120 -0
  669. jaclang/vendor/mypy/typeshed/stdlib/winsound.pyi +28 -0
  670. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/__init__.pyi +0 -0
  671. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/handlers.pyi +109 -0
  672. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/headers.pyi +28 -0
  673. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/simple_server.pyi +49 -0
  674. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/types.pyi +44 -0
  675. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/util.pyi +31 -0
  676. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/validate.pyi +52 -0
  677. jaclang/vendor/mypy/typeshed/stdlib/xdrlib.pyi +63 -0
  678. jaclang/vendor/mypy/typeshed/stdlib/xml/__init__.pyi +1 -0
  679. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/NodeFilter.pyi +19 -0
  680. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/__init__.pyi +72 -0
  681. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/domreg.pyi +12 -0
  682. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/expatbuilder.pyi +111 -0
  683. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/minicompat.pyi +22 -0
  684. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/minidom.pyi +467 -0
  685. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/pulldom.pyi +101 -0
  686. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/xmlbuilder.pyi +110 -0
  687. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementInclude.pyi +35 -0
  688. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementPath.pyi +49 -0
  689. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementTree.pyi +367 -0
  690. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/__init__.pyi +0 -0
  691. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/cElementTree.pyi +1 -0
  692. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/__init__.pyi +1 -0
  693. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/__init__.pyi +1 -0
  694. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/errors.pyi +1 -0
  695. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/model.pyi +1 -0
  696. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/__init__.pyi +34 -0
  697. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/_exceptions.pyi +21 -0
  698. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/handler.pyi +59 -0
  699. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/saxutils.pyi +71 -0
  700. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/xmlreader.pyi +89 -0
  701. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/__init__.pyi +0 -0
  702. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/client.pyi +348 -0
  703. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/server.pyi +186 -0
  704. jaclang/vendor/mypy/typeshed/stdlib/xxlimited.pyi +22 -0
  705. jaclang/vendor/mypy/typeshed/stdlib/zipapp.pyi +20 -0
  706. jaclang/vendor/mypy/typeshed/stdlib/zipfile/__init__.pyi +355 -0
  707. jaclang/vendor/mypy/typeshed/stdlib/zipfile/_path.pyi +105 -0
  708. jaclang/vendor/mypy/typeshed/stdlib/zipimport.pyi +40 -0
  709. jaclang/vendor/mypy/typeshed/stdlib/zlib.pyi +63 -0
  710. jaclang/vendor/mypy/typeshed/stdlib/zoneinfo/__init__.pyi +45 -0
  711. jaclang/vendor/mypy/typeshed/stubs/mypy-extensions/@tests/stubtest_allowlist.txt +2 -0
  712. jaclang/vendor/mypy/typeshed/stubs/mypy-extensions/METADATA.toml +4 -0
  713. jaclang/vendor/mypy/typeshed/stubs/mypy-extensions/mypy_extensions.pyi +238 -0
  714. jaclang/vendor/mypy/xml/mypy-html.css +104 -0
  715. jaclang/vendor/mypy/xml/mypy-html.xslt +81 -0
  716. jaclang/vendor/mypy/xml/mypy-txt.xslt +100 -0
  717. jaclang/vendor/mypy/xml/mypy.xsd +50 -0
  718. jaclang/vendor/mypyc/.readthedocs.yaml +18 -0
  719. jaclang/vendor/mypyc/README.md +133 -0
  720. jaclang/vendor/mypyc/doc/Makefile +20 -0
  721. jaclang/vendor/mypyc/doc/bool_operations.rst +27 -0
  722. jaclang/vendor/mypyc/doc/compilation_units.rst +20 -0
  723. jaclang/vendor/mypyc/doc/conf.py +59 -0
  724. jaclang/vendor/mypyc/doc/cpython-timings.md +25 -0
  725. jaclang/vendor/mypyc/doc/dev-intro.md +548 -0
  726. jaclang/vendor/mypyc/doc/dict_operations.rst +59 -0
  727. jaclang/vendor/mypyc/doc/differences_from_python.rst +332 -0
  728. jaclang/vendor/mypyc/doc/float_operations.rst +50 -0
  729. jaclang/vendor/mypyc/doc/future.md +42 -0
  730. jaclang/vendor/mypyc/doc/getting_started.rst +240 -0
  731. jaclang/vendor/mypyc/doc/index.rst +61 -0
  732. jaclang/vendor/mypyc/doc/int_operations.rst +162 -0
  733. jaclang/vendor/mypyc/doc/introduction.rst +150 -0
  734. jaclang/vendor/mypyc/doc/list_operations.rst +65 -0
  735. jaclang/vendor/mypyc/doc/make.bat +35 -0
  736. jaclang/vendor/mypyc/doc/native_classes.rst +206 -0
  737. jaclang/vendor/mypyc/doc/native_operations.rst +55 -0
  738. jaclang/vendor/mypyc/doc/performance_tips_and_tricks.rst +244 -0
  739. jaclang/vendor/mypyc/doc/set_operations.rst +47 -0
  740. jaclang/vendor/mypyc/doc/str_operations.rst +35 -0
  741. jaclang/vendor/mypyc/doc/tuple_operations.rst +33 -0
  742. jaclang/vendor/mypyc/doc/using_type_annotations.rst +398 -0
  743. jaclang/vendor/mypyc/external/googletest/LICENSE +28 -0
  744. jaclang/vendor/mypyc/external/googletest/README.md +280 -0
  745. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-death-test.h +294 -0
  746. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-message.h +250 -0
  747. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-param-test.h +1444 -0
  748. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-param-test.h.pump +510 -0
  749. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-printers.h +993 -0
  750. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-spi.h +232 -0
  751. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-test-part.h +179 -0
  752. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-typed-test.h +263 -0
  753. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest.h +2236 -0
  754. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest_pred_impl.h +358 -0
  755. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest_prod.h +58 -0
  756. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest-port.h +69 -0
  757. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest-printers.h +42 -0
  758. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest.h +41 -0
  759. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-death-test-internal.h +319 -0
  760. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-filepath.h +206 -0
  761. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-internal.h +1238 -0
  762. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-linked_ptr.h +243 -0
  763. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h +5146 -0
  764. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h.pump +286 -0
  765. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util.h +731 -0
  766. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-port-arch.h +93 -0
  767. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-port.h +2560 -0
  768. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-string.h +167 -0
  769. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-tuple.h +1020 -0
  770. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-tuple.h.pump +347 -0
  771. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-type-util.h +3331 -0
  772. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-type-util.h.pump +297 -0
  773. jaclang/vendor/mypyc/external/googletest/make/Makefile +61 -0
  774. jaclang/vendor/mypyc/external/googletest/src/gtest-all.cc +48 -0
  775. jaclang/vendor/mypyc/external/googletest/src/gtest-death-test.cc +1342 -0
  776. jaclang/vendor/mypyc/external/googletest/src/gtest-filepath.cc +387 -0
  777. jaclang/vendor/mypyc/external/googletest/src/gtest-internal-inl.h +1183 -0
  778. jaclang/vendor/mypyc/external/googletest/src/gtest-port.cc +1259 -0
  779. jaclang/vendor/mypyc/external/googletest/src/gtest-printers.cc +373 -0
  780. jaclang/vendor/mypyc/external/googletest/src/gtest-test-part.cc +110 -0
  781. jaclang/vendor/mypyc/external/googletest/src/gtest-typed-test.cc +118 -0
  782. jaclang/vendor/mypyc/external/googletest/src/gtest.cc +5388 -0
  783. jaclang/vendor/mypyc/external/googletest/src/gtest_main.cc +38 -0
  784. jaclang/vendor/mypyc/lib-rt/CPy.h +643 -0
  785. jaclang/vendor/mypyc/lib-rt/bytes_ops.c +143 -0
  786. jaclang/vendor/mypyc/lib-rt/dict_ops.c +446 -0
  787. jaclang/vendor/mypyc/lib-rt/exc_ops.c +259 -0
  788. jaclang/vendor/mypyc/lib-rt/float_ops.c +192 -0
  789. jaclang/vendor/mypyc/lib-rt/generic_ops.c +64 -0
  790. jaclang/vendor/mypyc/lib-rt/getargs.c +450 -0
  791. jaclang/vendor/mypyc/lib-rt/getargsfast.c +569 -0
  792. jaclang/vendor/mypyc/lib-rt/init.c +13 -0
  793. jaclang/vendor/mypyc/lib-rt/int_ops.c +803 -0
  794. jaclang/vendor/mypyc/lib-rt/list_ops.c +335 -0
  795. jaclang/vendor/mypyc/lib-rt/misc_ops.c +942 -0
  796. jaclang/vendor/mypyc/lib-rt/module_shim.tmpl +18 -0
  797. jaclang/vendor/mypyc/lib-rt/mypyc_util.h +118 -0
  798. jaclang/vendor/mypyc/lib-rt/pythoncapi_compat.h +497 -0
  799. jaclang/vendor/mypyc/lib-rt/pythonsupport.h +548 -0
  800. jaclang/vendor/mypyc/lib-rt/set_ops.c +17 -0
  801. jaclang/vendor/mypyc/lib-rt/setup.py +76 -0
  802. jaclang/vendor/mypyc/lib-rt/str_ops.c +241 -0
  803. jaclang/vendor/mypyc/lib-rt/test_capi.cc +585 -0
  804. jaclang/vendor/mypyc/lib-rt/tuple_ops.c +61 -0
  805. jaclang/vendor/mypyc/test-data/alwaysdefined.test +732 -0
  806. jaclang/vendor/mypyc/test-data/analysis.test +603 -0
  807. jaclang/vendor/mypyc/test-data/commandline.test +245 -0
  808. jaclang/vendor/mypyc/test-data/driver/driver.py +50 -0
  809. jaclang/vendor/mypyc/test-data/exceptions-freq.test +125 -0
  810. jaclang/vendor/mypyc/test-data/exceptions.test +713 -0
  811. jaclang/vendor/mypyc/test-data/fixtures/ir.py +850 -0
  812. jaclang/vendor/mypyc/test-data/fixtures/testutil.py +117 -0
  813. jaclang/vendor/mypyc/test-data/fixtures/typing-full.pyi +212 -0
  814. jaclang/vendor/mypyc/test-data/irbuild-any.test +238 -0
  815. jaclang/vendor/mypyc/test-data/irbuild-basic.test +3690 -0
  816. jaclang/vendor/mypyc/test-data/irbuild-bool.test +463 -0
  817. jaclang/vendor/mypyc/test-data/irbuild-bytes.test +184 -0
  818. jaclang/vendor/mypyc/test-data/irbuild-classes.test +1303 -0
  819. jaclang/vendor/mypyc/test-data/irbuild-constant-fold.test +480 -0
  820. jaclang/vendor/mypyc/test-data/irbuild-dict.test +585 -0
  821. jaclang/vendor/mypyc/test-data/irbuild-dunders.test +223 -0
  822. jaclang/vendor/mypyc/test-data/irbuild-float.test +497 -0
  823. jaclang/vendor/mypyc/test-data/irbuild-generics.test +151 -0
  824. jaclang/vendor/mypyc/test-data/irbuild-glue-methods.test +437 -0
  825. jaclang/vendor/mypyc/test-data/irbuild-i16.test +526 -0
  826. jaclang/vendor/mypyc/test-data/irbuild-i32.test +598 -0
  827. jaclang/vendor/mypyc/test-data/irbuild-i64.test +2164 -0
  828. jaclang/vendor/mypyc/test-data/irbuild-int.test +235 -0
  829. jaclang/vendor/mypyc/test-data/irbuild-isinstance.test +109 -0
  830. jaclang/vendor/mypyc/test-data/irbuild-lists.test +547 -0
  831. jaclang/vendor/mypyc/test-data/irbuild-match.test +1708 -0
  832. jaclang/vendor/mypyc/test-data/irbuild-math.test +64 -0
  833. jaclang/vendor/mypyc/test-data/irbuild-nested.test +807 -0
  834. jaclang/vendor/mypyc/test-data/irbuild-optional.test +536 -0
  835. jaclang/vendor/mypyc/test-data/irbuild-set.test +838 -0
  836. jaclang/vendor/mypyc/test-data/irbuild-singledispatch.test +257 -0
  837. jaclang/vendor/mypyc/test-data/irbuild-statements.test +1149 -0
  838. jaclang/vendor/mypyc/test-data/irbuild-str.test +314 -0
  839. jaclang/vendor/mypyc/test-data/irbuild-strip-asserts.test +12 -0
  840. jaclang/vendor/mypyc/test-data/irbuild-try.test +523 -0
  841. jaclang/vendor/mypyc/test-data/irbuild-tuple.test +462 -0
  842. jaclang/vendor/mypyc/test-data/irbuild-u8.test +543 -0
  843. jaclang/vendor/mypyc/test-data/irbuild-unreachable.test +241 -0
  844. jaclang/vendor/mypyc/test-data/irbuild-vectorcall.test +153 -0
  845. jaclang/vendor/mypyc/test-data/refcount.test +1588 -0
  846. jaclang/vendor/mypyc/test-data/run-async.test +145 -0
  847. jaclang/vendor/mypyc/test-data/run-attrs.test +318 -0
  848. jaclang/vendor/mypyc/test-data/run-bench.test +196 -0
  849. jaclang/vendor/mypyc/test-data/run-bools.test +229 -0
  850. jaclang/vendor/mypyc/test-data/run-bytes.test +302 -0
  851. jaclang/vendor/mypyc/test-data/run-classes.test +2505 -0
  852. jaclang/vendor/mypyc/test-data/run-dicts.test +334 -0
  853. jaclang/vendor/mypyc/test-data/run-dunders.test +945 -0
  854. jaclang/vendor/mypyc/test-data/run-exceptions.test +448 -0
  855. jaclang/vendor/mypyc/test-data/run-floats.test +516 -0
  856. jaclang/vendor/mypyc/test-data/run-functions.test +1310 -0
  857. jaclang/vendor/mypyc/test-data/run-generators.test +681 -0
  858. jaclang/vendor/mypyc/test-data/run-i16.test +338 -0
  859. jaclang/vendor/mypyc/test-data/run-i32.test +336 -0
  860. jaclang/vendor/mypyc/test-data/run-i64.test +1519 -0
  861. jaclang/vendor/mypyc/test-data/run-imports.test +265 -0
  862. jaclang/vendor/mypyc/test-data/run-integers.test +540 -0
  863. jaclang/vendor/mypyc/test-data/run-lists.test +411 -0
  864. jaclang/vendor/mypyc/test-data/run-loops.test +485 -0
  865. jaclang/vendor/mypyc/test-data/run-match.test +283 -0
  866. jaclang/vendor/mypyc/test-data/run-math.test +106 -0
  867. jaclang/vendor/mypyc/test-data/run-misc.test +1168 -0
  868. jaclang/vendor/mypyc/test-data/run-multimodule.test +887 -0
  869. jaclang/vendor/mypyc/test-data/run-mypy-sim.test +138 -0
  870. jaclang/vendor/mypyc/test-data/run-primitives.test +375 -0
  871. jaclang/vendor/mypyc/test-data/run-python37.test +159 -0
  872. jaclang/vendor/mypyc/test-data/run-python38.test +88 -0
  873. jaclang/vendor/mypyc/test-data/run-sets.test +150 -0
  874. jaclang/vendor/mypyc/test-data/run-singledispatch.test +698 -0
  875. jaclang/vendor/mypyc/test-data/run-strings.test +641 -0
  876. jaclang/vendor/mypyc/test-data/run-traits.test +411 -0
  877. jaclang/vendor/mypyc/test-data/run-tuples.test +258 -0
  878. jaclang/vendor/mypyc/test-data/run-u8.test +303 -0
  879. jaclang/vendor/pluggy/LICENSE +21 -0
  880. jaclang-0.6.2.dist-info/METADATA +110 -0
  881. jaclang-0.6.2.dist-info/RECORD +1305 -0
  882. {jaclang-0.6.1.dist-info → jaclang-0.6.2.dist-info}/WHEEL +1 -2
  883. jaclang-0.6.2.dist-info/entry_points.txt +3 -0
  884. jaclang/compiler/generated/jac_parser.py +0 -4069
  885. jaclang-0.6.1.dist-info/METADATA +0 -17
  886. jaclang-0.6.1.dist-info/RECORD +0 -430
  887. jaclang-0.6.1.dist-info/entry_points.txt +0 -2
  888. jaclang-0.6.1.dist-info/top_level.txt +0 -1
  889. /jaclang/{compiler/generated/__init__.py → vendor/mypy/typeshed/stdlib/concurrent/__init__.pyi} +0 -0
@@ -0,0 +1,1303 @@
1
+ [case testGetAttribute]
2
+ class A:
3
+ x: int
4
+
5
+ def f(a: A) -> int:
6
+ return a.x
7
+ [out]
8
+ def f(a):
9
+ a :: __main__.A
10
+ r0 :: int
11
+ L0:
12
+ r0 = a.x
13
+ return r0
14
+
15
+ [case testSetAttribute]
16
+ class A:
17
+ x: int
18
+
19
+ def f(a: A) -> None:
20
+ a.x = 1
21
+ [out]
22
+ def f(a):
23
+ a :: __main__.A
24
+ r0 :: bool
25
+ L0:
26
+ a.x = 2; r0 = is_error
27
+ return 1
28
+
29
+ [case testUserClassInList]
30
+ class C:
31
+ x: int
32
+
33
+ def f() -> int:
34
+ c = C()
35
+ c.x = 5
36
+ a = [c]
37
+ d = a[0]
38
+ return d.x + 1
39
+ [out]
40
+ def f():
41
+ r0, c :: __main__.C
42
+ r1 :: bool
43
+ r2 :: list
44
+ r3, r4 :: ptr
45
+ a :: list
46
+ r5 :: object
47
+ r6, d :: __main__.C
48
+ r7, r8 :: int
49
+ L0:
50
+ r0 = C()
51
+ c = r0
52
+ c.x = 10; r1 = is_error
53
+ r2 = PyList_New(1)
54
+ r3 = get_element_ptr r2 ob_item :: PyListObject
55
+ r4 = load_mem r3 :: ptr*
56
+ set_mem r4, c :: builtins.object*
57
+ keep_alive r2
58
+ a = r2
59
+ r5 = CPyList_GetItemShort(a, 0)
60
+ r6 = cast(__main__.C, r5)
61
+ d = r6
62
+ r7 = borrow d.x
63
+ r8 = CPyTagged_Add(r7, 2)
64
+ keep_alive d
65
+ return r8
66
+
67
+ [case testMethodCall]
68
+ class A:
69
+ def f(self, x: int, y: str) -> int:
70
+ return x + 10
71
+
72
+ def g(a: A) -> None:
73
+ a.f(1, 'hi')
74
+ [out]
75
+ def A.f(self, x, y):
76
+ self :: __main__.A
77
+ x :: int
78
+ y :: str
79
+ r0 :: int
80
+ L0:
81
+ r0 = CPyTagged_Add(x, 20)
82
+ return r0
83
+ def g(a):
84
+ a :: __main__.A
85
+ r0 :: str
86
+ r1 :: int
87
+ L0:
88
+ r0 = 'hi'
89
+ r1 = a.f(2, r0)
90
+ return 1
91
+
92
+ [case testForwardUse]
93
+ def g(a: A) -> int:
94
+ return a.n
95
+
96
+ class A:
97
+ n : int
98
+
99
+ [out]
100
+ def g(a):
101
+ a :: __main__.A
102
+ r0 :: int
103
+ L0:
104
+ r0 = a.n
105
+ return r0
106
+
107
+ [case testOptionalMember]
108
+ from typing import Optional
109
+ class Node:
110
+ next: Optional[Node]
111
+ def length(self) -> int:
112
+ if self.next is not None:
113
+ return 1 + self.next.length()
114
+ return 1
115
+ [out]
116
+ def Node.length(self):
117
+ self :: __main__.Node
118
+ r0 :: union[__main__.Node, None]
119
+ r1 :: object
120
+ r2 :: bit
121
+ r3 :: union[__main__.Node, None]
122
+ r4 :: __main__.Node
123
+ r5, r6 :: int
124
+ L0:
125
+ r0 = borrow self.next
126
+ r1 = load_address _Py_NoneStruct
127
+ r2 = r0 != r1
128
+ keep_alive self
129
+ if r2 goto L1 else goto L2 :: bool
130
+ L1:
131
+ r3 = self.next
132
+ r4 = cast(__main__.Node, r3)
133
+ r5 = r4.length()
134
+ r6 = CPyTagged_Add(2, r5)
135
+ return r6
136
+ L2:
137
+ return 2
138
+
139
+ [case testSubclass]
140
+ class A:
141
+ def __init__(self) -> None:
142
+ self.x = 10
143
+ class B(A):
144
+ def __init__(self) -> None:
145
+ self.x = 20
146
+ self.y = 30
147
+ [out]
148
+ def A.__init__(self):
149
+ self :: __main__.A
150
+ L0:
151
+ self.x = 20
152
+ return 1
153
+ def B.__init__(self):
154
+ self :: __main__.B
155
+ L0:
156
+ self.x = 40
157
+ self.y = 60
158
+ return 1
159
+
160
+ [case testAttrLvalue]
161
+ class O(object):
162
+ def __init__(self) -> None:
163
+ self.x = 1
164
+
165
+ def increment(o: O) -> O:
166
+ o.x += 1
167
+ return o
168
+ [out]
169
+ def O.__init__(self):
170
+ self :: __main__.O
171
+ L0:
172
+ self.x = 2
173
+ return 1
174
+ def increment(o):
175
+ o :: __main__.O
176
+ r0, r1 :: int
177
+ r2 :: bool
178
+ L0:
179
+ r0 = borrow o.x
180
+ r1 = CPyTagged_Add(r0, 2)
181
+ o.x = r1; r2 = is_error
182
+ return o
183
+
184
+ [case testSubclass_toplevel]
185
+ from typing import TypeVar, Generic
186
+ from mypy_extensions import trait
187
+ T = TypeVar('T')
188
+ class C:
189
+ pass
190
+
191
+ @trait
192
+ class S:
193
+ pass
194
+
195
+ class D(C, S, Generic[T]):
196
+ pass
197
+
198
+ [out]
199
+ def __top_level__():
200
+ r0, r1 :: object
201
+ r2 :: bit
202
+ r3 :: str
203
+ r4, r5 :: object
204
+ r6 :: str
205
+ r7 :: dict
206
+ r8, r9 :: object
207
+ r10 :: str
208
+ r11 :: dict
209
+ r12 :: object
210
+ r13 :: str
211
+ r14 :: dict
212
+ r15 :: str
213
+ r16, r17 :: object
214
+ r18 :: dict
215
+ r19 :: str
216
+ r20 :: i32
217
+ r21 :: bit
218
+ r22 :: object
219
+ r23 :: str
220
+ r24, r25 :: object
221
+ r26 :: bool
222
+ r27 :: str
223
+ r28 :: tuple
224
+ r29 :: i32
225
+ r30 :: bit
226
+ r31 :: dict
227
+ r32 :: str
228
+ r33 :: i32
229
+ r34 :: bit
230
+ r35 :: object
231
+ r36 :: str
232
+ r37, r38 :: object
233
+ r39 :: str
234
+ r40 :: tuple
235
+ r41 :: i32
236
+ r42 :: bit
237
+ r43 :: dict
238
+ r44 :: str
239
+ r45 :: i32
240
+ r46 :: bit
241
+ r47, r48 :: object
242
+ r49 :: dict
243
+ r50 :: str
244
+ r51 :: object
245
+ r52 :: dict
246
+ r53 :: str
247
+ r54, r55 :: object
248
+ r56 :: tuple
249
+ r57 :: str
250
+ r58, r59 :: object
251
+ r60 :: bool
252
+ r61, r62 :: str
253
+ r63 :: tuple
254
+ r64 :: i32
255
+ r65 :: bit
256
+ r66 :: dict
257
+ r67 :: str
258
+ r68 :: i32
259
+ r69 :: bit
260
+ L0:
261
+ r0 = builtins :: module
262
+ r1 = load_address _Py_NoneStruct
263
+ r2 = r0 != r1
264
+ if r2 goto L2 else goto L1 :: bool
265
+ L1:
266
+ r3 = 'builtins'
267
+ r4 = PyImport_Import(r3)
268
+ builtins = r4 :: module
269
+ L2:
270
+ r5 = ('TypeVar', 'Generic')
271
+ r6 = 'typing'
272
+ r7 = __main__.globals :: static
273
+ r8 = CPyImport_ImportFromMany(r6, r5, r5, r7)
274
+ typing = r8 :: module
275
+ r9 = ('trait',)
276
+ r10 = 'mypy_extensions'
277
+ r11 = __main__.globals :: static
278
+ r12 = CPyImport_ImportFromMany(r10, r9, r9, r11)
279
+ mypy_extensions = r12 :: module
280
+ r13 = 'T'
281
+ r14 = __main__.globals :: static
282
+ r15 = 'TypeVar'
283
+ r16 = CPyDict_GetItem(r14, r15)
284
+ r17 = PyObject_CallFunctionObjArgs(r16, r13, 0)
285
+ r18 = __main__.globals :: static
286
+ r19 = 'T'
287
+ r20 = CPyDict_SetItem(r18, r19, r17)
288
+ r21 = r20 >= 0 :: signed
289
+ r22 = <error> :: object
290
+ r23 = '__main__'
291
+ r24 = __main__.C_template :: type
292
+ r25 = CPyType_FromTemplate(r24, r22, r23)
293
+ r26 = C_trait_vtable_setup()
294
+ r27 = '__mypyc_attrs__'
295
+ r28 = PyTuple_Pack(0)
296
+ r29 = PyObject_SetAttr(r25, r27, r28)
297
+ r30 = r29 >= 0 :: signed
298
+ __main__.C = r25 :: type
299
+ r31 = __main__.globals :: static
300
+ r32 = 'C'
301
+ r33 = CPyDict_SetItem(r31, r32, r25)
302
+ r34 = r33 >= 0 :: signed
303
+ r35 = <error> :: object
304
+ r36 = '__main__'
305
+ r37 = __main__.S_template :: type
306
+ r38 = CPyType_FromTemplate(r37, r35, r36)
307
+ r39 = '__mypyc_attrs__'
308
+ r40 = PyTuple_Pack(0)
309
+ r41 = PyObject_SetAttr(r38, r39, r40)
310
+ r42 = r41 >= 0 :: signed
311
+ __main__.S = r38 :: type
312
+ r43 = __main__.globals :: static
313
+ r44 = 'S'
314
+ r45 = CPyDict_SetItem(r43, r44, r38)
315
+ r46 = r45 >= 0 :: signed
316
+ r47 = __main__.C :: type
317
+ r48 = __main__.S :: type
318
+ r49 = __main__.globals :: static
319
+ r50 = 'Generic'
320
+ r51 = CPyDict_GetItem(r49, r50)
321
+ r52 = __main__.globals :: static
322
+ r53 = 'T'
323
+ r54 = CPyDict_GetItem(r52, r53)
324
+ r55 = PyObject_GetItem(r51, r54)
325
+ r56 = PyTuple_Pack(3, r47, r48, r55)
326
+ r57 = '__main__'
327
+ r58 = __main__.D_template :: type
328
+ r59 = CPyType_FromTemplate(r58, r56, r57)
329
+ r60 = D_trait_vtable_setup()
330
+ r61 = '__mypyc_attrs__'
331
+ r62 = '__dict__'
332
+ r63 = PyTuple_Pack(1, r62)
333
+ r64 = PyObject_SetAttr(r59, r61, r63)
334
+ r65 = r64 >= 0 :: signed
335
+ __main__.D = r59 :: type
336
+ r66 = __main__.globals :: static
337
+ r67 = 'D'
338
+ r68 = CPyDict_SetItem(r66, r67, r59)
339
+ r69 = r68 >= 0 :: signed
340
+ return 1
341
+
342
+ [case testIsInstance]
343
+ class A: pass
344
+ class B(A): pass
345
+
346
+ def f(x: A) -> B:
347
+ if isinstance(x, B):
348
+ return x
349
+ return B()
350
+ [out]
351
+ def f(x):
352
+ x :: __main__.A
353
+ r0 :: object
354
+ r1 :: ptr
355
+ r2 :: object
356
+ r3 :: bit
357
+ r4, r5 :: __main__.B
358
+ L0:
359
+ r0 = __main__.B :: type
360
+ r1 = get_element_ptr x ob_type :: PyObject
361
+ r2 = load_mem r1 :: builtins.object*
362
+ keep_alive x
363
+ r3 = r2 == r0
364
+ if r3 goto L1 else goto L2 :: bool
365
+ L1:
366
+ r4 = cast(__main__.B, x)
367
+ return r4
368
+ L2:
369
+ r5 = B()
370
+ return r5
371
+
372
+ [case testIsInstanceTuple]
373
+ from typing import Union
374
+ class R: pass
375
+ class A(R): pass
376
+ class B(R): pass
377
+ class C(R): pass
378
+
379
+ def f(x: R) -> Union[A, B]:
380
+ if isinstance(x, (A, B)):
381
+ return x
382
+ return A()
383
+ [out]
384
+ def f(x):
385
+ x :: __main__.R
386
+ r0 :: object
387
+ r1 :: ptr
388
+ r2 :: object
389
+ r3 :: bit
390
+ r4 :: bool
391
+ r5 :: object
392
+ r6 :: ptr
393
+ r7 :: object
394
+ r8 :: bit
395
+ r9 :: union[__main__.A, __main__.B]
396
+ r10 :: __main__.A
397
+ L0:
398
+ r0 = __main__.A :: type
399
+ r1 = get_element_ptr x ob_type :: PyObject
400
+ r2 = load_mem r1 :: builtins.object*
401
+ keep_alive x
402
+ r3 = r2 == r0
403
+ if r3 goto L1 else goto L2 :: bool
404
+ L1:
405
+ r4 = r3
406
+ goto L3
407
+ L2:
408
+ r5 = __main__.B :: type
409
+ r6 = get_element_ptr x ob_type :: PyObject
410
+ r7 = load_mem r6 :: builtins.object*
411
+ keep_alive x
412
+ r8 = r7 == r5
413
+ r4 = r8
414
+ L3:
415
+ if r4 goto L4 else goto L5 :: bool
416
+ L4:
417
+ r9 = cast(union[__main__.A, __main__.B], x)
418
+ return r9
419
+ L5:
420
+ r10 = A()
421
+ return r10
422
+
423
+ [case testIsInstanceFewSubclasses]
424
+ class R: pass
425
+ class A(R): pass
426
+
427
+ def f(x: object) -> R:
428
+ if isinstance(x, R):
429
+ return x
430
+ return A()
431
+ [out]
432
+ def f(x):
433
+ x, r0 :: object
434
+ r1 :: ptr
435
+ r2 :: object
436
+ r3 :: bit
437
+ r4 :: bool
438
+ r5 :: object
439
+ r6 :: ptr
440
+ r7 :: object
441
+ r8 :: bit
442
+ r9 :: __main__.R
443
+ r10 :: __main__.A
444
+ L0:
445
+ r0 = __main__.A :: type
446
+ r1 = get_element_ptr x ob_type :: PyObject
447
+ r2 = load_mem r1 :: builtins.object*
448
+ keep_alive x
449
+ r3 = r2 == r0
450
+ if r3 goto L1 else goto L2 :: bool
451
+ L1:
452
+ r4 = r3
453
+ goto L3
454
+ L2:
455
+ r5 = __main__.R :: type
456
+ r6 = get_element_ptr x ob_type :: PyObject
457
+ r7 = load_mem r6 :: builtins.object*
458
+ keep_alive x
459
+ r8 = r7 == r5
460
+ r4 = r8
461
+ L3:
462
+ if r4 goto L4 else goto L5 :: bool
463
+ L4:
464
+ r9 = cast(__main__.R, x)
465
+ return r9
466
+ L5:
467
+ r10 = A()
468
+ return r10
469
+
470
+ [case testIsInstanceFewSubclassesTrait]
471
+ from mypy_extensions import trait
472
+ class B: pass
473
+ @trait
474
+ class R: pass
475
+ class A(B, R): pass
476
+ class C(B, R): pass
477
+
478
+ def f(x: object) -> R:
479
+ if isinstance(x, R):
480
+ return x
481
+ return A()
482
+ [out]
483
+ def f(x):
484
+ x, r0 :: object
485
+ r1 :: ptr
486
+ r2 :: object
487
+ r3 :: bit
488
+ r4 :: bool
489
+ r5 :: object
490
+ r6 :: ptr
491
+ r7 :: object
492
+ r8 :: bit
493
+ r9 :: __main__.R
494
+ r10 :: __main__.A
495
+ L0:
496
+ r0 = __main__.A :: type
497
+ r1 = get_element_ptr x ob_type :: PyObject
498
+ r2 = load_mem r1 :: builtins.object*
499
+ keep_alive x
500
+ r3 = r2 == r0
501
+ if r3 goto L1 else goto L2 :: bool
502
+ L1:
503
+ r4 = r3
504
+ goto L3
505
+ L2:
506
+ r5 = __main__.C :: type
507
+ r6 = get_element_ptr x ob_type :: PyObject
508
+ r7 = load_mem r6 :: builtins.object*
509
+ keep_alive x
510
+ r8 = r7 == r5
511
+ r4 = r8
512
+ L3:
513
+ if r4 goto L4 else goto L5 :: bool
514
+ L4:
515
+ r9 = cast(__main__.R, x)
516
+ return r9
517
+ L5:
518
+ r10 = A()
519
+ return r10
520
+
521
+ [case testIsInstanceManySubclasses]
522
+ class R: pass
523
+ class A(R): pass
524
+ class B(R): pass
525
+ class C(R): pass
526
+
527
+ def f(x: object) -> R:
528
+ if isinstance(x, R):
529
+ return x
530
+ return B()
531
+ [out]
532
+ def f(x):
533
+ x, r0 :: object
534
+ r1 :: bool
535
+ r2 :: __main__.R
536
+ r3 :: __main__.B
537
+ L0:
538
+ r0 = __main__.R :: type
539
+ r1 = CPy_TypeCheck(x, r0)
540
+ if r1 goto L1 else goto L2 :: bool
541
+ L1:
542
+ r2 = cast(__main__.R, x)
543
+ return r2
544
+ L2:
545
+ r3 = B()
546
+ return r3
547
+
548
+ [case testFakeSuper]
549
+ class A:
550
+ def __init__(self, x: int) -> None:
551
+ self.x = x
552
+ class B(A):
553
+ def __init__(self, x: int, y: int) -> None:
554
+ A.__init__(self, x)
555
+ self.y = y
556
+ [out]
557
+ def A.__init__(self, x):
558
+ self :: __main__.A
559
+ x :: int
560
+ L0:
561
+ self.x = x
562
+ return 1
563
+ def B.__init__(self, x, y):
564
+ self :: __main__.B
565
+ x, y :: int
566
+ r0 :: None
567
+ L0:
568
+ r0 = A.__init__(self, x)
569
+ self.y = y
570
+ return 1
571
+
572
+ [case testClassMethod]
573
+ class C:
574
+ @staticmethod
575
+ def foo(x: int) -> int: return 10 + x
576
+ @classmethod
577
+ def bar(cls, x: int) -> int: return 10 + x
578
+
579
+ def lol() -> int:
580
+ return C.foo(1) + C.bar(2)
581
+ [out]
582
+ def C.foo(x):
583
+ x, r0 :: int
584
+ L0:
585
+ r0 = CPyTagged_Add(20, x)
586
+ return r0
587
+ def C.bar(cls, x):
588
+ cls :: object
589
+ x, r0 :: int
590
+ L0:
591
+ r0 = CPyTagged_Add(20, x)
592
+ return r0
593
+ def lol():
594
+ r0 :: int
595
+ r1 :: object
596
+ r2, r3 :: int
597
+ L0:
598
+ r0 = C.foo(2)
599
+ r1 = __main__.C :: type
600
+ r2 = C.bar(r1, 4)
601
+ r3 = CPyTagged_Add(r0, r2)
602
+ return r3
603
+
604
+ [case testCallClassMethodViaCls]
605
+ class C:
606
+ @classmethod
607
+ def f(cls, x: int) -> int:
608
+ return cls.g(x)
609
+
610
+ @classmethod
611
+ def g(cls, x: int) -> int:
612
+ return x
613
+
614
+ class D:
615
+ @classmethod
616
+ def f(cls, x: int) -> int:
617
+ # TODO: This could aso be optimized, since g is not ever overridden
618
+ return cls.g(x)
619
+
620
+ @classmethod
621
+ def g(cls, x: int) -> int:
622
+ return x
623
+
624
+ class DD(D):
625
+ pass
626
+ [out]
627
+ def C.f(cls, x):
628
+ cls :: object
629
+ x :: int
630
+ r0 :: object
631
+ r1 :: int
632
+ L0:
633
+ r0 = __main__.C :: type
634
+ r1 = C.g(r0, x)
635
+ return r1
636
+ def C.g(cls, x):
637
+ cls :: object
638
+ x :: int
639
+ L0:
640
+ return x
641
+ def D.f(cls, x):
642
+ cls :: object
643
+ x :: int
644
+ r0 :: str
645
+ r1, r2 :: object
646
+ r3 :: int
647
+ L0:
648
+ r0 = 'g'
649
+ r1 = box(int, x)
650
+ r2 = CPyObject_CallMethodObjArgs(cls, r0, r1, 0)
651
+ r3 = unbox(int, r2)
652
+ return r3
653
+ def D.g(cls, x):
654
+ cls :: object
655
+ x :: int
656
+ L0:
657
+ return x
658
+
659
+ [case testCannotAssignToClsArgument]
660
+ from typing import Any, cast
661
+
662
+ class C:
663
+ @classmethod
664
+ def m(cls) -> None:
665
+ cls = cast(Any, D) # E: Cannot assign to the first argument of classmethod
666
+ cls, x = cast(Any, D), 1 # E: Cannot assign to the first argument of classmethod
667
+ cls, x = cast(Any, [1, 2]) # E: Cannot assign to the first argument of classmethod
668
+ cls.m()
669
+
670
+ class D:
671
+ pass
672
+
673
+ [case testSuper1]
674
+ class A:
675
+ def __init__(self, x: int) -> None:
676
+ self.x = x
677
+ class B(A):
678
+ def __init__(self, x: int, y: int) -> None:
679
+ super().__init__(x)
680
+ self.y = y
681
+ [out]
682
+ def A.__init__(self, x):
683
+ self :: __main__.A
684
+ x :: int
685
+ L0:
686
+ self.x = x
687
+ return 1
688
+ def B.__init__(self, x, y):
689
+ self :: __main__.B
690
+ x, y :: int
691
+ r0 :: None
692
+ L0:
693
+ r0 = A.__init__(self, x)
694
+ self.y = y
695
+ return 1
696
+
697
+ [case testSuper2]
698
+ from mypy_extensions import trait
699
+ @trait
700
+ class T:
701
+ def foo(self) -> None: pass
702
+
703
+ class X(T):
704
+ def foo(self) -> None:
705
+ super().foo()
706
+ [out]
707
+ def T.foo(self):
708
+ self :: __main__.T
709
+ L0:
710
+ return 1
711
+ def X.foo(self):
712
+ self :: __main__.X
713
+ r0 :: None
714
+ L0:
715
+ r0 = T.foo(self)
716
+ return 1
717
+
718
+ [case testSuperCallToObjectInitIsOmitted]
719
+ class C:
720
+ def __init__(self) -> None:
721
+ super().__init__()
722
+ class D: pass
723
+ class E(D):
724
+ def __init__(self) -> None:
725
+ super().__init__()
726
+ class F(C):
727
+ def __init__(self) -> None:
728
+ super().__init__()
729
+ class DictSubclass(dict):
730
+ def __init__(self) -> None:
731
+ super().__init__()
732
+ [out]
733
+ def C.__init__(self):
734
+ self :: __main__.C
735
+ L0:
736
+ return 1
737
+ def E.__init__(self):
738
+ self :: __main__.E
739
+ L0:
740
+ return 1
741
+ def F.__init__(self):
742
+ self :: __main__.F
743
+ r0 :: None
744
+ L0:
745
+ r0 = C.__init__(self)
746
+ return 1
747
+ def DictSubclass.__init__(self):
748
+ self :: dict
749
+ r0 :: object
750
+ r1 :: str
751
+ r2, r3, r4 :: object
752
+ r5 :: str
753
+ r6, r7 :: object
754
+ L0:
755
+ r0 = builtins :: module
756
+ r1 = 'super'
757
+ r2 = CPyObject_GetAttr(r0, r1)
758
+ r3 = __main__.DictSubclass :: type
759
+ r4 = PyObject_CallFunctionObjArgs(r2, r3, self, 0)
760
+ r5 = '__init__'
761
+ r6 = CPyObject_GetAttr(r4, r5)
762
+ r7 = PyObject_CallFunctionObjArgs(r6, 0)
763
+ return 1
764
+
765
+ [case testClassVariable]
766
+ from typing import ClassVar
767
+ class A:
768
+ x = 10 # type: ClassVar[int]
769
+
770
+ def f() -> int:
771
+ return A.x
772
+ [out]
773
+ def f():
774
+ r0 :: object
775
+ r1 :: str
776
+ r2 :: object
777
+ r3 :: int
778
+ L0:
779
+ r0 = __main__.A :: type
780
+ r1 = 'x'
781
+ r2 = CPyObject_GetAttr(r0, r1)
782
+ r3 = unbox(int, r2)
783
+ return r3
784
+
785
+ [case testNoEqDefined]
786
+ class A:
787
+ pass
788
+
789
+ def f(a: A, b: A) -> bool:
790
+ return a == b
791
+
792
+ def f2(a: A, b: A) -> bool:
793
+ return a != b
794
+
795
+ [out]
796
+ def f(a, b):
797
+ a, b :: __main__.A
798
+ r0 :: bit
799
+ L0:
800
+ r0 = a == b
801
+ return r0
802
+ def f2(a, b):
803
+ a, b :: __main__.A
804
+ r0 :: bit
805
+ L0:
806
+ r0 = a != b
807
+ return r0
808
+
809
+ [case testEqDefined]
810
+ class Base:
811
+ def __eq__(self, other: object) -> bool:
812
+ return False
813
+ class Derived(Base):
814
+ def __eq__(self, other: object) -> bool:
815
+ return True
816
+
817
+ def f(a: Base, b: Base) -> bool:
818
+ return a == b
819
+
820
+ def f2(a: Base, b: Base) -> bool:
821
+ return a != b
822
+
823
+ def fOpt(a: Derived, b: Derived) -> bool:
824
+ return a == b
825
+
826
+ def fOpt2(a: Derived, b: Derived) -> bool:
827
+ return a != b
828
+
829
+ [out]
830
+ def Base.__eq__(self, other):
831
+ self :: __main__.Base
832
+ other, r0 :: object
833
+ L0:
834
+ r0 = box(bool, 0)
835
+ return r0
836
+ def Base.__ne__(__mypyc_self__, rhs):
837
+ __mypyc_self__ :: __main__.Base
838
+ rhs, r0, r1 :: object
839
+ r2 :: bit
840
+ r3 :: i32
841
+ r4 :: bit
842
+ r5 :: bool
843
+ r6 :: object
844
+ L0:
845
+ r0 = __mypyc_self__.__eq__(rhs)
846
+ r1 = load_address _Py_NotImplementedStruct
847
+ r2 = r0 == r1
848
+ if r2 goto L2 else goto L1 :: bool
849
+ L1:
850
+ r3 = PyObject_Not(r0)
851
+ r4 = r3 >= 0 :: signed
852
+ r5 = truncate r3: i32 to builtins.bool
853
+ r6 = box(bool, r5)
854
+ return r6
855
+ L2:
856
+ return r1
857
+ def Derived.__eq__(self, other):
858
+ self :: __main__.Derived
859
+ other, r0 :: object
860
+ L0:
861
+ r0 = box(bool, 1)
862
+ return r0
863
+ def f(a, b):
864
+ a, b :: __main__.Base
865
+ r0 :: object
866
+ r1 :: bool
867
+ L0:
868
+ r0 = PyObject_RichCompare(a, b, 2)
869
+ r1 = unbox(bool, r0)
870
+ return r1
871
+ def f2(a, b):
872
+ a, b :: __main__.Base
873
+ r0 :: object
874
+ r1 :: bool
875
+ L0:
876
+ r0 = PyObject_RichCompare(a, b, 3)
877
+ r1 = unbox(bool, r0)
878
+ return r1
879
+ def fOpt(a, b):
880
+ a, b :: __main__.Derived
881
+ r0 :: object
882
+ r1 :: bool
883
+ L0:
884
+ r0 = a.__eq__(b)
885
+ r1 = unbox(bool, r0)
886
+ return r1
887
+ def fOpt2(a, b):
888
+ a, b :: __main__.Derived
889
+ r0 :: object
890
+ r1 :: bool
891
+ L0:
892
+ r0 = a.__ne__(b)
893
+ r1 = unbox(bool, r0)
894
+ return r1
895
+
896
+ [case testEqDefinedLater]
897
+ def f(a: 'Base', b: 'Base') -> bool:
898
+ return a == b
899
+
900
+ def f2(a: 'Base', b: 'Base') -> bool:
901
+ return a != b
902
+
903
+ def fOpt(a: 'Derived', b: 'Derived') -> bool:
904
+ return a == b
905
+
906
+ def fOpt2(a: 'Derived', b: 'Derived') -> bool:
907
+ return a != b
908
+
909
+ class Base:
910
+ pass
911
+ class Derived(Base):
912
+ def __eq__(self, other: object) -> bool:
913
+ return True
914
+
915
+ [out]
916
+ def f(a, b):
917
+ a, b :: __main__.Base
918
+ r0 :: object
919
+ r1 :: bool
920
+ L0:
921
+ r0 = PyObject_RichCompare(a, b, 2)
922
+ r1 = unbox(bool, r0)
923
+ return r1
924
+ def f2(a, b):
925
+ a, b :: __main__.Base
926
+ r0 :: object
927
+ r1 :: bool
928
+ L0:
929
+ r0 = PyObject_RichCompare(a, b, 3)
930
+ r1 = unbox(bool, r0)
931
+ return r1
932
+ def fOpt(a, b):
933
+ a, b :: __main__.Derived
934
+ r0 :: object
935
+ r1 :: bool
936
+ L0:
937
+ r0 = a.__eq__(b)
938
+ r1 = unbox(bool, r0)
939
+ return r1
940
+ def fOpt2(a, b):
941
+ a, b :: __main__.Derived
942
+ r0 :: str
943
+ r1 :: object
944
+ r2 :: bool
945
+ L0:
946
+ r0 = '__ne__'
947
+ r1 = CPyObject_CallMethodObjArgs(a, r0, b, 0)
948
+ r2 = unbox(bool, r1)
949
+ return r2
950
+ def Derived.__eq__(self, other):
951
+ self :: __main__.Derived
952
+ other, r0 :: object
953
+ L0:
954
+ r0 = box(bool, 1)
955
+ return r0
956
+ def Derived.__ne__(__mypyc_self__, rhs):
957
+ __mypyc_self__ :: __main__.Derived
958
+ rhs, r0, r1 :: object
959
+ r2 :: bit
960
+ r3 :: i32
961
+ r4 :: bit
962
+ r5 :: bool
963
+ r6 :: object
964
+ L0:
965
+ r0 = __mypyc_self__.__eq__(rhs)
966
+ r1 = load_address _Py_NotImplementedStruct
967
+ r2 = r0 == r1
968
+ if r2 goto L2 else goto L1 :: bool
969
+ L1:
970
+ r3 = PyObject_Not(r0)
971
+ r4 = r3 >= 0 :: signed
972
+ r5 = truncate r3: i32 to builtins.bool
973
+ r6 = box(bool, r5)
974
+ return r6
975
+ L2:
976
+ return r1
977
+
978
+ [case testDefaultVars]
979
+ from typing import ClassVar, Optional
980
+ class A:
981
+ x = 10
982
+ def lol(self) -> None:
983
+ self.x = 100
984
+
985
+ LOL = 'lol'
986
+ class B(A):
987
+ y = LOL
988
+ z: Optional[str] = None
989
+ b = True
990
+ bogus = None # type: int
991
+ [out]
992
+ def A.lol(self):
993
+ self :: __main__.A
994
+ r0 :: bool
995
+ L0:
996
+ self.x = 200; r0 = is_error
997
+ return 1
998
+ def A.__mypyc_defaults_setup(__mypyc_self__):
999
+ __mypyc_self__ :: __main__.A
1000
+ L0:
1001
+ __mypyc_self__.x = 20
1002
+ return 1
1003
+ def B.__mypyc_defaults_setup(__mypyc_self__):
1004
+ __mypyc_self__ :: __main__.B
1005
+ r0 :: dict
1006
+ r1 :: str
1007
+ r2 :: object
1008
+ r3 :: str
1009
+ r4 :: object
1010
+ L0:
1011
+ __mypyc_self__.x = 20
1012
+ r0 = __main__.globals :: static
1013
+ r1 = 'LOL'
1014
+ r2 = CPyDict_GetItem(r0, r1)
1015
+ r3 = cast(str, r2)
1016
+ __mypyc_self__.y = r3
1017
+ r4 = box(None, 1)
1018
+ __mypyc_self__.z = r4
1019
+ __mypyc_self__.b = 1
1020
+ return 1
1021
+
1022
+ [case testSubclassDictSpecalized]
1023
+ from typing import Dict
1024
+ class WelpDict(Dict[str, int]):
1025
+ pass
1026
+ def foo(x: WelpDict) -> None:
1027
+ # we care that the specalized op gets used
1028
+ x.update(x)
1029
+ [out]
1030
+ def foo(x):
1031
+ x :: dict
1032
+ r0 :: i32
1033
+ r1 :: bit
1034
+ L0:
1035
+ r0 = CPyDict_Update(x, x)
1036
+ r1 = r0 >= 0 :: signed
1037
+ return 1
1038
+
1039
+ [case testNoSpuriousLinearity]
1040
+ # Make sure that the non-trait MRO linearity check isn't affected by processing order
1041
+ class A(B): pass
1042
+ class B(C): pass
1043
+ class C: pass
1044
+ [out]
1045
+
1046
+ [case testDeletableSemanticAnalysis]
1047
+ class Err1:
1048
+ __deletable__ = 'x' # E: "__deletable__" must be initialized with a list or tuple expression
1049
+ class Err2:
1050
+ __deletable__ = [
1051
+ 1 # E: Invalid "__deletable__" item; string literal expected
1052
+ ]
1053
+ class Err3:
1054
+ __deletable__ = ['x', ['y'], 'z'] # E: Invalid "__deletable__" item; string literal expected
1055
+ class Err4:
1056
+ __deletable__ = (1,) # E: Invalid "__deletable__" item; string literal expected
1057
+ a = ['x']
1058
+ class Err5:
1059
+ __deletable__ = a # E: "__deletable__" must be initialized with a list or tuple expression
1060
+
1061
+ class Ok1:
1062
+ __deletable__ = ('x',)
1063
+ x: int
1064
+ class Ok2:
1065
+ __deletable__ = ['x']
1066
+ x: int
1067
+
1068
+ [case testInvalidDeletableAttribute]
1069
+ class NotDeletable:
1070
+ __deletable__ = ['x']
1071
+ x: int
1072
+ y: int
1073
+
1074
+ def g(o: NotDeletable) -> None:
1075
+ del o.x
1076
+ del o.y # E: "y" cannot be deleted \
1077
+ # N: Using "__deletable__ = ['<attr>']" in the class body enables "del obj.<attr>"
1078
+
1079
+ class Base:
1080
+ x: int
1081
+
1082
+ class Deriv(Base):
1083
+ __deletable__ = ['x'] # E: Attribute "x" not defined in "Deriv" (defined in "Base")
1084
+
1085
+ class UndefinedDeletable:
1086
+ __deletable__ = ['x'] # E: Attribute "x" not defined
1087
+
1088
+ class DeletableProperty:
1089
+ __deletable__ = ['prop'] # E: Cannot make property "prop" deletable
1090
+
1091
+ @property
1092
+ def prop(self) -> int:
1093
+ return 5
1094
+
1095
+ [case testFinalDeletable]
1096
+ from typing import Final
1097
+
1098
+ class DeletableFinal1:
1099
+ x: Final[int] # E: Deletable attribute cannot be final
1100
+
1101
+ __deletable__ = ['x']
1102
+
1103
+ def __init__(self, x: int) -> None:
1104
+ self.x = x
1105
+
1106
+ class DeletableFinal2:
1107
+ X: Final = 0 # E: Deletable attribute cannot be final
1108
+
1109
+ __deletable__ = ['X']
1110
+
1111
+ [case testNeedAnnotateClassVar]
1112
+ from typing import Final, ClassVar, Type
1113
+
1114
+ class C:
1115
+ a = 'A'
1116
+ b: str = 'B'
1117
+ f: Final = 'F'
1118
+ c: ClassVar = 'C'
1119
+
1120
+ class D(C):
1121
+ pass
1122
+
1123
+ def f() -> None:
1124
+ C.a # E: Cannot access instance attribute "a" through class object \
1125
+ # N: (Hint: Use "x: Final = ..." or "x: ClassVar = ..." to define a class attribute)
1126
+ C.b # E: Cannot access instance attribute "b" through class object \
1127
+ # N: (Hint: Use "x: Final = ..." or "x: ClassVar = ..." to define a class attribute)
1128
+ C.f
1129
+ C.c
1130
+
1131
+ D.a # E: Cannot access instance attribute "a" through class object \
1132
+ # N: (Hint: Use "x: Final = ..." or "x: ClassVar = ..." to define a class attribute)
1133
+ D.b # E: Cannot access instance attribute "b" through class object \
1134
+ # N: (Hint: Use "x: Final = ..." or "x: ClassVar = ..." to define a class attribute)
1135
+ D.f
1136
+ D.c
1137
+
1138
+ def g(c: Type[C], d: Type[D]) -> None:
1139
+ c.a # E: Cannot access instance attribute "a" through class object \
1140
+ # N: (Hint: Use "x: Final = ..." or "x: ClassVar = ..." to define a class attribute)
1141
+ c.f
1142
+ c.c
1143
+
1144
+ d.a # E: Cannot access instance attribute "a" through class object \
1145
+ # N: (Hint: Use "x: Final = ..." or "x: ClassVar = ..." to define a class attribute)
1146
+ d.f
1147
+ d.c
1148
+
1149
+ [case testSetAttributeWithDefaultInInit]
1150
+ class C:
1151
+ s = ''
1152
+
1153
+ def __init__(self, s: str) -> None:
1154
+ self.s = s
1155
+ [out]
1156
+ def C.__init__(self, s):
1157
+ self :: __main__.C
1158
+ s :: str
1159
+ r0 :: bool
1160
+ L0:
1161
+ self.s = s; r0 = is_error
1162
+ return 1
1163
+ def C.__mypyc_defaults_setup(__mypyc_self__):
1164
+ __mypyc_self__ :: __main__.C
1165
+ r0 :: str
1166
+ L0:
1167
+ r0 = ''
1168
+ __mypyc_self__.s = r0
1169
+ return 1
1170
+
1171
+ [case testBorrowAttribute]
1172
+ def f(d: D) -> int:
1173
+ return d.c.x
1174
+
1175
+ class C:
1176
+ x: int
1177
+ class D:
1178
+ c: C
1179
+ [out]
1180
+ def f(d):
1181
+ d :: __main__.D
1182
+ r0 :: __main__.C
1183
+ r1 :: int
1184
+ L0:
1185
+ r0 = borrow d.c
1186
+ r1 = r0.x
1187
+ keep_alive d
1188
+ return r1
1189
+
1190
+ [case testNoBorrowOverPropertyAccess]
1191
+ class C:
1192
+ d: D
1193
+ class D:
1194
+ @property
1195
+ def e(self) -> E:
1196
+ return E()
1197
+ class E:
1198
+ x: int
1199
+ def f(c: C) -> int:
1200
+ return c.d.e.x
1201
+ [out]
1202
+ def D.e(self):
1203
+ self :: __main__.D
1204
+ r0 :: __main__.E
1205
+ L0:
1206
+ r0 = E()
1207
+ return r0
1208
+ def f(c):
1209
+ c :: __main__.C
1210
+ r0 :: __main__.D
1211
+ r1 :: __main__.E
1212
+ r2 :: int
1213
+ L0:
1214
+ r0 = c.d
1215
+ r1 = r0.e
1216
+ r2 = r1.x
1217
+ return r2
1218
+
1219
+ [case testBorrowResultOfCustomGetItemInIfStatement]
1220
+ from typing import List
1221
+
1222
+ class C:
1223
+ def __getitem__(self, x: int) -> List[int]:
1224
+ return []
1225
+
1226
+ def f(x: C) -> None:
1227
+ # In this case the keep_alive must come before the branch, as otherwise
1228
+ # reference count transform will get confused.
1229
+ if x[1][0] == 2:
1230
+ y = 1
1231
+ else:
1232
+ y = 2
1233
+ [out]
1234
+ def C.__getitem__(self, x):
1235
+ self :: __main__.C
1236
+ x :: int
1237
+ r0 :: list
1238
+ L0:
1239
+ r0 = PyList_New(0)
1240
+ return r0
1241
+ def f(x):
1242
+ x :: __main__.C
1243
+ r0 :: list
1244
+ r1 :: object
1245
+ r2 :: int
1246
+ r3 :: bit
1247
+ y :: int
1248
+ L0:
1249
+ r0 = x.__getitem__(2)
1250
+ r1 = CPyList_GetItemShortBorrow(r0, 0)
1251
+ r2 = unbox(int, r1)
1252
+ r3 = r2 == 4
1253
+ keep_alive r0
1254
+ if r3 goto L1 else goto L2 :: bool
1255
+ L1:
1256
+ y = 2
1257
+ goto L3
1258
+ L2:
1259
+ y = 4
1260
+ L3:
1261
+ return 1
1262
+
1263
+ [case testIncompatibleDefinitionOfAttributeInSubclass]
1264
+ from mypy_extensions import trait
1265
+
1266
+ class Base:
1267
+ x: int
1268
+
1269
+ class Bad1(Base):
1270
+ x: bool # E: Type of "x" is incompatible with definition in class "Base"
1271
+
1272
+ class Good1(Base):
1273
+ x: int
1274
+
1275
+ class Good2(Base):
1276
+ x: int = 0
1277
+
1278
+ class Good3(Base):
1279
+ x = 0
1280
+
1281
+ class Good4(Base):
1282
+ def __init__(self) -> None:
1283
+ self.x = 0
1284
+
1285
+ class Good5(Base):
1286
+ def __init__(self) -> None:
1287
+ self.x: int = 0
1288
+
1289
+ class Base2(Base):
1290
+ pass
1291
+
1292
+ class Bad2(Base2):
1293
+ x: bool = False # E: Type of "x" is incompatible with definition in class "Base"
1294
+
1295
+ class Bad3(Base):
1296
+ x = False # E: Type of "x" is incompatible with definition in class "Base"
1297
+
1298
+ @trait
1299
+ class T:
1300
+ y: object
1301
+
1302
+ class E(T):
1303
+ y: str # E: Type of "y" is incompatible with definition in trait "T"