jaclang 0.7.33__py3-none-any.whl → 0.8.0__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.

Potentially problematic release.


This version of jaclang might be problematic. Click here for more details.

Files changed (1481) hide show
  1. jaclang/__init__.py +7 -414
  2. jaclang/cli/cli.md +5 -5
  3. jaclang/cli/cli.py +311 -214
  4. jaclang/cli/cmdreg.py +188 -31
  5. jaclang/compiler/__init__.py +10 -15
  6. jaclang/compiler/{codeloc.py → codeinfo.py} +11 -30
  7. jaclang/compiler/constant.py +10 -33
  8. jaclang/compiler/jac.lark +61 -92
  9. jaclang/compiler/larkparse/jac_parser.py +3444 -0
  10. jaclang/compiler/parser.py +1054 -1341
  11. jaclang/compiler/passes/__init__.py +2 -2
  12. jaclang/compiler/passes/main/__init__.py +33 -14
  13. jaclang/compiler/passes/main/annex_pass.py +85 -0
  14. jaclang/compiler/passes/main/cfg_build_pass.py +275 -0
  15. jaclang/compiler/passes/main/def_impl_match_pass.py +146 -102
  16. jaclang/compiler/passes/main/def_use_pass.py +64 -269
  17. jaclang/compiler/passes/main/import_pass.py +175 -360
  18. jaclang/compiler/passes/main/inheritance_pass.py +107 -105
  19. jaclang/compiler/passes/main/pyast_gen_pass.py +1129 -1600
  20. jaclang/compiler/passes/main/pyast_load_pass.py +540 -584
  21. jaclang/compiler/passes/main/pybc_gen_pass.py +38 -35
  22. jaclang/compiler/passes/main/pyjac_ast_link_pass.py +46 -160
  23. jaclang/compiler/passes/main/sym_tab_build_pass.py +113 -1202
  24. jaclang/compiler/passes/main/sym_tab_link_pass.py +141 -0
  25. jaclang/{tests → compiler/passes/main/tests}/fixtures/access_modifier.jac +10 -9
  26. jaclang/compiler/passes/main/tests/fixtures/atest.impl.jac +3 -0
  27. jaclang/compiler/passes/main/tests/fixtures/atest.jac +11 -0
  28. jaclang/compiler/passes/main/tests/fixtures/autoimpl.impl/getme.impl.jac +1 -1
  29. jaclang/compiler/passes/main/tests/fixtures/autoimpl.impl.jac +1 -1
  30. jaclang/compiler/passes/main/tests/fixtures/autoimpl.jac +3 -3
  31. jaclang/compiler/passes/main/tests/fixtures/autoimpl.something.else.impl.jac +1 -1
  32. jaclang/compiler/passes/main/tests/fixtures/base.impl.jac +8 -0
  33. jaclang/compiler/passes/main/tests/fixtures/base.jac +4 -4
  34. jaclang/compiler/passes/main/tests/fixtures/base2.impl.jac +8 -0
  35. jaclang/compiler/passes/main/tests/fixtures/base2.jac +4 -4
  36. jaclang/compiler/passes/main/tests/fixtures/blip.jac +1 -1
  37. jaclang/compiler/passes/main/tests/fixtures/cfg_ability_test.jac +23 -0
  38. jaclang/compiler/passes/main/tests/fixtures/cfg_gen.jac +19 -0
  39. jaclang/compiler/passes/main/tests/fixtures/circular_import.jac +7 -0
  40. jaclang/compiler/passes/main/tests/fixtures/data_spatial_types.jac +12 -12
  41. jaclang/compiler/passes/main/tests/fixtures/decls.jac +4 -4
  42. jaclang/compiler/passes/main/tests/fixtures/defn_decl_mismatch.jac +4 -4
  43. jaclang/compiler/passes/main/tests/fixtures/defs_and_uses.jac +6 -6
  44. jaclang/compiler/passes/main/tests/fixtures/enumerations.jac +13 -0
  45. jaclang/compiler/passes/main/tests/fixtures/fstrings.jac +1 -1
  46. jaclang/compiler/passes/main/tests/fixtures/func.jac +2 -2
  47. jaclang/compiler/passes/main/tests/fixtures/func2.jac +1 -1
  48. jaclang/compiler/passes/main/tests/fixtures/game1.jac +4 -4
  49. jaclang/compiler/passes/main/tests/fixtures/impl/defs1.jac +2 -2
  50. jaclang/compiler/passes/main/tests/fixtures/impl/defs2.jac +2 -2
  51. jaclang/compiler/passes/main/tests/fixtures/impl/imps.jac +0 -8
  52. jaclang/compiler/passes/main/tests/fixtures/impl_grab.impl.jac +5 -0
  53. jaclang/{tests → compiler/passes/main/tests}/fixtures/impl_grab.jac +1 -1
  54. jaclang/compiler/passes/main/tests/fixtures/incautoimpl.jac +1 -1
  55. jaclang/compiler/passes/main/tests/fixtures/main_err.impl.jac +6 -0
  56. jaclang/compiler/passes/main/tests/fixtures/main_err.jac +6 -0
  57. jaclang/compiler/passes/main/tests/fixtures/mod_type_assign.jac +1 -1
  58. jaclang/compiler/passes/main/tests/fixtures/mtest.impl.jac +6 -0
  59. jaclang/{tests → compiler/passes/main/tests}/fixtures/mtest.jac +1 -1
  60. jaclang/{tests → compiler/passes/main/tests}/fixtures/nested_impls.jac +14 -15
  61. jaclang/compiler/passes/main/tests/fixtures/py_imp_test.jac +7 -7
  62. jaclang/compiler/passes/main/tests/fixtures/second_err.jac +4 -0
  63. jaclang/compiler/passes/main/tests/fixtures/str2doc.py +3 -0
  64. jaclang/compiler/passes/main/tests/fixtures/symtab_link_tests/action/__init__.py +5 -0
  65. jaclang/compiler/passes/main/tests/fixtures/symtab_link_tests/action/actions.jac +23 -0
  66. jaclang/compiler/passes/main/tests/fixtures/symtab_link_tests/main.jac +14 -0
  67. jaclang/compiler/passes/main/tests/fixtures/symtab_link_tests/no_dupls.jac +35 -0
  68. jaclang/compiler/passes/main/tests/fixtures/symtab_link_tests/one.jac +8 -0
  69. jaclang/compiler/passes/main/tests/fixtures/type_info.jac +4 -4
  70. jaclang/compiler/passes/main/tests/test_cfg_build_pass.py +99 -0
  71. jaclang/compiler/passes/main/tests/test_decl_impl_match_pass.py +157 -0
  72. jaclang/compiler/passes/main/tests/test_def_use_pass.py +4 -6
  73. jaclang/compiler/passes/main/tests/test_import_pass.py +59 -46
  74. jaclang/compiler/passes/main/tests/test_pyast_build_pass.py +15 -0
  75. jaclang/compiler/passes/main/tests/test_pyast_gen_pass.py +25 -34
  76. jaclang/compiler/passes/main/tests/test_pybc_gen_pass.py +3 -3
  77. jaclang/compiler/passes/main/tests/test_sub_node_pass.py +8 -7
  78. jaclang/compiler/passes/main/tests/test_sym_tab_build_pass.py +4 -4
  79. jaclang/compiler/passes/main/tests/test_sym_tab_link_pass.py +62 -0
  80. jaclang/compiler/passes/tool/__init__.py +2 -0
  81. jaclang/compiler/passes/tool/doc_ir.py +179 -0
  82. jaclang/compiler/passes/tool/doc_ir_gen_pass.py +1210 -0
  83. jaclang/compiler/passes/tool/fuse_comments_pass.py +90 -70
  84. jaclang/compiler/passes/tool/jac_formatter_pass.py +122 -2554
  85. jaclang/compiler/passes/tool/tests/fixtures/corelib.jac +249 -97
  86. jaclang/compiler/passes/tool/tests/fixtures/corelib_fmt.jac +94 -97
  87. jaclang/compiler/passes/tool/tests/fixtures/doc_string.jac +2 -2
  88. jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/access_mod_check.jac +5 -5
  89. jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/archetype_test.jac +13 -0
  90. jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/decorator_stack.jac +7 -7
  91. jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/line_spacing.jac +8 -8
  92. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.dot +3 -3
  93. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.txt +3 -3
  94. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/ability_impl_long_comprehension.jac +1 -1
  95. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/call_with_many_parameters.jac +2 -2
  96. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/simple_walker.jac +3 -3
  97. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/try_block_and_walker_spawn_and_fstrings.jac +1 -1
  98. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/type_annotation.jac +1 -1
  99. jaclang/compiler/passes/tool/tests/fixtures/simple_walk.jac +1 -1
  100. jaclang/compiler/passes/tool/tests/fixtures/simple_walk_fmt.jac +10 -4
  101. jaclang/compiler/passes/tool/tests/test_doc_ir_gen_pass.py +29 -0
  102. jaclang/compiler/passes/tool/tests/test_jac_format_pass.py +63 -88
  103. jaclang/compiler/passes/tool/tests/test_unparse_validate.py +27 -28
  104. jaclang/compiler/passes/transform.py +56 -16
  105. jaclang/compiler/passes/{ir_pass.py → uni_pass.py} +35 -52
  106. jaclang/compiler/program.py +205 -0
  107. jaclang/compiler/tests/fixtures/codegentext.jac +31 -0
  108. jaclang/compiler/tests/fixtures/fam.jac +10 -10
  109. jaclang/compiler/tests/fixtures/hello_world.jac +1 -1
  110. jaclang/compiler/tests/fixtures/staticcheck.jac +2 -2
  111. jaclang/compiler/tests/test_importer.py +21 -16
  112. jaclang/compiler/tests/test_parser.py +38 -17
  113. jaclang/compiler/{absyntree.py → unitree.py} +1120 -1012
  114. jaclang/langserve/engine.py +183 -171
  115. jaclang/langserve/sem_manager.py +26 -22
  116. jaclang/langserve/server.py +6 -15
  117. jaclang/langserve/tests/fixtures/base_module_structure.jac +7 -7
  118. jaclang/langserve/tests/fixtures/circle.jac +6 -6
  119. jaclang/langserve/tests/fixtures/circle_err.jac +6 -6
  120. jaclang/langserve/tests/fixtures/circle_pure.impl.jac +5 -5
  121. jaclang/langserve/tests/fixtures/circle_pure.jac +7 -7
  122. jaclang/langserve/tests/fixtures/circle_pure_err.impl.jac +2 -2
  123. jaclang/langserve/tests/fixtures/circle_pure_err.jac +7 -7
  124. jaclang/langserve/tests/fixtures/import_include_statements.jac +6 -6
  125. jaclang/langserve/tests/fixtures/rename.jac +6 -6
  126. jaclang/langserve/tests/server_test/test_lang_serve.py +262 -0
  127. jaclang/langserve/tests/server_test/utils.py +115 -0
  128. jaclang/langserve/tests/test_sem_tokens.py +2 -2
  129. jaclang/langserve/tests/test_server.py +41 -23
  130. jaclang/langserve/utils.jac +438 -0
  131. jaclang/runtimelib/{architype.py → archetype.py} +85 -61
  132. jaclang/runtimelib/builtin.py +92 -0
  133. jaclang/runtimelib/constructs.py +11 -13
  134. jaclang/runtimelib/importer.py +63 -51
  135. jaclang/runtimelib/machine.py +1551 -144
  136. jaclang/runtimelib/memory.py +6 -6
  137. jaclang/{plugin → runtimelib}/tests/fixtures/graph_purger.jac +1 -1
  138. jaclang/{plugin → runtimelib}/tests/fixtures/impl_match.jac +2 -2
  139. jaclang/runtimelib/tests/fixtures/impl_match_impl.jac +3 -0
  140. jaclang/{plugin → runtimelib}/tests/fixtures/other_root_access.jac +7 -7
  141. jaclang/{plugin → runtimelib}/tests/fixtures/savable_object.jac +3 -5
  142. jaclang/{plugin → runtimelib}/tests/fixtures/simple_node_connection.jac +6 -6
  143. jaclang/{plugin → runtimelib}/tests/fixtures/simple_persistent.jac +1 -1
  144. jaclang/runtimelib/tests/test_features.py +72 -0
  145. jaclang/{plugin → runtimelib}/tests/test_jaseci.py +6 -5
  146. jaclang/runtimelib/utils.py +31 -63
  147. jaclang/settings.py +1 -6
  148. jaclang/tests/fixtures/{abc.jac → abc_check.jac} +6 -6
  149. jaclang/tests/fixtures/arch_rel_import_creation.jac +4 -4
  150. jaclang/tests/fixtures/async_ability.jac +18 -0
  151. jaclang/tests/fixtures/async_walker.jac +23 -0
  152. jaclang/tests/fixtures/baddy.jac +1 -1
  153. jaclang/tests/fixtures/base_class1.jac +2 -2
  154. jaclang/tests/fixtures/base_class2.jac +2 -2
  155. jaclang/tests/fixtures/base_class_complex_expr.jac +3 -3
  156. jaclang/tests/fixtures/builtin_dotgen.jac +1 -1
  157. jaclang/tests/fixtures/builtin_dotgen_json.jac +21 -0
  158. jaclang/tests/fixtures/byllmissue.jac +1 -1
  159. jaclang/tests/fixtures/chandra_bugs.jac +1 -1
  160. jaclang/tests/fixtures/chandra_bugs2.jac +1 -1
  161. jaclang/tests/fixtures/cls_method.jac +6 -6
  162. jaclang/tests/fixtures/concurrency.jac +39 -0
  163. jaclang/tests/fixtures/connect_traverse_syntax.jac +18 -0
  164. jaclang/tests/fixtures/create_dynamic_archetype.jac +35 -0
  165. jaclang/tests/fixtures/decl_defn_param_name.jac +4 -4
  166. jaclang/tests/fixtures/deep/deeper/__init__.jac +1 -0
  167. jaclang/tests/fixtures/deep/deeper/deep_outer_import.jac +2 -3
  168. jaclang/tests/fixtures/deep/deeper/deep_outer_import2.jac +3 -3
  169. jaclang/tests/fixtures/deep/deeper/snd_lev.jac +2 -2
  170. jaclang/tests/fixtures/deep/mycode.jac +1 -1
  171. jaclang/tests/fixtures/deep/one_lev.jac +3 -4
  172. jaclang/tests/fixtures/deep/one_lev_dup.jac +2 -2
  173. jaclang/tests/fixtures/deep_convert.jac +1 -1
  174. jaclang/tests/fixtures/deep_import.jac +2 -2
  175. jaclang/tests/fixtures/deep_import_interp.jac +8 -0
  176. jaclang/tests/fixtures/deep_import_mods.jac +3 -3
  177. jaclang/tests/fixtures/deferred_field.jac +1 -1
  178. jaclang/tests/fixtures/del_clean.jac +7 -0
  179. jaclang/tests/fixtures/disconn.jac +3 -3
  180. jaclang/tests/fixtures/dynamic_archetype.jac +34 -0
  181. jaclang/tests/fixtures/edge_node_walk.jac +12 -12
  182. jaclang/tests/fixtures/edge_ops.jac +7 -7
  183. jaclang/tests/fixtures/edges_walk.jac +10 -10
  184. jaclang/tests/fixtures/edgetypeissue.jac +1 -1
  185. jaclang/tests/fixtures/enum_inside_archtype.jac +4 -4
  186. jaclang/tests/fixtures/err.impl.jac +1 -1
  187. jaclang/tests/fixtures/err.jac +2 -2
  188. jaclang/tests/fixtures/err_runtime.jac +2 -2
  189. jaclang/tests/fixtures/foo.jac +7 -7
  190. jaclang/tests/fixtures/game1.jac +4 -4
  191. jaclang/tests/fixtures/gendot_bubble_sort.jac +4 -4
  192. jaclang/tests/fixtures/glob_multivar_statement.jac +1 -1
  193. jaclang/tests/fixtures/guess_game.jac +5 -5
  194. jaclang/tests/fixtures/has_goodness.jac +1 -1
  195. jaclang/tests/fixtures/hash_init_check.jac +3 -3
  196. jaclang/tests/fixtures/hello.jac +1 -1
  197. jaclang/tests/fixtures/ignore.jac +3 -3
  198. jaclang/tests/fixtures/ignore_dup.jac +3 -3
  199. jaclang/tests/fixtures/impl_match_confused.impl.jac +1 -1
  200. jaclang/tests/fixtures/import.jac +9 -9
  201. jaclang/tests/fixtures/import_all.jac +1 -1
  202. jaclang/tests/fixtures/index_slice.jac +1 -1
  203. jaclang/tests/fixtures/inherit_check.jac +3 -3
  204. jaclang/tests/fixtures/jac_from_py.py +4 -0
  205. jaclang/tests/fixtures/jacsamp.jac +1 -1
  206. jaclang/tests/fixtures/jactest_main.jac +1 -1
  207. jaclang/tests/fixtures/jp_importer.jac +7 -8
  208. jaclang/tests/fixtures/jp_importer_auto.jac +3 -3
  209. jaclang/tests/fixtures/lambda.jac +2 -2
  210. jaclang/tests/fixtures/needs_import.jac +6 -6
  211. jaclang/tests/fixtures/needs_import_1.jac +1 -1
  212. jaclang/tests/fixtures/needs_import_2.jac +1 -1
  213. jaclang/tests/fixtures/needs_import_3.jac +1 -1
  214. jaclang/tests/fixtures/needs_import_dup.jac +6 -6
  215. jaclang/tests/fixtures/node_del.jac +60 -0
  216. jaclang/tests/fixtures/nosigself.jac +3 -3
  217. jaclang/tests/fixtures/py2jac.py +30 -0
  218. jaclang/tests/fixtures/py_bool_expr.py +7 -0
  219. jaclang/tests/fixtures/py_namedexpr.py +7 -0
  220. jaclang/tests/fixtures/pyfunc_3.py +0 -2
  221. jaclang/tests/fixtures/random_check.jac +5 -5
  222. jaclang/tests/fixtures/refs_target.jac +17 -0
  223. jaclang/tests/fixtures/simple_archs.jac +2 -2
  224. jaclang/tests/fixtures/simple_walk.jac +52 -0
  225. jaclang/tests/fixtures/slice_vals.jac +3 -3
  226. jaclang/tests/fixtures/sub_abil_sep.jac +3 -3
  227. jaclang/tests/fixtures/sub_abil_sep_multilev.jac +3 -3
  228. jaclang/tests/fixtures/trailing_comma.jac +4 -4
  229. jaclang/tests/fixtures/type_info.jac +5 -5
  230. jaclang/{compiler/passes/main/tests → tests}/fixtures/uninitialized_hasvars.jac +1 -1
  231. jaclang/tests/fixtures/visit_order.jac +4 -4
  232. jaclang/tests/fixtures/walker_override.jac +2 -2
  233. jaclang/tests/fixtures/walker_update.jac +5 -5
  234. jaclang/tests/fixtures/with_context.jac +4 -4
  235. jaclang/tests/test_bugs.py +2 -2
  236. jaclang/tests/test_cli.py +118 -223
  237. jaclang/tests/test_language.py +474 -468
  238. jaclang/tests/test_man_code.py +2 -2
  239. jaclang/tests/test_reference.py +4 -4
  240. jaclang/tests/test_settings.py +16 -16
  241. jaclang/tests/test_typecheck.py +555 -0
  242. jaclang/utils/__init__.py +4 -0
  243. jaclang/utils/helpers.py +12 -27
  244. jaclang/utils/lang_tools.py +84 -74
  245. jaclang/utils/module_resolver.py +69 -0
  246. jaclang/utils/test.py +8 -5
  247. jaclang/utils/tests/test_lang_tools.py +38 -13
  248. jaclang/utils/treeprinter.py +177 -40
  249. jaclang/vendor/__init__.py +1 -2
  250. jaclang/vendor/attr/__init__.py +14 -44
  251. jaclang/vendor/attr/__init__.pyi +155 -321
  252. jaclang/vendor/attr/_cmp.py +25 -15
  253. jaclang/vendor/attr/_cmp.pyi +7 -7
  254. jaclang/vendor/attr/_compat.py +15 -8
  255. jaclang/vendor/attr/_config.py +1 -1
  256. jaclang/vendor/attr/_funcs.py +148 -163
  257. jaclang/vendor/attr/_make.py +859 -855
  258. jaclang/vendor/attr/_next_gen.py +426 -32
  259. jaclang/vendor/attr/converters.py +67 -49
  260. jaclang/vendor/attr/converters.pyi +13 -7
  261. jaclang/vendor/attr/filters.py +17 -11
  262. jaclang/vendor/attr/filters.pyi +3 -3
  263. jaclang/vendor/attr/setters.py +11 -5
  264. jaclang/vendor/attr/setters.pyi +2 -1
  265. jaclang/vendor/attr/validators.py +191 -162
  266. jaclang/vendor/attr/validators.pyi +25 -27
  267. jaclang/vendor/attrs/__init__.py +9 -5
  268. jaclang/vendor/attrs/__init__.pyi +225 -29
  269. jaclang/vendor/attrs-25.3.0.dist-info/INSTALLER +1 -0
  270. jaclang/vendor/{attrs-23.2.0.dist-info → attrs-25.3.0.dist-info}/METADATA +83 -53
  271. jaclang/vendor/attrs-25.3.0.dist-info/RECORD +56 -0
  272. jaclang/vendor/{attrs-23.2.0.dist-info → attrs-25.3.0.dist-info}/WHEEL +1 -1
  273. jaclang/vendor/bin/dmypy +8 -0
  274. jaclang/vendor/bin/mypy +8 -0
  275. jaclang/vendor/bin/mypyc +8 -0
  276. jaclang/vendor/bin/stubgen +8 -0
  277. jaclang/vendor/bin/stubtest +8 -0
  278. jaclang/vendor/cattr/gen.py +2 -2
  279. jaclang/vendor/cattr/preconf/bson.py +1 -0
  280. jaclang/vendor/cattr/preconf/json.py +1 -0
  281. jaclang/vendor/cattr/preconf/msgpack.py +1 -0
  282. jaclang/vendor/cattr/preconf/orjson.py +1 -0
  283. jaclang/vendor/cattr/preconf/pyyaml.py +1 -0
  284. jaclang/vendor/cattr/preconf/tomlkit.py +1 -0
  285. jaclang/vendor/cattr/preconf/ujson.py +1 -0
  286. jaclang/vendor/cattrs/__init__.py +21 -21
  287. jaclang/vendor/cattrs/_compat.py +176 -62
  288. jaclang/vendor/cattrs/_generics.py +5 -3
  289. jaclang/vendor/cattrs/cols.py +289 -0
  290. jaclang/vendor/cattrs/converters.py +505 -187
  291. jaclang/vendor/cattrs/disambiguators.py +118 -45
  292. jaclang/vendor/cattrs/dispatch.py +66 -36
  293. jaclang/vendor/cattrs/fns.py +6 -1
  294. jaclang/vendor/cattrs/gen/__init__.py +365 -202
  295. jaclang/vendor/cattrs/gen/_generics.py +41 -5
  296. jaclang/vendor/cattrs/gen/_lc.py +3 -2
  297. jaclang/vendor/cattrs/gen/_shared.py +39 -32
  298. jaclang/vendor/cattrs/gen/typeddicts.py +75 -88
  299. jaclang/vendor/cattrs/preconf/__init__.py +20 -0
  300. jaclang/vendor/cattrs/preconf/bson.py +7 -8
  301. jaclang/vendor/cattrs/preconf/cbor2.py +3 -0
  302. jaclang/vendor/cattrs/preconf/json.py +8 -4
  303. jaclang/vendor/cattrs/preconf/msgpack.py +3 -0
  304. jaclang/vendor/cattrs/preconf/msgspec.py +185 -0
  305. jaclang/vendor/cattrs/preconf/orjson.py +20 -7
  306. jaclang/vendor/cattrs/preconf/pyyaml.py +15 -3
  307. jaclang/vendor/cattrs/preconf/tomlkit.py +3 -1
  308. jaclang/vendor/cattrs/preconf/ujson.py +3 -0
  309. jaclang/vendor/cattrs/strategies/__init__.py +1 -0
  310. jaclang/vendor/cattrs/strategies/_class_methods.py +1 -1
  311. jaclang/vendor/cattrs/strategies/_subclasses.py +43 -29
  312. jaclang/vendor/cattrs/strategies/_unions.py +47 -24
  313. jaclang/vendor/cattrs/v.py +1 -0
  314. jaclang/vendor/cattrs-24.1.3.dist-info/INSTALLER +1 -0
  315. jaclang/vendor/cattrs-24.1.3.dist-info/METADATA +161 -0
  316. jaclang/vendor/cattrs-24.1.3.dist-info/RECORD +96 -0
  317. jaclang/vendor/{cattrs-23.2.3.dist-info → cattrs-24.1.3.dist-info}/WHEEL +1 -1
  318. jaclang/vendor/lark/__init__.py +38 -38
  319. jaclang/vendor/lark/__pyinstaller/__init__.py +6 -6
  320. jaclang/vendor/lark/__pyinstaller/hook-lark.py +14 -14
  321. jaclang/vendor/lark/ast_utils.py +59 -59
  322. jaclang/vendor/lark/common.py +86 -89
  323. jaclang/vendor/lark/exceptions.py +292 -292
  324. jaclang/vendor/lark/grammar.py +130 -130
  325. jaclang/vendor/lark/grammars/common.lark +59 -59
  326. jaclang/vendor/lark/grammars/lark.lark +62 -62
  327. jaclang/vendor/lark/grammars/python.lark +302 -302
  328. jaclang/vendor/lark/grammars/unicode.lark +7 -7
  329. jaclang/vendor/lark/indenter.py +143 -112
  330. jaclang/vendor/lark/lark.py +658 -661
  331. jaclang/vendor/lark/lexer.py +678 -678
  332. jaclang/vendor/lark/load_grammar.py +1428 -1428
  333. jaclang/vendor/lark/parse_tree_builder.py +391 -391
  334. jaclang/vendor/lark/parser_frontends.py +257 -257
  335. jaclang/vendor/lark/parsers/cyk.py +340 -340
  336. jaclang/vendor/lark/parsers/earley.py +317 -308
  337. jaclang/vendor/lark/parsers/earley_common.py +42 -42
  338. jaclang/vendor/lark/parsers/earley_forest.py +802 -810
  339. jaclang/vendor/lark/parsers/grammar_analysis.py +203 -203
  340. jaclang/vendor/lark/parsers/lalr_analysis.py +332 -332
  341. jaclang/vendor/lark/parsers/lalr_interactive_parser.py +158 -157
  342. jaclang/vendor/lark/parsers/lalr_parser.py +122 -122
  343. jaclang/vendor/lark/parsers/lalr_parser_state.py +110 -110
  344. jaclang/vendor/lark/parsers/xearley.py +165 -165
  345. jaclang/vendor/lark/reconstruct.py +107 -107
  346. jaclang/vendor/lark/tools/__init__.py +70 -71
  347. jaclang/vendor/lark/tools/nearley.py +202 -202
  348. jaclang/vendor/lark/tools/serialize.py +32 -32
  349. jaclang/vendor/lark/tools/standalone.py +196 -196
  350. jaclang/vendor/lark/tree.py +267 -272
  351. jaclang/vendor/lark/tree_matcher.py +186 -186
  352. jaclang/vendor/lark/utils.py +346 -361
  353. jaclang/vendor/lark/visitors.py +596 -593
  354. jaclang/vendor/lark-1.2.2.dist-info/INSTALLER +1 -0
  355. jaclang/vendor/{lark-1.1.9.dist-info → lark-1.2.2.dist-info}/METADATA +48 -47
  356. jaclang/vendor/lark-1.2.2.dist-info/RECORD +83 -0
  357. jaclang/vendor/{mypy_extensions-1.0.0.dist-info → lark-1.2.2.dist-info}/WHEEL +1 -1
  358. jaclang/vendor/{lark-1.1.9.dist-info → lark-1.2.2.dist-info/licenses}/LICENSE +18 -18
  359. jaclang/vendor/lsprotocol-2023.0.1.dist-info/INSTALLER +1 -0
  360. jaclang/vendor/lsprotocol-2023.0.1.dist-info/METADATA +2 -1
  361. jaclang/vendor/lsprotocol-2023.0.1.dist-info/RECORD +17 -10
  362. jaclang/vendor/lsprotocol-2023.0.1.dist-info/WHEEL +1 -1
  363. jaclang/vendor/pluggy/_version.py +7 -2
  364. jaclang/vendor/pluggy-1.5.0.dist-info/INSTALLER +1 -0
  365. jaclang/vendor/pluggy-1.5.0.dist-info/METADATA +6 -5
  366. jaclang/vendor/pluggy-1.5.0.dist-info/RECORD +24 -14
  367. jaclang/vendor/pluggy-1.5.0.dist-info/WHEEL +1 -1
  368. jaclang/vendor/pygls-1.3.1.dist-info/INSTALLER +1 -0
  369. jaclang/vendor/pygls-1.3.1.dist-info/METADATA +2 -2
  370. jaclang/vendor/pygls-1.3.1.dist-info/RECORD +45 -24
  371. jaclang/vendor/pygls-1.3.1.dist-info/WHEEL +1 -1
  372. {jaclang-0.7.33.dist-info → jaclang-0.8.0.dist-info}/METADATA +4 -4
  373. jaclang-0.8.0.dist-info/RECORD +552 -0
  374. {jaclang-0.7.33.dist-info → jaclang-0.8.0.dist-info}/WHEEL +1 -1
  375. jaclang/compiler/.gitignore +0 -1
  376. jaclang/compiler/compile.py +0 -119
  377. jaclang/compiler/passes/main/access_modifier_pass.py +0 -130
  378. jaclang/compiler/passes/main/fuse_typeinfo_pass.py +0 -656
  379. jaclang/compiler/passes/main/py_collect_dep_pass.py +0 -78
  380. jaclang/compiler/passes/main/pyout_pass.py +0 -86
  381. jaclang/compiler/passes/main/registry_pass.py +0 -156
  382. jaclang/compiler/passes/main/schedules.py +0 -47
  383. jaclang/compiler/passes/main/sub_node_tab_pass.py +0 -36
  384. jaclang/compiler/passes/main/tests/fixtures/registry.jac +0 -36
  385. jaclang/compiler/passes/main/tests/test_decl_def_match_pass.py +0 -114
  386. jaclang/compiler/passes/main/tests/test_registry_pass.py +0 -31
  387. jaclang/compiler/passes/main/tests/test_type_check_pass.py +0 -91
  388. jaclang/compiler/passes/main/tests/test_typeinfo_pass.py +0 -29
  389. jaclang/compiler/passes/main/type_check_pass.py +0 -128
  390. jaclang/compiler/passes/tool/schedules.py +0 -18
  391. jaclang/compiler/passes/tool/tests/fixtures/genai/essay_review.jac +0 -36
  392. jaclang/compiler/passes/tool/tests/fixtures/genai/expert_answer.jac +0 -17
  393. jaclang/compiler/passes/tool/tests/fixtures/genai/joke_gen.jac +0 -32
  394. jaclang/compiler/passes/tool/tests/fixtures/genai/odd_word_out.jac +0 -27
  395. jaclang/compiler/passes/tool/tests/fixtures/genai/personality_finder.jac +0 -35
  396. jaclang/compiler/passes/tool/tests/fixtures/genai/text_to_type.jac +0 -25
  397. jaclang/compiler/passes/tool/tests/fixtures/genai/translator.jac +0 -13
  398. jaclang/compiler/passes/tool/tests/fixtures/genai/wikipedia.jac +0 -63
  399. jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/architype_test.jac +0 -13
  400. jaclang/compiler/passes/utils/mypy_ast_build.py +0 -940
  401. jaclang/compiler/py_info.py +0 -22
  402. jaclang/compiler/semtable.py +0 -159
  403. jaclang/compiler/symtable.py +0 -297
  404. jaclang/langserve/utils.py +0 -458
  405. jaclang/plugin/__init__.py +0 -7
  406. jaclang/plugin/builtin.py +0 -57
  407. jaclang/plugin/default.py +0 -1443
  408. jaclang/plugin/feature.py +0 -574
  409. jaclang/plugin/plugin.md +0 -471
  410. jaclang/plugin/spec.py +0 -536
  411. jaclang/plugin/tests/fixtures/impl_match_impl.jac +0 -3
  412. jaclang/plugin/tests/test_features.py +0 -56
  413. jaclang/runtimelib/context.py +0 -191
  414. jaclang/tests/fixtures/create_dynamic_architype.jac +0 -35
  415. jaclang/tests/fixtures/dynamic_architype.jac +0 -34
  416. jaclang/tests/fixtures/impl_grab.impl.jac +0 -5
  417. jaclang/tests/fixtures/mtest.impl.jac +0 -6
  418. jaclang/tests/fixtures/registry.jac +0 -58
  419. jaclang/tests/fixtures/semstr.jac +0 -30
  420. jaclang/tests/main.jac +0 -2
  421. jaclang/utils/profiler.py +0 -62
  422. jaclang/vendor/attrs-23.2.0.dist-info/RECORD +0 -35
  423. jaclang/vendor/cattrs-23.2.3.dist-info/METADATA +0 -221
  424. jaclang/vendor/cattrs-23.2.3.dist-info/RECORD +0 -48
  425. jaclang/vendor/lark-1.1.9.dist-info/RECORD +0 -46
  426. jaclang/vendor/lark-1.1.9.dist-info/WHEEL +0 -5
  427. jaclang/vendor/mypy/__init__.py +0 -1
  428. jaclang/vendor/mypy/__main__.py +0 -37
  429. jaclang/vendor/mypy/api.py +0 -94
  430. jaclang/vendor/mypy/applytype.py +0 -172
  431. jaclang/vendor/mypy/argmap.py +0 -268
  432. jaclang/vendor/mypy/binder.py +0 -538
  433. jaclang/vendor/mypy/bogus_type.py +0 -27
  434. jaclang/vendor/mypy/build.py +0 -3562
  435. jaclang/vendor/mypy/checker.py +0 -8445
  436. jaclang/vendor/mypy/checkexpr.py +0 -6623
  437. jaclang/vendor/mypy/checkmember.py +0 -1363
  438. jaclang/vendor/mypy/checkpattern.py +0 -801
  439. jaclang/vendor/mypy/checkstrformat.py +0 -1109
  440. jaclang/vendor/mypy/config_parser.py +0 -670
  441. jaclang/vendor/mypy/constant_fold.py +0 -187
  442. jaclang/vendor/mypy/constraints.py +0 -1636
  443. jaclang/vendor/mypy/copytype.py +0 -133
  444. jaclang/vendor/mypy/defaults.py +0 -46
  445. jaclang/vendor/mypy/dmypy/__main__.py +0 -6
  446. jaclang/vendor/mypy/dmypy/client.py +0 -749
  447. jaclang/vendor/mypy/dmypy_os.py +0 -42
  448. jaclang/vendor/mypy/dmypy_server.py +0 -1107
  449. jaclang/vendor/mypy/dmypy_util.py +0 -117
  450. jaclang/vendor/mypy/erasetype.py +0 -278
  451. jaclang/vendor/mypy/errorcodes.py +0 -291
  452. jaclang/vendor/mypy/errors.py +0 -1280
  453. jaclang/vendor/mypy/evalexpr.py +0 -205
  454. jaclang/vendor/mypy/expandtype.py +0 -524
  455. jaclang/vendor/mypy/exprtotype.py +0 -209
  456. jaclang/vendor/mypy/fastparse.py +0 -2147
  457. jaclang/vendor/mypy/find_sources.py +0 -243
  458. jaclang/vendor/mypy/fixup.py +0 -428
  459. jaclang/vendor/mypy/freetree.py +0 -23
  460. jaclang/vendor/mypy/fscache.py +0 -309
  461. jaclang/vendor/mypy/fswatcher.py +0 -106
  462. jaclang/vendor/mypy/gclogger.py +0 -47
  463. jaclang/vendor/mypy/git.py +0 -34
  464. jaclang/vendor/mypy/graph_utils.py +0 -112
  465. jaclang/vendor/mypy/indirection.py +0 -121
  466. jaclang/vendor/mypy/infer.py +0 -75
  467. jaclang/vendor/mypy/inspections.py +0 -627
  468. jaclang/vendor/mypy/ipc.py +0 -310
  469. jaclang/vendor/mypy/join.py +0 -871
  470. jaclang/vendor/mypy/literals.py +0 -306
  471. jaclang/vendor/mypy/lookup.py +0 -61
  472. jaclang/vendor/mypy/main.py +0 -1574
  473. jaclang/vendor/mypy/maptype.py +0 -106
  474. jaclang/vendor/mypy/meet.py +0 -1140
  475. jaclang/vendor/mypy/memprofile.py +0 -121
  476. jaclang/vendor/mypy/message_registry.py +0 -329
  477. jaclang/vendor/mypy/messages.py +0 -3186
  478. jaclang/vendor/mypy/metastore.py +0 -225
  479. jaclang/vendor/mypy/mixedtraverser.py +0 -112
  480. jaclang/vendor/mypy/modulefinder.py +0 -875
  481. jaclang/vendor/mypy/moduleinspect.py +0 -184
  482. jaclang/vendor/mypy/mro.py +0 -62
  483. jaclang/vendor/mypy/nodes.py +0 -4115
  484. jaclang/vendor/mypy/operators.py +0 -126
  485. jaclang/vendor/mypy/options.py +0 -556
  486. jaclang/vendor/mypy/parse.py +0 -30
  487. jaclang/vendor/mypy/partially_defined.py +0 -675
  488. jaclang/vendor/mypy/patterns.py +0 -150
  489. jaclang/vendor/mypy/plugin.py +0 -901
  490. jaclang/vendor/mypy/plugins/attrs.py +0 -1166
  491. jaclang/vendor/mypy/plugins/common.py +0 -440
  492. jaclang/vendor/mypy/plugins/ctypes.py +0 -245
  493. jaclang/vendor/mypy/plugins/dataclasses.py +0 -1108
  494. jaclang/vendor/mypy/plugins/default.py +0 -531
  495. jaclang/vendor/mypy/plugins/enums.py +0 -259
  496. jaclang/vendor/mypy/plugins/functools.py +0 -104
  497. jaclang/vendor/mypy/plugins/proper_plugin.py +0 -175
  498. jaclang/vendor/mypy/plugins/singledispatch.py +0 -224
  499. jaclang/vendor/mypy/py.typed +0 -1
  500. jaclang/vendor/mypy/pyinfo.py +0 -78
  501. jaclang/vendor/mypy/reachability.py +0 -362
  502. jaclang/vendor/mypy/refinfo.py +0 -92
  503. jaclang/vendor/mypy/renaming.py +0 -568
  504. jaclang/vendor/mypy/report.py +0 -924
  505. jaclang/vendor/mypy/scope.py +0 -125
  506. jaclang/vendor/mypy/semanal.py +0 -7187
  507. jaclang/vendor/mypy/semanal_classprop.py +0 -187
  508. jaclang/vendor/mypy/semanal_enum.py +0 -253
  509. jaclang/vendor/mypy/semanal_infer.py +0 -128
  510. jaclang/vendor/mypy/semanal_main.py +0 -511
  511. jaclang/vendor/mypy/semanal_namedtuple.py +0 -670
  512. jaclang/vendor/mypy/semanal_newtype.py +0 -273
  513. jaclang/vendor/mypy/semanal_pass1.py +0 -156
  514. jaclang/vendor/mypy/semanal_shared.py +0 -490
  515. jaclang/vendor/mypy/semanal_typeargs.py +0 -265
  516. jaclang/vendor/mypy/semanal_typeddict.py +0 -575
  517. jaclang/vendor/mypy/server/astdiff.py +0 -518
  518. jaclang/vendor/mypy/server/astmerge.py +0 -562
  519. jaclang/vendor/mypy/server/aststrip.py +0 -281
  520. jaclang/vendor/mypy/server/deps.py +0 -1137
  521. jaclang/vendor/mypy/server/mergecheck.py +0 -83
  522. jaclang/vendor/mypy/server/objgraph.py +0 -101
  523. jaclang/vendor/mypy/server/subexpr.py +0 -198
  524. jaclang/vendor/mypy/server/target.py +0 -11
  525. jaclang/vendor/mypy/server/trigger.py +0 -26
  526. jaclang/vendor/mypy/server/update.py +0 -1339
  527. jaclang/vendor/mypy/sharedparse.py +0 -112
  528. jaclang/vendor/mypy/solve.py +0 -562
  529. jaclang/vendor/mypy/split_namespace.py +0 -35
  530. jaclang/vendor/mypy/state.py +0 -28
  531. jaclang/vendor/mypy/stats.py +0 -489
  532. jaclang/vendor/mypy/strconv.py +0 -641
  533. jaclang/vendor/mypy/stubdoc.py +0 -491
  534. jaclang/vendor/mypy/stubgen.py +0 -1886
  535. jaclang/vendor/mypy/stubgenc.py +0 -993
  536. jaclang/vendor/mypy/stubinfo.py +0 -173
  537. jaclang/vendor/mypy/stubtest.py +0 -2079
  538. jaclang/vendor/mypy/stubutil.py +0 -834
  539. jaclang/vendor/mypy/subtypes.py +0 -1980
  540. jaclang/vendor/mypy/suggestions.py +0 -1046
  541. jaclang/vendor/mypy/test/config.py +0 -28
  542. jaclang/vendor/mypy/test/data.py +0 -821
  543. jaclang/vendor/mypy/test/helpers.py +0 -476
  544. jaclang/vendor/mypy/test/meta/_pytest.py +0 -72
  545. jaclang/vendor/mypy/test/meta/test_diff_helper.py +0 -47
  546. jaclang/vendor/mypy/test/meta/test_parse_data.py +0 -73
  547. jaclang/vendor/mypy/test/meta/test_update_data.py +0 -135
  548. jaclang/vendor/mypy/test/test_find_sources.py +0 -376
  549. jaclang/vendor/mypy/test/test_ref_info.py +0 -45
  550. jaclang/vendor/mypy/test/testapi.py +0 -45
  551. jaclang/vendor/mypy/test/testargs.py +0 -77
  552. jaclang/vendor/mypy/test/testcheck.py +0 -322
  553. jaclang/vendor/mypy/test/testcmdline.py +0 -152
  554. jaclang/vendor/mypy/test/testconstraints.py +0 -134
  555. jaclang/vendor/mypy/test/testdaemon.py +0 -132
  556. jaclang/vendor/mypy/test/testdeps.py +0 -77
  557. jaclang/vendor/mypy/test/testdiff.py +0 -67
  558. jaclang/vendor/mypy/test/testerrorstream.py +0 -46
  559. jaclang/vendor/mypy/test/testfinegrained.py +0 -438
  560. jaclang/vendor/mypy/test/testfinegrainedcache.py +0 -18
  561. jaclang/vendor/mypy/test/testformatter.py +0 -85
  562. jaclang/vendor/mypy/test/testfscache.py +0 -101
  563. jaclang/vendor/mypy/test/testgraph.py +0 -83
  564. jaclang/vendor/mypy/test/testinfer.py +0 -373
  565. jaclang/vendor/mypy/test/testipc.py +0 -119
  566. jaclang/vendor/mypy/test/testmerge.py +0 -238
  567. jaclang/vendor/mypy/test/testmodulefinder.py +0 -278
  568. jaclang/vendor/mypy/test/testmypyc.py +0 -14
  569. jaclang/vendor/mypy/test/testparse.py +0 -107
  570. jaclang/vendor/mypy/test/testpep561.py +0 -211
  571. jaclang/vendor/mypy/test/testpythoneval.py +0 -117
  572. jaclang/vendor/mypy/test/testreports.py +0 -55
  573. jaclang/vendor/mypy/test/testsemanal.py +0 -209
  574. jaclang/vendor/mypy/test/testsolve.py +0 -285
  575. jaclang/vendor/mypy/test/teststubgen.py +0 -1412
  576. jaclang/vendor/mypy/test/teststubinfo.py +0 -12
  577. jaclang/vendor/mypy/test/teststubtest.py +0 -2492
  578. jaclang/vendor/mypy/test/testsubtypes.py +0 -303
  579. jaclang/vendor/mypy/test/testtransform.py +0 -64
  580. jaclang/vendor/mypy/test/testtypegen.py +0 -83
  581. jaclang/vendor/mypy/test/testtypes.py +0 -1551
  582. jaclang/vendor/mypy/test/testutil.py +0 -111
  583. jaclang/vendor/mypy/test/typefixture.py +0 -415
  584. jaclang/vendor/mypy/test/update_data.py +0 -87
  585. jaclang/vendor/mypy/test/visitors.py +0 -63
  586. jaclang/vendor/mypy/traverser.py +0 -961
  587. jaclang/vendor/mypy/treetransform.py +0 -800
  588. jaclang/vendor/mypy/tvar_scope.py +0 -169
  589. jaclang/vendor/mypy/type_visitor.py +0 -564
  590. jaclang/vendor/mypy/typeanal.py +0 -2596
  591. jaclang/vendor/mypy/typeops.py +0 -1082
  592. jaclang/vendor/mypy/types.py +0 -3708
  593. jaclang/vendor/mypy/types_utils.py +0 -166
  594. jaclang/vendor/mypy/typeshed/LICENSE +0 -237
  595. jaclang/vendor/mypy/typeshed/stdlib/VERSIONS +0 -309
  596. jaclang/vendor/mypy/typeshed/stdlib/__future__.pyi +0 -36
  597. jaclang/vendor/mypy/typeshed/stdlib/__main__.pyi +0 -3
  598. jaclang/vendor/mypy/typeshed/stdlib/_ast.pyi +0 -591
  599. jaclang/vendor/mypy/typeshed/stdlib/_bisect.pyi +0 -84
  600. jaclang/vendor/mypy/typeshed/stdlib/_bootlocale.pyi +0 -1
  601. jaclang/vendor/mypy/typeshed/stdlib/_codecs.pyi +0 -133
  602. jaclang/vendor/mypy/typeshed/stdlib/_collections_abc.pyi +0 -94
  603. jaclang/vendor/mypy/typeshed/stdlib/_compat_pickle.pyi +0 -8
  604. jaclang/vendor/mypy/typeshed/stdlib/_compression.pyi +0 -25
  605. jaclang/vendor/mypy/typeshed/stdlib/_csv.pyi +0 -90
  606. jaclang/vendor/mypy/typeshed/stdlib/_ctypes.pyi +0 -207
  607. jaclang/vendor/mypy/typeshed/stdlib/_curses.pyi +0 -566
  608. jaclang/vendor/mypy/typeshed/stdlib/_decimal.pyi +0 -281
  609. jaclang/vendor/mypy/typeshed/stdlib/_dummy_thread.pyi +0 -33
  610. jaclang/vendor/mypy/typeshed/stdlib/_dummy_threading.pyi +0 -164
  611. jaclang/vendor/mypy/typeshed/stdlib/_heapq.pyi +0 -11
  612. jaclang/vendor/mypy/typeshed/stdlib/_imp.pyi +0 -28
  613. jaclang/vendor/mypy/typeshed/stdlib/_json.pyi +0 -49
  614. jaclang/vendor/mypy/typeshed/stdlib/_locale.pyi +0 -100
  615. jaclang/vendor/mypy/typeshed/stdlib/_lsprof.pyi +0 -35
  616. jaclang/vendor/mypy/typeshed/stdlib/_markupbase.pyi +0 -16
  617. jaclang/vendor/mypy/typeshed/stdlib/_msi.pyi +0 -92
  618. jaclang/vendor/mypy/typeshed/stdlib/_operator.pyi +0 -147
  619. jaclang/vendor/mypy/typeshed/stdlib/_osx_support.pyi +0 -34
  620. jaclang/vendor/mypy/typeshed/stdlib/_posixsubprocess.pyi +0 -33
  621. jaclang/vendor/mypy/typeshed/stdlib/_py_abc.pyi +0 -14
  622. jaclang/vendor/mypy/typeshed/stdlib/_pydecimal.pyi +0 -43
  623. jaclang/vendor/mypy/typeshed/stdlib/_random.pyi +0 -12
  624. jaclang/vendor/mypy/typeshed/stdlib/_sitebuiltins.pyi +0 -16
  625. jaclang/vendor/mypy/typeshed/stdlib/_socket.pyi +0 -803
  626. jaclang/vendor/mypy/typeshed/stdlib/_stat.pyi +0 -103
  627. jaclang/vendor/mypy/typeshed/stdlib/_thread.pyi +0 -59
  628. jaclang/vendor/mypy/typeshed/stdlib/_threading_local.pyi +0 -17
  629. jaclang/vendor/mypy/typeshed/stdlib/_tkinter.pyi +0 -121
  630. jaclang/vendor/mypy/typeshed/stdlib/_tracemalloc.pyi +0 -17
  631. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/__init__.pyi +0 -347
  632. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/dbapi.pyi +0 -37
  633. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/wsgi.pyi +0 -44
  634. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/xml.pyi +0 -9
  635. jaclang/vendor/mypy/typeshed/stdlib/_warnings.pyi +0 -55
  636. jaclang/vendor/mypy/typeshed/stdlib/_weakref.pyi +0 -41
  637. jaclang/vendor/mypy/typeshed/stdlib/_weakrefset.pyi +0 -51
  638. jaclang/vendor/mypy/typeshed/stdlib/_winapi.pyi +0 -255
  639. jaclang/vendor/mypy/typeshed/stdlib/abc.pyi +0 -51
  640. jaclang/vendor/mypy/typeshed/stdlib/aifc.pyi +0 -91
  641. jaclang/vendor/mypy/typeshed/stdlib/antigravity.pyi +0 -3
  642. jaclang/vendor/mypy/typeshed/stdlib/argparse.pyi +0 -595
  643. jaclang/vendor/mypy/typeshed/stdlib/array.pyi +0 -92
  644. jaclang/vendor/mypy/typeshed/stdlib/ast.pyi +0 -277
  645. jaclang/vendor/mypy/typeshed/stdlib/asynchat.pyi +0 -21
  646. jaclang/vendor/mypy/typeshed/stdlib/asyncio/__init__.pyi +0 -41
  647. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_events.pyi +0 -440
  648. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_futures.pyi +0 -19
  649. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_subprocess.pyi +0 -63
  650. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_tasks.pyi +0 -9
  651. jaclang/vendor/mypy/typeshed/stdlib/asyncio/constants.pyi +0 -20
  652. jaclang/vendor/mypy/typeshed/stdlib/asyncio/coroutines.pyi +0 -26
  653. jaclang/vendor/mypy/typeshed/stdlib/asyncio/events.pyi +0 -580
  654. jaclang/vendor/mypy/typeshed/stdlib/asyncio/exceptions.pyi +0 -43
  655. jaclang/vendor/mypy/typeshed/stdlib/asyncio/format_helpers.pyi +0 -20
  656. jaclang/vendor/mypy/typeshed/stdlib/asyncio/futures.pyi +0 -57
  657. jaclang/vendor/mypy/typeshed/stdlib/asyncio/locks.pyi +0 -121
  658. jaclang/vendor/mypy/typeshed/stdlib/asyncio/log.pyi +0 -3
  659. jaclang/vendor/mypy/typeshed/stdlib/asyncio/mixins.pyi +0 -9
  660. jaclang/vendor/mypy/typeshed/stdlib/asyncio/proactor_events.pyi +0 -64
  661. jaclang/vendor/mypy/typeshed/stdlib/asyncio/protocols.pyi +0 -34
  662. jaclang/vendor/mypy/typeshed/stdlib/asyncio/queues.pyi +0 -47
  663. jaclang/vendor/mypy/typeshed/stdlib/asyncio/runners.pyi +0 -32
  664. jaclang/vendor/mypy/typeshed/stdlib/asyncio/selector_events.pyi +0 -8
  665. jaclang/vendor/mypy/typeshed/stdlib/asyncio/sslproto.pyi +0 -165
  666. jaclang/vendor/mypy/typeshed/stdlib/asyncio/staggered.pyi +0 -10
  667. jaclang/vendor/mypy/typeshed/stdlib/asyncio/streams.pyi +0 -153
  668. jaclang/vendor/mypy/typeshed/stdlib/asyncio/subprocess.pyi +0 -229
  669. jaclang/vendor/mypy/typeshed/stdlib/asyncio/taskgroups.pyi +0 -25
  670. jaclang/vendor/mypy/typeshed/stdlib/asyncio/tasks.pyi +0 -497
  671. jaclang/vendor/mypy/typeshed/stdlib/asyncio/threads.pyi +0 -9
  672. jaclang/vendor/mypy/typeshed/stdlib/asyncio/timeouts.pyi +0 -19
  673. jaclang/vendor/mypy/typeshed/stdlib/asyncio/transports.pyi +0 -47
  674. jaclang/vendor/mypy/typeshed/stdlib/asyncio/trsock.pyi +0 -94
  675. jaclang/vendor/mypy/typeshed/stdlib/asyncio/unix_events.pyi +0 -196
  676. jaclang/vendor/mypy/typeshed/stdlib/asyncio/windows_events.pyi +0 -85
  677. jaclang/vendor/mypy/typeshed/stdlib/asyncio/windows_utils.pyi +0 -49
  678. jaclang/vendor/mypy/typeshed/stdlib/asyncore.pyi +0 -90
  679. jaclang/vendor/mypy/typeshed/stdlib/atexit.pyi +0 -12
  680. jaclang/vendor/mypy/typeshed/stdlib/audioop.pyi +0 -43
  681. jaclang/vendor/mypy/typeshed/stdlib/base64.pyi +0 -59
  682. jaclang/vendor/mypy/typeshed/stdlib/bdb.pyi +0 -102
  683. jaclang/vendor/mypy/typeshed/stdlib/binascii.pyi +0 -36
  684. jaclang/vendor/mypy/typeshed/stdlib/binhex.pyi +0 -45
  685. jaclang/vendor/mypy/typeshed/stdlib/bisect.pyi +0 -4
  686. jaclang/vendor/mypy/typeshed/stdlib/builtins.pyi +0 -1936
  687. jaclang/vendor/mypy/typeshed/stdlib/bz2.pyi +0 -146
  688. jaclang/vendor/mypy/typeshed/stdlib/cProfile.pyi +0 -31
  689. jaclang/vendor/mypy/typeshed/stdlib/calendar.pyi +0 -208
  690. jaclang/vendor/mypy/typeshed/stdlib/cgi.pyi +0 -118
  691. jaclang/vendor/mypy/typeshed/stdlib/cgitb.pyi +0 -32
  692. jaclang/vendor/mypy/typeshed/stdlib/chunk.pyi +0 -20
  693. jaclang/vendor/mypy/typeshed/stdlib/cmath.pyi +0 -36
  694. jaclang/vendor/mypy/typeshed/stdlib/cmd.pyi +0 -45
  695. jaclang/vendor/mypy/typeshed/stdlib/code.pyi +0 -33
  696. jaclang/vendor/mypy/typeshed/stdlib/codecs.pyi +0 -285
  697. jaclang/vendor/mypy/typeshed/stdlib/codeop.pyi +0 -13
  698. jaclang/vendor/mypy/typeshed/stdlib/collections/__init__.pyi +0 -485
  699. jaclang/vendor/mypy/typeshed/stdlib/collections/abc.pyi +0 -2
  700. jaclang/vendor/mypy/typeshed/stdlib/colorsys.pyi +0 -13
  701. jaclang/vendor/mypy/typeshed/stdlib/compileall.pyi +0 -111
  702. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/__init__.pyi +0 -32
  703. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/_base.pyi +0 -126
  704. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/process.pyi +0 -233
  705. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/thread.pyi +0 -80
  706. jaclang/vendor/mypy/typeshed/stdlib/configparser.pyi +0 -313
  707. jaclang/vendor/mypy/typeshed/stdlib/contextlib.pyi +0 -208
  708. jaclang/vendor/mypy/typeshed/stdlib/contextvars.pyi +0 -63
  709. jaclang/vendor/mypy/typeshed/stdlib/copy.pyi +0 -16
  710. jaclang/vendor/mypy/typeshed/stdlib/copyreg.pyi +0 -21
  711. jaclang/vendor/mypy/typeshed/stdlib/crypt.pyi +0 -12
  712. jaclang/vendor/mypy/typeshed/stdlib/csv.pyi +0 -147
  713. jaclang/vendor/mypy/typeshed/stdlib/ctypes/__init__.pyi +0 -187
  714. jaclang/vendor/mypy/typeshed/stdlib/ctypes/_endian.pyi +0 -19
  715. jaclang/vendor/mypy/typeshed/stdlib/ctypes/util.pyi +0 -6
  716. jaclang/vendor/mypy/typeshed/stdlib/ctypes/wintypes.pyi +0 -298
  717. jaclang/vendor/mypy/typeshed/stdlib/curses/__init__.pyi +0 -22
  718. jaclang/vendor/mypy/typeshed/stdlib/curses/ascii.pyi +0 -62
  719. jaclang/vendor/mypy/typeshed/stdlib/curses/has_key.pyi +0 -1
  720. jaclang/vendor/mypy/typeshed/stdlib/curses/panel.pyi +0 -22
  721. jaclang/vendor/mypy/typeshed/stdlib/curses/textpad.pyi +0 -11
  722. jaclang/vendor/mypy/typeshed/stdlib/dataclasses.pyi +0 -315
  723. jaclang/vendor/mypy/typeshed/stdlib/datetime.pyi +0 -295
  724. jaclang/vendor/mypy/typeshed/stdlib/dbm/__init__.pyi +0 -95
  725. jaclang/vendor/mypy/typeshed/stdlib/dbm/dumb.pyi +0 -31
  726. jaclang/vendor/mypy/typeshed/stdlib/dbm/gnu.pyi +0 -41
  727. jaclang/vendor/mypy/typeshed/stdlib/dbm/ndbm.pyi +0 -37
  728. jaclang/vendor/mypy/typeshed/stdlib/decimal.pyi +0 -2
  729. jaclang/vendor/mypy/typeshed/stdlib/difflib.pyi +0 -140
  730. jaclang/vendor/mypy/typeshed/stdlib/dis.pyi +0 -144
  731. jaclang/vendor/mypy/typeshed/stdlib/distutils/__init__.pyi +0 -5
  732. jaclang/vendor/mypy/typeshed/stdlib/distutils/archive_util.pyi +0 -20
  733. jaclang/vendor/mypy/typeshed/stdlib/distutils/bcppcompiler.pyi +0 -3
  734. jaclang/vendor/mypy/typeshed/stdlib/distutils/ccompiler.pyi +0 -152
  735. jaclang/vendor/mypy/typeshed/stdlib/distutils/cmd.pyi +0 -66
  736. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist.pyi +0 -25
  737. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_dumb.pyi +0 -21
  738. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_msi.pyi +0 -45
  739. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_rpm.pyi +0 -52
  740. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_wininst.pyi +0 -16
  741. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build.pyi +0 -31
  742. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_clib.pyi +0 -27
  743. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_ext.pyi +0 -50
  744. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_py.pyi +0 -44
  745. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_scripts.pyi +0 -24
  746. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/check.pyi +0 -39
  747. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/clean.pyi +0 -17
  748. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/config.pyi +0 -83
  749. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install.pyi +0 -63
  750. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_data.pyi +0 -19
  751. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_egg_info.pyi +0 -18
  752. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_headers.pyi +0 -16
  753. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_lib.pyi +0 -25
  754. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_scripts.pyi +0 -18
  755. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/register.pyi +0 -18
  756. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/sdist.pyi +0 -42
  757. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/upload.pyi +0 -17
  758. jaclang/vendor/mypy/typeshed/stdlib/distutils/config.pyi +0 -17
  759. jaclang/vendor/mypy/typeshed/stdlib/distutils/core.pyi +0 -57
  760. jaclang/vendor/mypy/typeshed/stdlib/distutils/cygwinccompiler.pyi +0 -20
  761. jaclang/vendor/mypy/typeshed/stdlib/distutils/debug.pyi +0 -1
  762. jaclang/vendor/mypy/typeshed/stdlib/distutils/dep_util.pyi +0 -3
  763. jaclang/vendor/mypy/typeshed/stdlib/distutils/dir_util.pyi +0 -13
  764. jaclang/vendor/mypy/typeshed/stdlib/distutils/dist.pyi +0 -146
  765. jaclang/vendor/mypy/typeshed/stdlib/distutils/errors.pyi +0 -19
  766. jaclang/vendor/mypy/typeshed/stdlib/distutils/extension.pyi +0 -36
  767. jaclang/vendor/mypy/typeshed/stdlib/distutils/fancy_getopt.pyi +0 -34
  768. jaclang/vendor/mypy/typeshed/stdlib/distutils/file_util.pyi +0 -14
  769. jaclang/vendor/mypy/typeshed/stdlib/distutils/filelist.pyi +0 -50
  770. jaclang/vendor/mypy/typeshed/stdlib/distutils/log.pyi +0 -25
  771. jaclang/vendor/mypy/typeshed/stdlib/distutils/msvccompiler.pyi +0 -3
  772. jaclang/vendor/mypy/typeshed/stdlib/distutils/spawn.pyi +0 -2
  773. jaclang/vendor/mypy/typeshed/stdlib/distutils/sysconfig.pyi +0 -31
  774. jaclang/vendor/mypy/typeshed/stdlib/distutils/text_file.pyi +0 -21
  775. jaclang/vendor/mypy/typeshed/stdlib/distutils/unixccompiler.pyi +0 -3
  776. jaclang/vendor/mypy/typeshed/stdlib/distutils/util.pyi +0 -46
  777. jaclang/vendor/mypy/typeshed/stdlib/distutils/version.pyi +0 -36
  778. jaclang/vendor/mypy/typeshed/stdlib/doctest.pyi +0 -248
  779. jaclang/vendor/mypy/typeshed/stdlib/dummy_threading.pyi +0 -2
  780. jaclang/vendor/mypy/typeshed/stdlib/email/__init__.pyi +0 -29
  781. jaclang/vendor/mypy/typeshed/stdlib/email/_header_value_parser.pyi +0 -392
  782. jaclang/vendor/mypy/typeshed/stdlib/email/_policybase.pyi +0 -51
  783. jaclang/vendor/mypy/typeshed/stdlib/email/base64mime.pyi +0 -13
  784. jaclang/vendor/mypy/typeshed/stdlib/email/charset.pyi +0 -34
  785. jaclang/vendor/mypy/typeshed/stdlib/email/contentmanager.pyi +0 -11
  786. jaclang/vendor/mypy/typeshed/stdlib/email/encoders.pyi +0 -8
  787. jaclang/vendor/mypy/typeshed/stdlib/email/errors.pyi +0 -39
  788. jaclang/vendor/mypy/typeshed/stdlib/email/feedparser.pyi +0 -23
  789. jaclang/vendor/mypy/typeshed/stdlib/email/generator.pyi +0 -40
  790. jaclang/vendor/mypy/typeshed/stdlib/email/header.pyi +0 -31
  791. jaclang/vendor/mypy/typeshed/stdlib/email/headerregistry.pyi +0 -178
  792. jaclang/vendor/mypy/typeshed/stdlib/email/iterators.pyi +0 -12
  793. jaclang/vendor/mypy/typeshed/stdlib/email/message.pyi +0 -165
  794. jaclang/vendor/mypy/typeshed/stdlib/email/mime/application.pyi +0 -17
  795. jaclang/vendor/mypy/typeshed/stdlib/email/mime/audio.pyi +0 -17
  796. jaclang/vendor/mypy/typeshed/stdlib/email/mime/base.pyi +0 -8
  797. jaclang/vendor/mypy/typeshed/stdlib/email/mime/image.pyi +0 -17
  798. jaclang/vendor/mypy/typeshed/stdlib/email/mime/message.pyi +0 -8
  799. jaclang/vendor/mypy/typeshed/stdlib/email/mime/multipart.pyi +0 -18
  800. jaclang/vendor/mypy/typeshed/stdlib/email/mime/nonmultipart.pyi +0 -5
  801. jaclang/vendor/mypy/typeshed/stdlib/email/mime/text.pyi +0 -9
  802. jaclang/vendor/mypy/typeshed/stdlib/email/parser.pyi +0 -26
  803. jaclang/vendor/mypy/typeshed/stdlib/email/policy.pyi +0 -38
  804. jaclang/vendor/mypy/typeshed/stdlib/email/quoprimime.pyi +0 -28
  805. jaclang/vendor/mypy/typeshed/stdlib/email/utils.pyi +0 -70
  806. jaclang/vendor/mypy/typeshed/stdlib/encodings/__init__.pyi +0 -10
  807. jaclang/vendor/mypy/typeshed/stdlib/encodings/utf_8.pyi +0 -21
  808. jaclang/vendor/mypy/typeshed/stdlib/encodings/utf_8_sig.pyi +0 -22
  809. jaclang/vendor/mypy/typeshed/stdlib/ensurepip/__init__.pyi +0 -12
  810. jaclang/vendor/mypy/typeshed/stdlib/enum.pyi +0 -320
  811. jaclang/vendor/mypy/typeshed/stdlib/errno.pyi +0 -222
  812. jaclang/vendor/mypy/typeshed/stdlib/faulthandler.pyi +0 -13
  813. jaclang/vendor/mypy/typeshed/stdlib/fcntl.pyi +0 -127
  814. jaclang/vendor/mypy/typeshed/stdlib/filecmp.pyi +0 -57
  815. jaclang/vendor/mypy/typeshed/stdlib/fileinput.pyi +0 -213
  816. jaclang/vendor/mypy/typeshed/stdlib/fnmatch.pyi +0 -9
  817. jaclang/vendor/mypy/typeshed/stdlib/formatter.pyi +0 -88
  818. jaclang/vendor/mypy/typeshed/stdlib/fractions.pyi +0 -150
  819. jaclang/vendor/mypy/typeshed/stdlib/ftplib.pyi +0 -178
  820. jaclang/vendor/mypy/typeshed/stdlib/functools.pyi +0 -213
  821. jaclang/vendor/mypy/typeshed/stdlib/gc.pyi +0 -37
  822. jaclang/vendor/mypy/typeshed/stdlib/genericpath.pyi +0 -52
  823. jaclang/vendor/mypy/typeshed/stdlib/getopt.pyi +0 -11
  824. jaclang/vendor/mypy/typeshed/stdlib/getpass.pyi +0 -8
  825. jaclang/vendor/mypy/typeshed/stdlib/gettext.pyi +0 -169
  826. jaclang/vendor/mypy/typeshed/stdlib/glob.pyi +0 -42
  827. jaclang/vendor/mypy/typeshed/stdlib/graphlib.pyi +0 -28
  828. jaclang/vendor/mypy/typeshed/stdlib/grp.pyi +0 -22
  829. jaclang/vendor/mypy/typeshed/stdlib/gzip.pyi +0 -160
  830. jaclang/vendor/mypy/typeshed/stdlib/hashlib.pyi +0 -167
  831. jaclang/vendor/mypy/typeshed/stdlib/heapq.pyi +0 -17
  832. jaclang/vendor/mypy/typeshed/stdlib/hmac.pyi +0 -38
  833. jaclang/vendor/mypy/typeshed/stdlib/html/__init__.pyi +0 -6
  834. jaclang/vendor/mypy/typeshed/stdlib/html/entities.pyi +0 -6
  835. jaclang/vendor/mypy/typeshed/stdlib/html/parser.pyi +0 -34
  836. jaclang/vendor/mypy/typeshed/stdlib/http/__init__.pyi +0 -105
  837. jaclang/vendor/mypy/typeshed/stdlib/http/client.pyi +0 -259
  838. jaclang/vendor/mypy/typeshed/stdlib/http/cookiejar.pyi +0 -159
  839. jaclang/vendor/mypy/typeshed/stdlib/http/cookies.pyi +0 -60
  840. jaclang/vendor/mypy/typeshed/stdlib/http/server.pyi +0 -83
  841. jaclang/vendor/mypy/typeshed/stdlib/imaplib.pyi +0 -168
  842. jaclang/vendor/mypy/typeshed/stdlib/imghdr.pyi +0 -17
  843. jaclang/vendor/mypy/typeshed/stdlib/imp.pyi +0 -62
  844. jaclang/vendor/mypy/typeshed/stdlib/importlib/__init__.pyi +0 -24
  845. jaclang/vendor/mypy/typeshed/stdlib/importlib/_abc.pyi +0 -15
  846. jaclang/vendor/mypy/typeshed/stdlib/importlib/abc.pyi +0 -172
  847. jaclang/vendor/mypy/typeshed/stdlib/importlib/machinery.pyi +0 -179
  848. jaclang/vendor/mypy/typeshed/stdlib/importlib/metadata/__init__.pyi +0 -285
  849. jaclang/vendor/mypy/typeshed/stdlib/importlib/metadata/_meta.pyi +0 -49
  850. jaclang/vendor/mypy/typeshed/stdlib/importlib/readers.pyi +0 -68
  851. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/__init__.pyi +0 -46
  852. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/abc.pyi +0 -12
  853. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/readers.pyi +0 -14
  854. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/simple.pyi +0 -56
  855. jaclang/vendor/mypy/typeshed/stdlib/importlib/simple.pyi +0 -11
  856. jaclang/vendor/mypy/typeshed/stdlib/importlib/util.pyi +0 -43
  857. jaclang/vendor/mypy/typeshed/stdlib/inspect.pyi +0 -632
  858. jaclang/vendor/mypy/typeshed/stdlib/io.pyi +0 -238
  859. jaclang/vendor/mypy/typeshed/stdlib/ipaddress.pyi +0 -208
  860. jaclang/vendor/mypy/typeshed/stdlib/itertools.pyi +0 -273
  861. jaclang/vendor/mypy/typeshed/stdlib/json/__init__.pyi +0 -61
  862. jaclang/vendor/mypy/typeshed/stdlib/json/decoder.pyi +0 -32
  863. jaclang/vendor/mypy/typeshed/stdlib/json/encoder.pyi +0 -40
  864. jaclang/vendor/mypy/typeshed/stdlib/json/tool.pyi +0 -1
  865. jaclang/vendor/mypy/typeshed/stdlib/keyword.pyi +0 -21
  866. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/btm_matcher.pyi +0 -28
  867. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixer_base.pyi +0 -42
  868. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_apply.pyi +0 -8
  869. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_asserts.pyi +0 -10
  870. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_basestring.pyi +0 -8
  871. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_buffer.pyi +0 -8
  872. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_dict.pyi +0 -16
  873. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_except.pyi +0 -14
  874. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exec.pyi +0 -8
  875. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_execfile.pyi +0 -8
  876. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi +0 -13
  877. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_filter.pyi +0 -9
  878. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_funcattrs.pyi +0 -8
  879. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_future.pyi +0 -8
  880. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_getcwdu.pyi +0 -8
  881. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_has_key.pyi +0 -8
  882. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_idioms.pyi +0 -15
  883. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_import.pyi +0 -16
  884. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports.pyi +0 -21
  885. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports2.pyi +0 -6
  886. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_input.pyi +0 -11
  887. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_intern.pyi +0 -9
  888. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_isinstance.pyi +0 -8
  889. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools.pyi +0 -9
  890. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools_imports.pyi +0 -7
  891. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_long.pyi +0 -7
  892. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_map.pyi +0 -9
  893. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_metaclass.pyi +0 -17
  894. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_methodattrs.pyi +0 -10
  895. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ne.pyi +0 -8
  896. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_next.pyi +0 -19
  897. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_nonzero.pyi +0 -8
  898. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_numliterals.pyi +0 -8
  899. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_operator.pyi +0 -12
  900. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_paren.pyi +0 -8
  901. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_print.pyi +0 -12
  902. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raise.pyi +0 -8
  903. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raw_input.pyi +0 -8
  904. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reduce.pyi +0 -8
  905. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reload.pyi +0 -9
  906. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_renames.pyi +0 -17
  907. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_repr.pyi +0 -8
  908. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_set_literal.pyi +0 -7
  909. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_standarderror.pyi +0 -8
  910. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_sys_exc.pyi +0 -9
  911. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_throw.pyi +0 -8
  912. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_tuple_params.pyi +0 -17
  913. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_types.pyi +0 -8
  914. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_unicode.pyi +0 -12
  915. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_urllib.pyi +0 -15
  916. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ws_comma.pyi +0 -12
  917. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xrange.pyi +0 -20
  918. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xreadlines.pyi +0 -8
  919. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_zip.pyi +0 -9
  920. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/main.pyi +0 -42
  921. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/__init__.pyi +0 -9
  922. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/driver.pyi +0 -27
  923. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/grammar.pyi +0 -24
  924. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/literals.pyi +0 -7
  925. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/parse.pyi +0 -30
  926. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/pgen.pyi +0 -50
  927. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/token.pyi +0 -67
  928. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/tokenize.pyi +0 -96
  929. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pygram.pyi +0 -114
  930. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pytree.pyi +0 -117
  931. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/refactor.pyi +0 -82
  932. jaclang/vendor/mypy/typeshed/stdlib/linecache.pyi +0 -23
  933. jaclang/vendor/mypy/typeshed/stdlib/locale.pyi +0 -152
  934. jaclang/vendor/mypy/typeshed/stdlib/logging/__init__.pyi +0 -658
  935. jaclang/vendor/mypy/typeshed/stdlib/logging/config.pyi +0 -134
  936. jaclang/vendor/mypy/typeshed/stdlib/logging/handlers.pyi +0 -275
  937. jaclang/vendor/mypy/typeshed/stdlib/lzma.pyi +0 -197
  938. jaclang/vendor/mypy/typeshed/stdlib/mailbox.pyi +0 -256
  939. jaclang/vendor/mypy/typeshed/stdlib/mailcap.pyi +0 -11
  940. jaclang/vendor/mypy/typeshed/stdlib/marshal.pyi +0 -33
  941. jaclang/vendor/mypy/typeshed/stdlib/math.pyi +0 -125
  942. jaclang/vendor/mypy/typeshed/stdlib/mimetypes.pyi +0 -46
  943. jaclang/vendor/mypy/typeshed/stdlib/mmap.pyi +0 -113
  944. jaclang/vendor/mypy/typeshed/stdlib/modulefinder.pyi +0 -66
  945. jaclang/vendor/mypy/typeshed/stdlib/msilib/__init__.pyi +0 -177
  946. jaclang/vendor/mypy/typeshed/stdlib/msilib/schema.pyi +0 -94
  947. jaclang/vendor/mypy/typeshed/stdlib/msilib/sequence.pyi +0 -13
  948. jaclang/vendor/mypy/typeshed/stdlib/msilib/text.pyi +0 -7
  949. jaclang/vendor/mypy/typeshed/stdlib/msvcrt.pyi +0 -32
  950. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/__init__.pyi +0 -90
  951. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/connection.pyi +0 -75
  952. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/context.pyi +0 -189
  953. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/dummy/__init__.pyi +0 -77
  954. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/dummy/connection.pyi +0 -39
  955. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/forkserver.pyi +0 -31
  956. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/heap.pyi +0 -36
  957. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/managers.pyi +0 -212
  958. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/pool.pyi +0 -103
  959. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_fork.pyi +0 -23
  960. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_forkserver.pyi +0 -16
  961. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_posix.pyi +0 -20
  962. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_win32.pyi +0 -30
  963. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/process.pyi +0 -39
  964. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/queues.pyi +0 -41
  965. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/reduction.pyi +0 -90
  966. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/resource_sharer.pyi +0 -20
  967. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/resource_tracker.pyi +0 -18
  968. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/shared_memory.pyi +0 -40
  969. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/sharedctypes.pyi +0 -107
  970. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/spawn.pyi +0 -32
  971. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/synchronize.pyi +0 -54
  972. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/util.pyi +0 -98
  973. jaclang/vendor/mypy/typeshed/stdlib/netrc.pyi +0 -23
  974. jaclang/vendor/mypy/typeshed/stdlib/nis.pyi +0 -9
  975. jaclang/vendor/mypy/typeshed/stdlib/nntplib.pyi +0 -125
  976. jaclang/vendor/mypy/typeshed/stdlib/nt.pyi +0 -111
  977. jaclang/vendor/mypy/typeshed/stdlib/ntpath.pyi +0 -119
  978. jaclang/vendor/mypy/typeshed/stdlib/nturl2path.pyi +0 -2
  979. jaclang/vendor/mypy/typeshed/stdlib/numbers.pyi +0 -209
  980. jaclang/vendor/mypy/typeshed/stdlib/opcode.pyi +0 -59
  981. jaclang/vendor/mypy/typeshed/stdlib/operator.pyi +0 -110
  982. jaclang/vendor/mypy/typeshed/stdlib/optparse.pyi +0 -255
  983. jaclang/vendor/mypy/typeshed/stdlib/os/__init__.pyi +0 -1157
  984. jaclang/vendor/mypy/typeshed/stdlib/os/path.pyi +0 -8
  985. jaclang/vendor/mypy/typeshed/stdlib/ossaudiodev.pyi +0 -131
  986. jaclang/vendor/mypy/typeshed/stdlib/parser.pyi +0 -24
  987. jaclang/vendor/mypy/typeshed/stdlib/pathlib.pyi +0 -232
  988. jaclang/vendor/mypy/typeshed/stdlib/pdb.pyi +0 -181
  989. jaclang/vendor/mypy/typeshed/stdlib/pickle.pyi +0 -271
  990. jaclang/vendor/mypy/typeshed/stdlib/pickletools.pyi +0 -167
  991. jaclang/vendor/mypy/typeshed/stdlib/pipes.pyi +0 -16
  992. jaclang/vendor/mypy/typeshed/stdlib/pkgutil.pyi +0 -53
  993. jaclang/vendor/mypy/typeshed/stdlib/platform.pyi +0 -42
  994. jaclang/vendor/mypy/typeshed/stdlib/plistlib.pyi +0 -113
  995. jaclang/vendor/mypy/typeshed/stdlib/poplib.pyi +0 -71
  996. jaclang/vendor/mypy/typeshed/stdlib/posix.pyi +0 -361
  997. jaclang/vendor/mypy/typeshed/stdlib/posixpath.pyi +0 -161
  998. jaclang/vendor/mypy/typeshed/stdlib/pprint.pyi +0 -112
  999. jaclang/vendor/mypy/typeshed/stdlib/profile.pyi +0 -31
  1000. jaclang/vendor/mypy/typeshed/stdlib/pstats.pyi +0 -80
  1001. jaclang/vendor/mypy/typeshed/stdlib/pty.pyi +0 -19
  1002. jaclang/vendor/mypy/typeshed/stdlib/pwd.pyi +0 -28
  1003. jaclang/vendor/mypy/typeshed/stdlib/py_compile.pyi +0 -34
  1004. jaclang/vendor/mypy/typeshed/stdlib/pyclbr.pyi +0 -74
  1005. jaclang/vendor/mypy/typeshed/stdlib/pydoc.pyi +0 -261
  1006. jaclang/vendor/mypy/typeshed/stdlib/pydoc_data/__init__.pyi +0 -0
  1007. jaclang/vendor/mypy/typeshed/stdlib/pydoc_data/topics.pyi +0 -1
  1008. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/__init__.pyi +0 -85
  1009. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/errors.pyi +0 -49
  1010. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/model.pyi +0 -11
  1011. jaclang/vendor/mypy/typeshed/stdlib/queue.pyi +0 -66
  1012. jaclang/vendor/mypy/typeshed/stdlib/quopri.pyi +0 -11
  1013. jaclang/vendor/mypy/typeshed/stdlib/random.pyi +0 -138
  1014. jaclang/vendor/mypy/typeshed/stdlib/re.pyi +0 -290
  1015. jaclang/vendor/mypy/typeshed/stdlib/readline.pyi +0 -36
  1016. jaclang/vendor/mypy/typeshed/stdlib/reprlib.pyi +0 -65
  1017. jaclang/vendor/mypy/typeshed/stdlib/resource.pyi +0 -94
  1018. jaclang/vendor/mypy/typeshed/stdlib/rlcompleter.pyi +0 -9
  1019. jaclang/vendor/mypy/typeshed/stdlib/runpy.pyi +0 -24
  1020. jaclang/vendor/mypy/typeshed/stdlib/sched.pyi +0 -42
  1021. jaclang/vendor/mypy/typeshed/stdlib/secrets.pyi +0 -15
  1022. jaclang/vendor/mypy/typeshed/stdlib/select.pyi +0 -155
  1023. jaclang/vendor/mypy/typeshed/stdlib/selectors.pyi +0 -67
  1024. jaclang/vendor/mypy/typeshed/stdlib/shelve.pyi +0 -46
  1025. jaclang/vendor/mypy/typeshed/stdlib/shlex.pyi +0 -63
  1026. jaclang/vendor/mypy/typeshed/stdlib/shutil.pyi +0 -185
  1027. jaclang/vendor/mypy/typeshed/stdlib/signal.pyi +0 -188
  1028. jaclang/vendor/mypy/typeshed/stdlib/site.pyi +0 -27
  1029. jaclang/vendor/mypy/typeshed/stdlib/smtpd.pyi +0 -91
  1030. jaclang/vendor/mypy/typeshed/stdlib/smtplib.pyi +0 -204
  1031. jaclang/vendor/mypy/typeshed/stdlib/sndhdr.pyi +0 -14
  1032. jaclang/vendor/mypy/typeshed/stdlib/socket.pyi +0 -825
  1033. jaclang/vendor/mypy/typeshed/stdlib/socketserver.pyi +0 -168
  1034. jaclang/vendor/mypy/typeshed/stdlib/spwd.pyi +0 -41
  1035. jaclang/vendor/mypy/typeshed/stdlib/sqlite3/__init__.pyi +0 -1
  1036. jaclang/vendor/mypy/typeshed/stdlib/sqlite3/dbapi2.pyi +0 -551
  1037. jaclang/vendor/mypy/typeshed/stdlib/sre_compile.pyi +0 -11
  1038. jaclang/vendor/mypy/typeshed/stdlib/sre_constants.pyi +0 -130
  1039. jaclang/vendor/mypy/typeshed/stdlib/sre_parse.pyi +0 -104
  1040. jaclang/vendor/mypy/typeshed/stdlib/ssl.pyi +0 -537
  1041. jaclang/vendor/mypy/typeshed/stdlib/stat.pyi +0 -1
  1042. jaclang/vendor/mypy/typeshed/stdlib/statistics.pyi +0 -132
  1043. jaclang/vendor/mypy/typeshed/stdlib/string.pyi +0 -83
  1044. jaclang/vendor/mypy/typeshed/stdlib/stringprep.pyi +0 -27
  1045. jaclang/vendor/mypy/typeshed/stdlib/struct.pyi +0 -26
  1046. jaclang/vendor/mypy/typeshed/stdlib/subprocess.pyi +0 -2615
  1047. jaclang/vendor/mypy/typeshed/stdlib/sunau.pyi +0 -86
  1048. jaclang/vendor/mypy/typeshed/stdlib/symbol.pyi +0 -93
  1049. jaclang/vendor/mypy/typeshed/stdlib/symtable.pyi +0 -58
  1050. jaclang/vendor/mypy/typeshed/stdlib/sys/__init__.pyi +0 -373
  1051. jaclang/vendor/mypy/typeshed/stdlib/sys/_monitoring.pyi +0 -52
  1052. jaclang/vendor/mypy/typeshed/stdlib/sysconfig.pyi +0 -48
  1053. jaclang/vendor/mypy/typeshed/stdlib/syslog.pyi +0 -46
  1054. jaclang/vendor/mypy/typeshed/stdlib/tabnanny.pyi +0 -16
  1055. jaclang/vendor/mypy/typeshed/stdlib/tarfile.pyi +0 -441
  1056. jaclang/vendor/mypy/typeshed/stdlib/telnetlib.pyi +0 -122
  1057. jaclang/vendor/mypy/typeshed/stdlib/tempfile.pyi +0 -477
  1058. jaclang/vendor/mypy/typeshed/stdlib/termios.pyi +0 -267
  1059. jaclang/vendor/mypy/typeshed/stdlib/textwrap.pyi +0 -103
  1060. jaclang/vendor/mypy/typeshed/stdlib/this.pyi +0 -2
  1061. jaclang/vendor/mypy/typeshed/stdlib/threading.pyi +0 -187
  1062. jaclang/vendor/mypy/typeshed/stdlib/time.pyi +0 -108
  1063. jaclang/vendor/mypy/typeshed/stdlib/timeit.pyi +0 -32
  1064. jaclang/vendor/mypy/typeshed/stdlib/tkinter/__init__.pyi +0 -3654
  1065. jaclang/vendor/mypy/typeshed/stdlib/tkinter/colorchooser.pyi +0 -20
  1066. jaclang/vendor/mypy/typeshed/stdlib/tkinter/commondialog.pyi +0 -14
  1067. jaclang/vendor/mypy/typeshed/stdlib/tkinter/constants.pyi +0 -80
  1068. jaclang/vendor/mypy/typeshed/stdlib/tkinter/dialog.pyi +0 -16
  1069. jaclang/vendor/mypy/typeshed/stdlib/tkinter/dnd.pyi +0 -20
  1070. jaclang/vendor/mypy/typeshed/stdlib/tkinter/filedialog.pyi +0 -151
  1071. jaclang/vendor/mypy/typeshed/stdlib/tkinter/font.pyi +0 -116
  1072. jaclang/vendor/mypy/typeshed/stdlib/tkinter/messagebox.pyi +0 -44
  1073. jaclang/vendor/mypy/typeshed/stdlib/tkinter/scrolledtext.pyi +0 -9
  1074. jaclang/vendor/mypy/typeshed/stdlib/tkinter/simpledialog.pyi +0 -54
  1075. jaclang/vendor/mypy/typeshed/stdlib/tkinter/tix.pyi +0 -299
  1076. jaclang/vendor/mypy/typeshed/stdlib/tkinter/ttk.pyi +0 -1204
  1077. jaclang/vendor/mypy/typeshed/stdlib/token.pyi +0 -159
  1078. jaclang/vendor/mypy/typeshed/stdlib/tokenize.pyi +0 -177
  1079. jaclang/vendor/mypy/typeshed/stdlib/tomllib.pyi +0 -10
  1080. jaclang/vendor/mypy/typeshed/stdlib/trace.pyi +0 -79
  1081. jaclang/vendor/mypy/typeshed/stdlib/traceback.pyi +0 -262
  1082. jaclang/vendor/mypy/typeshed/stdlib/tracemalloc.pyi +0 -124
  1083. jaclang/vendor/mypy/typeshed/stdlib/tty.pyi +0 -30
  1084. jaclang/vendor/mypy/typeshed/stdlib/turtle.pyi +0 -713
  1085. jaclang/vendor/mypy/typeshed/stdlib/types.pyi +0 -614
  1086. jaclang/vendor/mypy/typeshed/stdlib/typing.pyi +0 -976
  1087. jaclang/vendor/mypy/typeshed/stdlib/typing_extensions.pyi +0 -509
  1088. jaclang/vendor/mypy/typeshed/stdlib/unicodedata.pyi +0 -73
  1089. jaclang/vendor/mypy/typeshed/stdlib/unittest/__init__.pyi +0 -67
  1090. jaclang/vendor/mypy/typeshed/stdlib/unittest/_log.pyi +0 -27
  1091. jaclang/vendor/mypy/typeshed/stdlib/unittest/async_case.pyi +0 -21
  1092. jaclang/vendor/mypy/typeshed/stdlib/unittest/case.pyi +0 -342
  1093. jaclang/vendor/mypy/typeshed/stdlib/unittest/loader.pyi +0 -51
  1094. jaclang/vendor/mypy/typeshed/stdlib/unittest/main.pyi +0 -69
  1095. jaclang/vendor/mypy/typeshed/stdlib/unittest/mock.pyi +0 -430
  1096. jaclang/vendor/mypy/typeshed/stdlib/unittest/result.pyi +0 -47
  1097. jaclang/vendor/mypy/typeshed/stdlib/unittest/runner.pyi +0 -72
  1098. jaclang/vendor/mypy/typeshed/stdlib/unittest/signals.pyi +0 -15
  1099. jaclang/vendor/mypy/typeshed/stdlib/unittest/suite.pyi +0 -22
  1100. jaclang/vendor/mypy/typeshed/stdlib/unittest/util.pyi +0 -23
  1101. jaclang/vendor/mypy/typeshed/stdlib/urllib/__init__.pyi +0 -0
  1102. jaclang/vendor/mypy/typeshed/stdlib/urllib/error.pyi +0 -23
  1103. jaclang/vendor/mypy/typeshed/stdlib/urllib/parse.pyi +0 -210
  1104. jaclang/vendor/mypy/typeshed/stdlib/urllib/request.pyi +0 -400
  1105. jaclang/vendor/mypy/typeshed/stdlib/urllib/response.pyi +0 -43
  1106. jaclang/vendor/mypy/typeshed/stdlib/urllib/robotparser.pyi +0 -20
  1107. jaclang/vendor/mypy/typeshed/stdlib/uu.pyi +0 -13
  1108. jaclang/vendor/mypy/typeshed/stdlib/uuid.pyi +0 -100
  1109. jaclang/vendor/mypy/typeshed/stdlib/warnings.pyi +0 -112
  1110. jaclang/vendor/mypy/typeshed/stdlib/wave.pyi +0 -85
  1111. jaclang/vendor/mypy/typeshed/stdlib/weakref.pyi +0 -149
  1112. jaclang/vendor/mypy/typeshed/stdlib/webbrowser.pyi +0 -74
  1113. jaclang/vendor/mypy/typeshed/stdlib/winreg.pyi +0 -132
  1114. jaclang/vendor/mypy/typeshed/stdlib/winsound.pyi +0 -28
  1115. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/__init__.pyi +0 -0
  1116. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/handlers.pyi +0 -91
  1117. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/headers.pyi +0 -26
  1118. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/simple_server.pyi +0 -37
  1119. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/types.pyi +0 -32
  1120. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/util.pyi +0 -24
  1121. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/validate.pyi +0 -50
  1122. jaclang/vendor/mypy/typeshed/stdlib/xdrlib.pyi +0 -57
  1123. jaclang/vendor/mypy/typeshed/stdlib/xml/__init__.pyi +0 -1
  1124. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/NodeFilter.pyi +0 -19
  1125. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/__init__.pyi +0 -69
  1126. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/domreg.pyi +0 -8
  1127. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/expatbuilder.pyi +0 -100
  1128. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/minicompat.pyi +0 -22
  1129. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/minidom.pyi +0 -404
  1130. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/pulldom.pyi +0 -94
  1131. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/xmlbuilder.pyi +0 -108
  1132. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementInclude.pyi +0 -28
  1133. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementPath.pyi +0 -34
  1134. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementTree.pyi +0 -327
  1135. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/__init__.pyi +0 -0
  1136. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/cElementTree.pyi +0 -1
  1137. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/__init__.pyi +0 -1
  1138. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/__init__.pyi +0 -1
  1139. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/errors.pyi +0 -1
  1140. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/model.pyi +0 -1
  1141. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/__init__.pyi +0 -25
  1142. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/_exceptions.pyi +0 -19
  1143. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/handler.pyi +0 -55
  1144. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/saxutils.pyi +0 -60
  1145. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/xmlreader.pyi +0 -87
  1146. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/__init__.pyi +0 -0
  1147. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/client.pyi +0 -296
  1148. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/server.pyi +0 -143
  1149. jaclang/vendor/mypy/typeshed/stdlib/xxlimited.pyi +0 -22
  1150. jaclang/vendor/mypy/typeshed/stdlib/zipapp.pyi +0 -20
  1151. jaclang/vendor/mypy/typeshed/stdlib/zipfile/__init__.pyi +0 -306
  1152. jaclang/vendor/mypy/typeshed/stdlib/zipfile/_path.pyi +0 -95
  1153. jaclang/vendor/mypy/typeshed/stdlib/zipimport.pyi +0 -32
  1154. jaclang/vendor/mypy/typeshed/stdlib/zlib.pyi +0 -56
  1155. jaclang/vendor/mypy/typeshed/stdlib/zoneinfo/__init__.pyi +0 -38
  1156. jaclang/vendor/mypy/typeshed/stubs/mypy-extensions/mypy_extensions.pyi +0 -218
  1157. jaclang/vendor/mypy/typestate.py +0 -323
  1158. jaclang/vendor/mypy/typetraverser.py +0 -148
  1159. jaclang/vendor/mypy/typevars.py +0 -93
  1160. jaclang/vendor/mypy/typevartuples.py +0 -32
  1161. jaclang/vendor/mypy/util.py +0 -869
  1162. jaclang/vendor/mypy/version.py +0 -1
  1163. jaclang/vendor/mypy/visitor.py +0 -621
  1164. jaclang/vendor/mypy/xml/mypy-html.css +0 -104
  1165. jaclang/vendor/mypy/xml/mypy-html.xslt +0 -81
  1166. jaclang/vendor/mypy/xml/mypy-txt.xslt +0 -100
  1167. jaclang/vendor/mypy/xml/mypy.xsd +0 -50
  1168. jaclang/vendor/mypy-1.10.0.dist-info/LICENSE +0 -229
  1169. jaclang/vendor/mypy-1.10.0.dist-info/METADATA +0 -48
  1170. jaclang/vendor/mypy-1.10.0.dist-info/RECORD +0 -1241
  1171. jaclang/vendor/mypy-1.10.0.dist-info/WHEEL +0 -6
  1172. jaclang/vendor/mypy-1.10.0.dist-info/entry_points.txt +0 -6
  1173. jaclang/vendor/mypy-1.10.0.dist-info/top_level.txt +0 -3
  1174. jaclang/vendor/mypy_extensions-1.0.0.dist-info/LICENSE +0 -27
  1175. jaclang/vendor/mypy_extensions-1.0.0.dist-info/METADATA +0 -29
  1176. jaclang/vendor/mypy_extensions-1.0.0.dist-info/RECORD +0 -6
  1177. jaclang/vendor/mypy_extensions-1.0.0.dist-info/top_level.txt +0 -1
  1178. jaclang/vendor/mypy_extensions.py +0 -213
  1179. jaclang/vendor/mypyc/README.md +0 -133
  1180. jaclang/vendor/mypyc/__init__.py +0 -0
  1181. jaclang/vendor/mypyc/__main__.py +0 -57
  1182. jaclang/vendor/mypyc/analysis/__init__.py +0 -0
  1183. jaclang/vendor/mypyc/analysis/attrdefined.py +0 -436
  1184. jaclang/vendor/mypyc/analysis/blockfreq.py +0 -32
  1185. jaclang/vendor/mypyc/analysis/dataflow.py +0 -628
  1186. jaclang/vendor/mypyc/analysis/ircheck.py +0 -433
  1187. jaclang/vendor/mypyc/analysis/selfleaks.py +0 -211
  1188. jaclang/vendor/mypyc/build.py +0 -616
  1189. jaclang/vendor/mypyc/codegen/__init__.py +0 -0
  1190. jaclang/vendor/mypyc/codegen/cstring.py +0 -54
  1191. jaclang/vendor/mypyc/codegen/emit.py +0 -1193
  1192. jaclang/vendor/mypyc/codegen/emitclass.py +0 -1060
  1193. jaclang/vendor/mypyc/codegen/emitfunc.py +0 -852
  1194. jaclang/vendor/mypyc/codegen/emitmodule.py +0 -1136
  1195. jaclang/vendor/mypyc/codegen/emitwrapper.py +0 -979
  1196. jaclang/vendor/mypyc/codegen/literals.py +0 -302
  1197. jaclang/vendor/mypyc/common.py +0 -136
  1198. jaclang/vendor/mypyc/crash.py +0 -31
  1199. jaclang/vendor/mypyc/doc/Makefile +0 -20
  1200. jaclang/vendor/mypyc/doc/bool_operations.rst +0 -27
  1201. jaclang/vendor/mypyc/doc/compilation_units.rst +0 -20
  1202. jaclang/vendor/mypyc/doc/conf.py +0 -59
  1203. jaclang/vendor/mypyc/doc/cpython-timings.md +0 -25
  1204. jaclang/vendor/mypyc/doc/dev-intro.md +0 -548
  1205. jaclang/vendor/mypyc/doc/dict_operations.rst +0 -59
  1206. jaclang/vendor/mypyc/doc/differences_from_python.rst +0 -332
  1207. jaclang/vendor/mypyc/doc/float_operations.rst +0 -50
  1208. jaclang/vendor/mypyc/doc/future.md +0 -42
  1209. jaclang/vendor/mypyc/doc/getting_started.rst +0 -240
  1210. jaclang/vendor/mypyc/doc/index.rst +0 -61
  1211. jaclang/vendor/mypyc/doc/int_operations.rst +0 -162
  1212. jaclang/vendor/mypyc/doc/introduction.rst +0 -150
  1213. jaclang/vendor/mypyc/doc/list_operations.rst +0 -65
  1214. jaclang/vendor/mypyc/doc/make.bat +0 -35
  1215. jaclang/vendor/mypyc/doc/native_classes.rst +0 -206
  1216. jaclang/vendor/mypyc/doc/native_operations.rst +0 -55
  1217. jaclang/vendor/mypyc/doc/performance_tips_and_tricks.rst +0 -244
  1218. jaclang/vendor/mypyc/doc/set_operations.rst +0 -47
  1219. jaclang/vendor/mypyc/doc/str_operations.rst +0 -35
  1220. jaclang/vendor/mypyc/doc/tuple_operations.rst +0 -33
  1221. jaclang/vendor/mypyc/doc/using_type_annotations.rst +0 -398
  1222. jaclang/vendor/mypyc/errors.py +0 -29
  1223. jaclang/vendor/mypyc/external/googletest/LICENSE +0 -28
  1224. jaclang/vendor/mypyc/external/googletest/README.md +0 -280
  1225. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-death-test.h +0 -294
  1226. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-message.h +0 -250
  1227. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-param-test.h +0 -1444
  1228. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-param-test.h.pump +0 -510
  1229. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-printers.h +0 -993
  1230. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-spi.h +0 -232
  1231. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-test-part.h +0 -179
  1232. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-typed-test.h +0 -263
  1233. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest.h +0 -2236
  1234. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest_pred_impl.h +0 -358
  1235. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest_prod.h +0 -58
  1236. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest-port.h +0 -69
  1237. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest-printers.h +0 -42
  1238. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest.h +0 -41
  1239. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-death-test-internal.h +0 -319
  1240. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-filepath.h +0 -206
  1241. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-internal.h +0 -1238
  1242. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-linked_ptr.h +0 -243
  1243. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h +0 -5146
  1244. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h.pump +0 -286
  1245. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util.h +0 -731
  1246. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-port-arch.h +0 -93
  1247. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-port.h +0 -2560
  1248. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-string.h +0 -167
  1249. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-tuple.h +0 -1020
  1250. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-tuple.h.pump +0 -347
  1251. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-type-util.h +0 -3331
  1252. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-type-util.h.pump +0 -297
  1253. jaclang/vendor/mypyc/external/googletest/make/Makefile +0 -61
  1254. jaclang/vendor/mypyc/external/googletest/src/gtest-all.cc +0 -48
  1255. jaclang/vendor/mypyc/external/googletest/src/gtest-death-test.cc +0 -1342
  1256. jaclang/vendor/mypyc/external/googletest/src/gtest-filepath.cc +0 -387
  1257. jaclang/vendor/mypyc/external/googletest/src/gtest-internal-inl.h +0 -1183
  1258. jaclang/vendor/mypyc/external/googletest/src/gtest-port.cc +0 -1259
  1259. jaclang/vendor/mypyc/external/googletest/src/gtest-printers.cc +0 -373
  1260. jaclang/vendor/mypyc/external/googletest/src/gtest-test-part.cc +0 -110
  1261. jaclang/vendor/mypyc/external/googletest/src/gtest-typed-test.cc +0 -118
  1262. jaclang/vendor/mypyc/external/googletest/src/gtest.cc +0 -5388
  1263. jaclang/vendor/mypyc/external/googletest/src/gtest_main.cc +0 -38
  1264. jaclang/vendor/mypyc/ir/__init__.py +0 -0
  1265. jaclang/vendor/mypyc/ir/class_ir.py +0 -499
  1266. jaclang/vendor/mypyc/ir/func_ir.py +0 -370
  1267. jaclang/vendor/mypyc/ir/module_ir.py +0 -88
  1268. jaclang/vendor/mypyc/ir/ops.py +0 -1727
  1269. jaclang/vendor/mypyc/ir/pprint.py +0 -516
  1270. jaclang/vendor/mypyc/ir/rtypes.py +0 -1038
  1271. jaclang/vendor/mypyc/irbuild/__init__.py +0 -0
  1272. jaclang/vendor/mypyc/irbuild/ast_helpers.py +0 -123
  1273. jaclang/vendor/mypyc/irbuild/builder.py +0 -1394
  1274. jaclang/vendor/mypyc/irbuild/callable_class.py +0 -173
  1275. jaclang/vendor/mypyc/irbuild/classdef.py +0 -850
  1276. jaclang/vendor/mypyc/irbuild/constant_fold.py +0 -95
  1277. jaclang/vendor/mypyc/irbuild/context.py +0 -186
  1278. jaclang/vendor/mypyc/irbuild/env_class.py +0 -223
  1279. jaclang/vendor/mypyc/irbuild/expression.py +0 -1070
  1280. jaclang/vendor/mypyc/irbuild/for_helpers.py +0 -1075
  1281. jaclang/vendor/mypyc/irbuild/format_str_tokenizer.py +0 -250
  1282. jaclang/vendor/mypyc/irbuild/function.py +0 -1088
  1283. jaclang/vendor/mypyc/irbuild/generator.py +0 -346
  1284. jaclang/vendor/mypyc/irbuild/ll_builder.py +0 -2389
  1285. jaclang/vendor/mypyc/irbuild/main.py +0 -153
  1286. jaclang/vendor/mypyc/irbuild/mapper.py +0 -221
  1287. jaclang/vendor/mypyc/irbuild/match.py +0 -355
  1288. jaclang/vendor/mypyc/irbuild/nonlocalcontrol.py +0 -197
  1289. jaclang/vendor/mypyc/irbuild/prebuildvisitor.py +0 -203
  1290. jaclang/vendor/mypyc/irbuild/prepare.py +0 -609
  1291. jaclang/vendor/mypyc/irbuild/specialize.py +0 -822
  1292. jaclang/vendor/mypyc/irbuild/statement.py +0 -1017
  1293. jaclang/vendor/mypyc/irbuild/targets.py +0 -57
  1294. jaclang/vendor/mypyc/irbuild/util.py +0 -189
  1295. jaclang/vendor/mypyc/irbuild/visitor.py +0 -401
  1296. jaclang/vendor/mypyc/irbuild/vtable.py +0 -82
  1297. jaclang/vendor/mypyc/lib-rt/CPy.h +0 -638
  1298. jaclang/vendor/mypyc/lib-rt/bytes_ops.c +0 -143
  1299. jaclang/vendor/mypyc/lib-rt/dict_ops.c +0 -446
  1300. jaclang/vendor/mypyc/lib-rt/exc_ops.c +0 -259
  1301. jaclang/vendor/mypyc/lib-rt/float_ops.c +0 -192
  1302. jaclang/vendor/mypyc/lib-rt/generic_ops.c +0 -64
  1303. jaclang/vendor/mypyc/lib-rt/getargs.c +0 -450
  1304. jaclang/vendor/mypyc/lib-rt/getargsfast.c +0 -569
  1305. jaclang/vendor/mypyc/lib-rt/init.c +0 -13
  1306. jaclang/vendor/mypyc/lib-rt/int_ops.c +0 -803
  1307. jaclang/vendor/mypyc/lib-rt/list_ops.c +0 -335
  1308. jaclang/vendor/mypyc/lib-rt/misc_ops.c +0 -942
  1309. jaclang/vendor/mypyc/lib-rt/module_shim.tmpl +0 -18
  1310. jaclang/vendor/mypyc/lib-rt/mypyc_util.h +0 -118
  1311. jaclang/vendor/mypyc/lib-rt/pythoncapi_compat.h +0 -497
  1312. jaclang/vendor/mypyc/lib-rt/pythonsupport.h +0 -533
  1313. jaclang/vendor/mypyc/lib-rt/set_ops.c +0 -17
  1314. jaclang/vendor/mypyc/lib-rt/setup.py +0 -70
  1315. jaclang/vendor/mypyc/lib-rt/str_ops.c +0 -241
  1316. jaclang/vendor/mypyc/lib-rt/test_capi.cc +0 -585
  1317. jaclang/vendor/mypyc/lib-rt/tuple_ops.c +0 -61
  1318. jaclang/vendor/mypyc/lower/__init__.py +0 -0
  1319. jaclang/vendor/mypyc/lower/int_ops.py +0 -113
  1320. jaclang/vendor/mypyc/lower/list_ops.py +0 -45
  1321. jaclang/vendor/mypyc/lower/misc_ops.py +0 -12
  1322. jaclang/vendor/mypyc/lower/registry.py +0 -26
  1323. jaclang/vendor/mypyc/namegen.py +0 -115
  1324. jaclang/vendor/mypyc/options.py +0 -32
  1325. jaclang/vendor/mypyc/primitives/__init__.py +0 -0
  1326. jaclang/vendor/mypyc/primitives/bytes_ops.py +0 -101
  1327. jaclang/vendor/mypyc/primitives/dict_ops.py +0 -325
  1328. jaclang/vendor/mypyc/primitives/exc_ops.py +0 -101
  1329. jaclang/vendor/mypyc/primitives/float_ops.py +0 -168
  1330. jaclang/vendor/mypyc/primitives/generic_ops.py +0 -384
  1331. jaclang/vendor/mypyc/primitives/int_ops.py +0 -303
  1332. jaclang/vendor/mypyc/primitives/list_ops.py +0 -310
  1333. jaclang/vendor/mypyc/primitives/misc_ops.py +0 -267
  1334. jaclang/vendor/mypyc/primitives/registry.py +0 -360
  1335. jaclang/vendor/mypyc/primitives/set_ops.py +0 -121
  1336. jaclang/vendor/mypyc/primitives/str_ops.py +0 -229
  1337. jaclang/vendor/mypyc/primitives/tuple_ops.py +0 -83
  1338. jaclang/vendor/mypyc/rt_subtype.py +0 -77
  1339. jaclang/vendor/mypyc/sametype.py +0 -83
  1340. jaclang/vendor/mypyc/subtype.py +0 -88
  1341. jaclang/vendor/mypyc/test/__init__.py +0 -0
  1342. jaclang/vendor/mypyc/test/config.py +0 -13
  1343. jaclang/vendor/mypyc/test/test_alwaysdefined.py +0 -46
  1344. jaclang/vendor/mypyc/test/test_analysis.py +0 -77
  1345. jaclang/vendor/mypyc/test/test_cheader.py +0 -53
  1346. jaclang/vendor/mypyc/test/test_commandline.py +0 -82
  1347. jaclang/vendor/mypyc/test/test_emit.py +0 -69
  1348. jaclang/vendor/mypyc/test/test_emitclass.py +0 -35
  1349. jaclang/vendor/mypyc/test/test_emitfunc.py +0 -928
  1350. jaclang/vendor/mypyc/test/test_emitwrapper.py +0 -60
  1351. jaclang/vendor/mypyc/test/test_exceptions.py +0 -56
  1352. jaclang/vendor/mypyc/test/test_external.py +0 -49
  1353. jaclang/vendor/mypyc/test/test_irbuild.py +0 -87
  1354. jaclang/vendor/mypyc/test/test_ircheck.py +0 -199
  1355. jaclang/vendor/mypyc/test/test_literals.py +0 -90
  1356. jaclang/vendor/mypyc/test/test_lowering.py +0 -56
  1357. jaclang/vendor/mypyc/test/test_namegen.py +0 -48
  1358. jaclang/vendor/mypyc/test/test_optimizations.py +0 -68
  1359. jaclang/vendor/mypyc/test/test_pprint.py +0 -42
  1360. jaclang/vendor/mypyc/test/test_rarray.py +0 -48
  1361. jaclang/vendor/mypyc/test/test_refcount.py +0 -59
  1362. jaclang/vendor/mypyc/test/test_run.py +0 -426
  1363. jaclang/vendor/mypyc/test/test_serialization.py +0 -108
  1364. jaclang/vendor/mypyc/test/test_struct.py +0 -112
  1365. jaclang/vendor/mypyc/test/test_tuplename.py +0 -33
  1366. jaclang/vendor/mypyc/test/test_typeops.py +0 -97
  1367. jaclang/vendor/mypyc/test/testutil.py +0 -283
  1368. jaclang/vendor/mypyc/test-data/alwaysdefined.test +0 -732
  1369. jaclang/vendor/mypyc/test-data/analysis.test +0 -470
  1370. jaclang/vendor/mypyc/test-data/commandline.test +0 -245
  1371. jaclang/vendor/mypyc/test-data/driver/driver.py +0 -48
  1372. jaclang/vendor/mypyc/test-data/exceptions-freq.test +0 -125
  1373. jaclang/vendor/mypyc/test-data/exceptions.test +0 -699
  1374. jaclang/vendor/mypyc/test-data/fixtures/ir.py +0 -373
  1375. jaclang/vendor/mypyc/test-data/fixtures/testutil.py +0 -103
  1376. jaclang/vendor/mypyc/test-data/fixtures/typing-full.pyi +0 -169
  1377. jaclang/vendor/mypyc/test-data/irbuild-any.test +0 -236
  1378. jaclang/vendor/mypyc/test-data/irbuild-basic.test +0 -3399
  1379. jaclang/vendor/mypyc/test-data/irbuild-bool.test +0 -424
  1380. jaclang/vendor/mypyc/test-data/irbuild-bytes.test +0 -181
  1381. jaclang/vendor/mypyc/test-data/irbuild-classes.test +0 -1302
  1382. jaclang/vendor/mypyc/test-data/irbuild-constant-fold.test +0 -480
  1383. jaclang/vendor/mypyc/test-data/irbuild-dict.test +0 -584
  1384. jaclang/vendor/mypyc/test-data/irbuild-dunders.test +0 -215
  1385. jaclang/vendor/mypyc/test-data/irbuild-float.test +0 -497
  1386. jaclang/vendor/mypyc/test-data/irbuild-generics.test +0 -150
  1387. jaclang/vendor/mypyc/test-data/irbuild-glue-methods.test +0 -437
  1388. jaclang/vendor/mypyc/test-data/irbuild-i16.test +0 -526
  1389. jaclang/vendor/mypyc/test-data/irbuild-i32.test +0 -598
  1390. jaclang/vendor/mypyc/test-data/irbuild-i64.test +0 -2144
  1391. jaclang/vendor/mypyc/test-data/irbuild-int.test +0 -194
  1392. jaclang/vendor/mypyc/test-data/irbuild-isinstance.test +0 -109
  1393. jaclang/vendor/mypyc/test-data/irbuild-lists.test +0 -513
  1394. jaclang/vendor/mypyc/test-data/irbuild-match.test +0 -1717
  1395. jaclang/vendor/mypyc/test-data/irbuild-math.test +0 -64
  1396. jaclang/vendor/mypyc/test-data/irbuild-nested.test +0 -807
  1397. jaclang/vendor/mypyc/test-data/irbuild-optional.test +0 -536
  1398. jaclang/vendor/mypyc/test-data/irbuild-set.test +0 -806
  1399. jaclang/vendor/mypyc/test-data/irbuild-singledispatch.test +0 -257
  1400. jaclang/vendor/mypyc/test-data/irbuild-statements.test +0 -1060
  1401. jaclang/vendor/mypyc/test-data/irbuild-str.test +0 -312
  1402. jaclang/vendor/mypyc/test-data/irbuild-strip-asserts.test +0 -12
  1403. jaclang/vendor/mypyc/test-data/irbuild-try.test +0 -523
  1404. jaclang/vendor/mypyc/test-data/irbuild-tuple.test +0 -386
  1405. jaclang/vendor/mypyc/test-data/irbuild-u8.test +0 -543
  1406. jaclang/vendor/mypyc/test-data/irbuild-unreachable.test +0 -241
  1407. jaclang/vendor/mypyc/test-data/irbuild-vectorcall.test +0 -153
  1408. jaclang/vendor/mypyc/test-data/lowering-int.test +0 -377
  1409. jaclang/vendor/mypyc/test-data/lowering-list.test +0 -33
  1410. jaclang/vendor/mypyc/test-data/opt-copy-propagation.test +0 -400
  1411. jaclang/vendor/mypyc/test-data/opt-flag-elimination.test +0 -296
  1412. jaclang/vendor/mypyc/test-data/refcount.test +0 -1482
  1413. jaclang/vendor/mypyc/test-data/run-async.test +0 -173
  1414. jaclang/vendor/mypyc/test-data/run-attrs.test +0 -318
  1415. jaclang/vendor/mypyc/test-data/run-bench.test +0 -196
  1416. jaclang/vendor/mypyc/test-data/run-bools.test +0 -229
  1417. jaclang/vendor/mypyc/test-data/run-bytes.test +0 -302
  1418. jaclang/vendor/mypyc/test-data/run-classes.test +0 -2505
  1419. jaclang/vendor/mypyc/test-data/run-dicts.test +0 -334
  1420. jaclang/vendor/mypyc/test-data/run-dunders.test +0 -945
  1421. jaclang/vendor/mypyc/test-data/run-exceptions.test +0 -448
  1422. jaclang/vendor/mypyc/test-data/run-floats.test +0 -516
  1423. jaclang/vendor/mypyc/test-data/run-functions.test +0 -1310
  1424. jaclang/vendor/mypyc/test-data/run-generators.test +0 -682
  1425. jaclang/vendor/mypyc/test-data/run-i16.test +0 -338
  1426. jaclang/vendor/mypyc/test-data/run-i32.test +0 -336
  1427. jaclang/vendor/mypyc/test-data/run-i64.test +0 -1519
  1428. jaclang/vendor/mypyc/test-data/run-imports.test +0 -265
  1429. jaclang/vendor/mypyc/test-data/run-integers.test +0 -540
  1430. jaclang/vendor/mypyc/test-data/run-lists.test +0 -411
  1431. jaclang/vendor/mypyc/test-data/run-loops.test +0 -485
  1432. jaclang/vendor/mypyc/test-data/run-match.test +0 -283
  1433. jaclang/vendor/mypyc/test-data/run-math.test +0 -106
  1434. jaclang/vendor/mypyc/test-data/run-misc.test +0 -1170
  1435. jaclang/vendor/mypyc/test-data/run-multimodule.test +0 -887
  1436. jaclang/vendor/mypyc/test-data/run-mypy-sim.test +0 -138
  1437. jaclang/vendor/mypyc/test-data/run-primitives.test +0 -375
  1438. jaclang/vendor/mypyc/test-data/run-python37.test +0 -159
  1439. jaclang/vendor/mypyc/test-data/run-python38.test +0 -88
  1440. jaclang/vendor/mypyc/test-data/run-sets.test +0 -150
  1441. jaclang/vendor/mypyc/test-data/run-singledispatch.test +0 -698
  1442. jaclang/vendor/mypyc/test-data/run-strings.test +0 -641
  1443. jaclang/vendor/mypyc/test-data/run-traits.test +0 -411
  1444. jaclang/vendor/mypyc/test-data/run-tuples.test +0 -258
  1445. jaclang/vendor/mypyc/test-data/run-u8.test +0 -303
  1446. jaclang/vendor/mypyc/transform/__init__.py +0 -0
  1447. jaclang/vendor/mypyc/transform/copy_propagation.py +0 -94
  1448. jaclang/vendor/mypyc/transform/exceptions.py +0 -182
  1449. jaclang/vendor/mypyc/transform/flag_elimination.py +0 -108
  1450. jaclang/vendor/mypyc/transform/ir_transform.py +0 -368
  1451. jaclang/vendor/mypyc/transform/lower.py +0 -33
  1452. jaclang/vendor/mypyc/transform/refcount.py +0 -294
  1453. jaclang/vendor/mypyc/transform/uninit.py +0 -190
  1454. jaclang/vendor/typing_extensions-4.12.2.dist-info/LICENSE +0 -279
  1455. jaclang/vendor/typing_extensions-4.12.2.dist-info/METADATA +0 -67
  1456. jaclang/vendor/typing_extensions-4.12.2.dist-info/RECORD +0 -5
  1457. jaclang/vendor/typing_extensions-4.12.2.dist-info/WHEEL +0 -4
  1458. jaclang/vendor/typing_extensions.py +0 -3641
  1459. jaclang-0.7.33.dist-info/RECORD +0 -1562
  1460. /jaclang/{vendor/mypy/dmypy → compiler/larkparse}/__init__.py +0 -0
  1461. /jaclang/{tests → compiler/passes/main/tests}/fixtures/access_checker.jac +0 -0
  1462. /jaclang/{vendor/mypy/plugins/__init__.py → langserve/tests/fixtures/deep_check_crash.jac} +0 -0
  1463. /jaclang/{vendor/mypy/server/__init__.py → langserve/tests/server_test/code_test.py} +0 -0
  1464. /jaclang/{plugin → runtimelib}/tests/__init__.py +0 -0
  1465. /jaclang/{plugin → runtimelib}/tests/fixtures/traversing_save.jac +0 -0
  1466. /jaclang/{vendor/mypy/test → tests}/__init__.py +0 -0
  1467. /jaclang/{vendor/mypy/test/meta → tests/fixtures}/__init__.py +0 -0
  1468. /jaclang/tests/fixtures/{architype_def_bug.jac → archetype_def_bug.jac} +0 -0
  1469. /jaclang/vendor/{mypy/typeshed/stdlib/concurrent/__init__.pyi → attrs-25.3.0.dist-info/REQUESTED} +0 -0
  1470. /jaclang/vendor/{attrs-23.2.0.dist-info → attrs-25.3.0.dist-info}/licenses/LICENSE +0 -0
  1471. /jaclang/vendor/{mypy/typeshed/stdlib/distutils/command/__init__.pyi → cattrs-24.1.3.dist-info/REQUESTED} +0 -0
  1472. /jaclang/vendor/{cattrs-23.2.3.dist-info → cattrs-24.1.3.dist-info}/licenses/LICENSE +0 -0
  1473. /jaclang/vendor/{mypy/typeshed/stdlib/distutils/command/bdist_packager.pyi → lark-1.2.2.dist-info/REQUESTED} +0 -0
  1474. /jaclang/vendor/{lark-1.1.9.dist-info → lark-1.2.2.dist-info}/entry_points.txt +0 -0
  1475. /jaclang/vendor/{lark-1.1.9.dist-info → lark-1.2.2.dist-info}/top_level.txt +0 -0
  1476. /jaclang/vendor/{mypy/typeshed/stdlib/email/mime/__init__.pyi → lsprotocol-2023.0.1.dist-info/REQUESTED} +0 -0
  1477. /jaclang/vendor/lsprotocol-2023.0.1.dist-info/{LICENSE → licenses/LICENSE} +0 -0
  1478. /jaclang/vendor/{mypy/typeshed/stdlib/lib2to3/__init__.pyi → pluggy-1.5.0.dist-info/REQUESTED} +0 -0
  1479. /jaclang/vendor/pluggy-1.5.0.dist-info/{LICENSE → licenses/LICENSE} +0 -0
  1480. /jaclang/vendor/{mypy/typeshed/stdlib/lib2to3/fixes/__init__.pyi → pygls-1.3.1.dist-info/REQUESTED} +0 -0
  1481. {jaclang-0.7.33.dist-info → jaclang-0.8.0.dist-info}/entry_points.txt +0 -0
@@ -1,2505 +0,0 @@
1
- [case testEmptyClass]
2
- class Empty: pass
3
-
4
- def f(e: Empty) -> Empty:
5
- return e
6
- [file driver.py]
7
- from native import Empty, f
8
-
9
- print(isinstance(Empty, type))
10
- print(Empty)
11
- print(str(Empty())[:20])
12
-
13
- e = Empty()
14
- print(f(e) is e)
15
- [out]
16
- True
17
- <class 'native.Empty'>
18
- <native.Empty object
19
- True
20
-
21
- [case testClassWithFields]
22
- class C:
23
- x: int
24
- y: int
25
- z: 'D'
26
- class D:
27
- pass
28
- [file driver.py]
29
- from native import C
30
- from testutil import assertRaises
31
-
32
- c = C()
33
- assert not hasattr(c, 'x')
34
- assert not hasattr(c, 'y')
35
- c.x = 1
36
- c.y = 2
37
- print(c.x)
38
- print(c.y)
39
- c.x = 10**30
40
- print(c.x)
41
- c.x = 10**30+1
42
- print(c.x)
43
- assert hasattr(c, 'x')
44
- assert hasattr(c, 'y')
45
- assert not hasattr(c, 'z')
46
- with assertRaises(AttributeError, "'C' object attribute 'x' cannot be deleted"):
47
- del c.x
48
- assert hasattr(c, 'x')
49
- assert hasattr(c, 'y')
50
- with assertRaises(AttributeError, "'C' object attribute 'y' cannot be deleted"):
51
- del c.y
52
- assert hasattr(c, 'y')
53
- c.x = 10**30+2
54
- print(c.x)
55
- assert hasattr(c, 'x')
56
- [out]
57
- 1
58
- 2
59
- 1000000000000000000000000000000
60
- 1000000000000000000000000000001
61
- 1000000000000000000000000000002
62
-
63
- [case testClassWithDeletableAttributes]
64
- from typing import Any, cast
65
- from testutil import assertRaises
66
-
67
- class C:
68
- __deletable__ = ['x', 'y']
69
- x: int
70
- y: int
71
- z: int
72
-
73
- def test_delete() -> None:
74
- c = C()
75
- c.x = 1
76
- c.y = 2
77
- c.z = 3
78
- del c.x
79
- del c.y
80
- assert c.z == 3
81
- with assertRaises(AttributeError, "attribute 'x' of 'C' undefined"):
82
- c.x
83
- with assertRaises(AttributeError, "attribute 'y' of 'C' undefined"):
84
- c.y
85
-
86
- def test_delete_any() -> None:
87
- c: Any = C()
88
- c.x = 1
89
- c.y = 2
90
- c.z = 3
91
- del c.x
92
- del c.y
93
- with assertRaises(AttributeError, "'C' object attribute 'z' cannot be deleted"):
94
- del c.z
95
- assert c.z == 3
96
- with assertRaises(AttributeError):
97
- c.x
98
- with assertRaises(AttributeError):
99
- c.y
100
-
101
- class Base:
102
- __deletable__ = ['a']
103
- a: int
104
- b: int
105
-
106
- class Deriv(Base):
107
- __deletable__ = ('c',)
108
- c: str
109
- d: str
110
-
111
- def test_delete_with_inheritance() -> None:
112
- d = Deriv()
113
- d.a = 0
114
- d.b = 1
115
- d.c = 'X'
116
- d.d = 'Y'
117
- del d.a
118
- with assertRaises(AttributeError):
119
- d.a
120
- del d.c
121
- with assertRaises(AttributeError):
122
- d.c
123
- assert d.b == 1
124
- assert d.d == 'Y'
125
-
126
- def test_delete_with_inheritance_any() -> None:
127
- d: Any = Deriv()
128
- d.a = 0
129
- d.b = 1
130
- d.c = 'X'
131
- d.d = 'Y'
132
- del d.a
133
- with assertRaises(AttributeError):
134
- d.a
135
- del d.c
136
- with assertRaises(AttributeError):
137
- d.c
138
- with assertRaises(AttributeError):
139
- del d.b
140
- assert d.b == 1
141
- with assertRaises(AttributeError):
142
- del d.d
143
- assert d.d == 'Y'
144
-
145
- def decorator(cls):
146
- return cls
147
-
148
- @decorator
149
- class NonExt:
150
- x: int
151
- y: int
152
-
153
- # No effect in a non-native class
154
- __deletable__ = ['x']
155
-
156
- def test_non_ext() -> None:
157
- n = NonExt()
158
- n.x = 2
159
- n.y = 3
160
- del n.x
161
- del n.y
162
- with assertRaises(AttributeError):
163
- n.x
164
- with assertRaises(AttributeError):
165
- n.y
166
-
167
- def test_non_ext_any() -> None:
168
- n: Any = NonExt()
169
- n.x = 2
170
- n.y = 3
171
- del n.x
172
- del n.y
173
- with assertRaises(AttributeError):
174
- n.x
175
- with assertRaises(AttributeError):
176
- n.y
177
-
178
- [case testNonExtMisc]
179
- from typing import Any, overload
180
-
181
- def decorator(cls) -> Any:
182
- return cls
183
-
184
- @decorator
185
- class C:
186
- def __init__(self) -> None:
187
- self.c = 3
188
-
189
- def get_c(self) -> int:
190
- return self.c
191
-
192
- @decorator
193
- class B(C):
194
- def __init__(self) -> None:
195
- super().__init__()
196
- self.b = 2
197
-
198
- def get_b(self) -> int:
199
- return self.b
200
-
201
- @decorator
202
- class A(B):
203
- def __init__(self) -> None:
204
- super().__init__()
205
- self.a = 1
206
-
207
- @classmethod
208
- def constant(cls) -> int:
209
- return 4
210
-
211
- def get_a(self) -> int:
212
- return self.a
213
-
214
- @decorator
215
- class Overload:
216
- @overload
217
- def get(self, index: int) -> int: ...
218
-
219
- @overload
220
- def get(self, index: str) -> str: ...
221
-
222
- def get(self, index: Any) -> Any:
223
- return index
224
-
225
- def get(c: Overload, s: str) -> str:
226
- return c.get(s)
227
-
228
- @decorator
229
- class Var:
230
- x = 'xy'
231
-
232
- def get_class_var() -> str:
233
- return Var.x
234
-
235
- [file driver.py]
236
- from native import A, Overload, get, get_class_var
237
- a = A()
238
- assert a.a == 1
239
- assert a.b == 2
240
- assert a.c == 3
241
- assert a.get_a() == 1
242
- assert a.get_b() == 2
243
- assert a.get_c() == 3
244
- assert A.constant() == 4
245
-
246
- o = Overload()
247
- assert get(o, "test") == "test"
248
- assert o.get(20) == 20
249
-
250
- assert get_class_var() == 'xy'
251
-
252
- [case testEnum]
253
- from enum import Enum
254
-
255
- class TestEnum(Enum):
256
- _order_ = "a b"
257
- a : int = 1
258
- b : int = 2
259
-
260
- @classmethod
261
- def test(cls) -> int:
262
- return 3
263
-
264
- assert TestEnum.test() == 3
265
-
266
- import enum
267
-
268
- class Pokemon(enum.Enum):
269
- magikarp = 1
270
- squirtle = 2
271
- slowbro = 3
272
-
273
- assert Pokemon.magikarp.value == 1
274
- assert Pokemon.squirtle.name == 'squirtle'
275
-
276
- [file other.py]
277
- # Force a multi-module test to make sure we can compile multi-file with
278
- # non-extension classes
279
-
280
- [file driver.py]
281
- import sys
282
- # "_order_" isn't supported in 3.5
283
- if sys.version_info[:2] > (3, 5):
284
- from native import TestEnum
285
- assert TestEnum.a.name == 'a'
286
- assert TestEnum.a.value == 1
287
- assert TestEnum.b.name == 'b'
288
- assert TestEnum.b.value == 2
289
-
290
- [case testGetAttribute]
291
- class C:
292
- x: int
293
- y: int
294
-
295
- def getx(c: C) -> int:
296
- return c.x
297
-
298
- def gety(c: C) -> int:
299
- return c.y
300
- [file driver.py]
301
- from native import C, getx, gety
302
- c = C()
303
- c.x = 10**30
304
- c.y = 10**30 + 1
305
- print(getx(c))
306
- print(gety(c))
307
- [out]
308
- 1000000000000000000000000000000
309
- 1000000000000000000000000000001
310
-
311
- [case testSetAttribute]
312
- class C:
313
- x: int
314
- y: int
315
-
316
- def setx(c: C, v: int) -> None:
317
- c.x = v
318
-
319
- def sety(c: C, v: int) -> None:
320
- c.y = v
321
- [file driver.py]
322
- from native import C, setx, sety
323
- c = C()
324
- setx(c, 10**30)
325
- sety(c, 10**30 + 1)
326
- print(c.x)
327
- print(c.y)
328
- setx(c, 4)
329
- sety(c, 5)
330
- print(c.x, c.y)
331
- setx(c, 10**30 + 2)
332
- sety(c, 10**30 + 3)
333
- print(c.x)
334
- print(c.y)
335
- [out]
336
- 1000000000000000000000000000000
337
- 1000000000000000000000000000001
338
- 4 5
339
- 1000000000000000000000000000002
340
- 1000000000000000000000000000003
341
-
342
- [case testAttributeTypes]
343
- from typing import List, Tuple
344
- class C:
345
- a: List[int]
346
- b: bool
347
- c: C
348
- d: object
349
- e: int
350
-
351
- def setattrs(o: C, a: List[int], b: bool, c: C) -> None:
352
- o.a = a
353
- o.b = b
354
- o.c = c
355
-
356
- def getattrs(o: C) -> Tuple[List[int], bool, C]:
357
- return o.a, o.b, o.c
358
- [file driver.py]
359
- from native import C, setattrs, getattrs
360
- from testutil import assertRaises
361
-
362
- c1 = C()
363
- c2 = C()
364
- aa = [2]
365
- setattrs(c1, aa, True, c2)
366
- a, b, c = getattrs(c1)
367
- assert a is aa
368
- assert b is True
369
- assert c is c2
370
-
371
- o = object()
372
- c1.d = o
373
- assert c1.d is o
374
-
375
- c3 = C()
376
- with assertRaises(AttributeError, "attribute 'a' of 'C' undefined"):
377
- c3.a
378
- with assertRaises(AttributeError, "attribute 'b' of 'C' undefined"):
379
- c3.b
380
- with assertRaises(AttributeError, "attribute 'c' of 'C' undefined"):
381
- c3.c
382
- with assertRaises(AttributeError, "attribute 'd' of 'C' undefined"):
383
- c3.d
384
- with assertRaises(AttributeError, "attribute 'e' of 'C' undefined"):
385
- c3.e
386
-
387
- [case testInitMethodWithMissingNoneReturnAnnotation]
388
- class C:
389
- def __init__(self):
390
- self.x = 42
391
- [file driver.py]
392
- from native import C
393
- c = C()
394
- assert c is not None
395
- assert c.x == 42
396
-
397
- [case testConstructClassWithDefaultConstructor]
398
- class C:
399
- a: int
400
- b: int
401
-
402
- def f() -> C:
403
- c = C()
404
- c.a = 13
405
- return c
406
- [file driver.py]
407
- from native import f, C
408
- c = f()
409
- assert c.a == 13
410
- assert type(c) == C
411
- assert not hasattr(c, 'b')
412
-
413
- [case testCastUserClass]
414
- from typing import List
415
-
416
- class C:
417
- x: int
418
-
419
- def f(a: List[C]) -> C:
420
- return a[0]
421
- [file driver.py]
422
- from native import f, C
423
- c = C()
424
- assert f([c]) is c
425
-
426
- [case testClass1]
427
- class A:
428
- def __init__(self, x: int) -> None:
429
- self.x = x
430
- def foo(self) -> int:
431
- return self.x+1
432
- def foo() -> int:
433
- a = A(20)
434
- return a.foo()
435
- [file driver.py]
436
- from native import A, foo
437
- a = A(10)
438
- assert a.foo() == 11
439
- assert foo() == 21
440
-
441
- [case testGenericClass]
442
- from typing import TypeVar, Generic, Sequence
443
- T = TypeVar('T')
444
- class C(Generic[T]):
445
- x: T
446
- def __init__(self, x: T) -> None:
447
- self.x = x
448
- def get(self) -> T:
449
- return self.x
450
- def set(self, y: T) -> None:
451
- self.x = y
452
-
453
- # Test subclassing generic classes both with and without a generic param
454
- class A(Sequence[int]):
455
- pass
456
- class B(Sequence[T]):
457
- pass
458
-
459
- def f(c: C[int]) -> int:
460
- y = c.get()
461
- d = C[int](2)
462
- c.set(c.get() + 1 + d.get())
463
- c.x = c.x + 2
464
- return c.x
465
-
466
- [file driver.py]
467
- from native import C, f
468
- c = C(6)
469
- assert f(c) == 11
470
- c.x = 'x'
471
- assert c.x == 'x'
472
- c.set([1])
473
- assert c.x == [1]
474
- assert c.get() == [1]
475
-
476
- [case testSubclass1]
477
- from typing import Tuple
478
-
479
- class A:
480
- def __init__(self) -> None:
481
- self.x = 10
482
- def hi(self, suffix: str) -> str:
483
- return str(self.x) + suffix
484
- class B(A):
485
- def __init__(self) -> None:
486
- self.x = 20
487
- self.y = 'world'
488
- def hi(self, suffix: str) -> str:
489
- return 'hello ' + str(self.y) + suffix
490
-
491
- def use_a(x: A) -> Tuple[int, str]:
492
- return (x.x, x.hi(''))
493
- def use_b(x: B) -> str:
494
- return x.hi('')
495
-
496
- [file driver.py]
497
- from native import A, B, use_a, use_b
498
- a = A()
499
- b = B()
500
- assert use_a(a) == (10, '10')
501
- assert use_a(b) == (20, 'hello world')
502
- assert a.x == 10
503
- assert b.x == 20
504
- assert b.y == 'world'
505
- assert a.hi('!') == '10!'
506
- assert b.hi('!') == 'hello world!'
507
- assert use_b(b) == 'hello world'
508
-
509
- [case testSubclassSpecialize1]
510
- class A:
511
- def foo(self, x: int) -> object:
512
- print('A')
513
- return str(x)
514
- def bar(self, x: int) -> None:
515
- print(x + 1)
516
- class B(A):
517
- def foo(self, x: object) -> int:
518
- print('B')
519
- return id(x)
520
- def bar(self, x: object) -> None:
521
- print(x)
522
-
523
- def use_a(x: A, y: int) -> object:
524
- x.bar(10)
525
- return x.foo(y)
526
-
527
- def use_b(x: B, y: object) -> int:
528
- return x.foo(y)
529
-
530
- [file driver.py]
531
- from native import A, B, use_a, use_b
532
- a = A()
533
- b = B()
534
- o = object()
535
- i = 10
536
- assert a.foo(10) == '10'
537
- assert b.foo(o) == id(o)
538
- assert use_a(a, 10) == '10'
539
- assert use_b(b, o) == id(o)
540
- assert use_a(b, i) == id(i)
541
- [out]
542
- A
543
- B
544
- 11
545
- A
546
- B
547
- 10
548
- B
549
-
550
- [case testSubclassSpecialize2]
551
- class A:
552
- def foo(self, x: int) -> object:
553
- print('A')
554
- return str(x)
555
- class B(A):
556
- def foo(self, x: object) -> object:
557
- print('B')
558
- return x
559
- class C(B):
560
- def foo(self, x: object) -> int:
561
- print('C')
562
- return id(x)
563
-
564
- def use_a(x: A, y: int) -> object:
565
- return x.foo(y)
566
-
567
- def use_b(x: B, y: object) -> object:
568
- return x.foo(y)
569
-
570
- def use_c(x: C, y: object) -> int:
571
- return x.foo(y)
572
-
573
- [file driver.py]
574
- from native import A, B, C, use_a, use_b, use_c
575
- a = A()
576
- b = B()
577
- c = C()
578
- o = object()
579
- i = 10
580
- assert a.foo(10) == '10'
581
- assert b.foo(o) == o
582
- assert c.foo(o) == id(o)
583
- assert use_a(a, 10) == '10'
584
- assert use_a(b, i) is i
585
- assert use_a(c, i) == id(i)
586
- assert use_b(b, o) == o
587
- assert use_b(c, o) == id(o)
588
- assert use_c(c, o) == id(o)
589
- [out]
590
- A
591
- B
592
- C
593
- A
594
- B
595
- C
596
- B
597
- C
598
- C
599
-
600
- [case testIsInstance]
601
- from typing import Optional
602
- class X: pass
603
- class A(X): pass
604
- class B(A): pass
605
-
606
- def isa(x: object) -> bool:
607
- return isinstance(x, A)
608
- def isint(x: object) -> bool:
609
- return isinstance(x, int)
610
- def isstr(x: object) -> bool:
611
- return isinstance(x, str)
612
- def islist(x: object) -> bool:
613
- return isinstance(x, list)
614
- def ist(x: object, t: object) -> bool: # TODO: Second argument should be 'type'
615
- return isinstance(x, t)
616
- def pointless(x: Optional[X]) -> str:
617
- if isinstance(x, A):
618
- return str(x)
619
- return ''
620
- [file driver.py]
621
- from native import X, A, B, isa, isint, isstr, islist, ist
622
- assert isa(1) == False
623
- assert isa(A()) == True
624
- assert isa(B()) == True
625
- assert isa(X()) == False
626
-
627
- assert isint(1) == True
628
- assert isint('') == False
629
- assert isint(A()) == False
630
-
631
- assert isstr(1) == False
632
- assert isstr('') == True
633
-
634
- assert islist(1) == False
635
- assert islist([]) == True
636
-
637
- assert ist(1, int) == True
638
- assert ist(1, str) == False
639
- try:
640
- ist(1, 2)
641
- except TypeError:
642
- pass
643
- else:
644
- assert False
645
-
646
- [case testSubclassUninitAttr]
647
- class X:
648
- x: int
649
- class A(X):
650
- pass
651
- [file driver.py]
652
- import traceback
653
- from native import A
654
- try:
655
- A().x
656
- except AttributeError:
657
- traceback.print_exc()
658
- [out]
659
- Traceback (most recent call last):
660
- File "driver.py", line 4, in <module>
661
- A().x
662
- AttributeError: attribute 'x' of 'X' undefined
663
-
664
- [case testClassMethods]
665
- from typing import ClassVar, Any
666
- from typing_extensions import final
667
- from mypy_extensions import mypyc_attr
668
-
669
- from interp import make_interpreted_subclass
670
-
671
- class C:
672
- lurr: ClassVar[int] = 9
673
- @staticmethod
674
- def foo(x: int) -> int:
675
- return 10 + x
676
- @classmethod
677
- def bar(cls, x: int) -> int:
678
- return cls.lurr + x
679
- @staticmethod
680
- def baz(x: int, y: int = 10) -> int:
681
- return y - x
682
- @classmethod
683
- def quux(cls, x: int, y: int = 10) -> int:
684
- return y - x
685
- @classmethod
686
- def call_other(cls, x: int) -> int:
687
- return cls.quux(x, 3)
688
-
689
- class D(C):
690
- def f(self) -> int:
691
- return super().foo(1) + super().bar(2) + super().baz(10) + super().quux(10)
692
-
693
- def ctest1() -> int:
694
- return C.foo(1) + C.bar(2) + C.baz(10) + C.quux(10) + C.quux(y=10, x=9)
695
-
696
- def ctest2() -> int:
697
- c = C()
698
- return c.foo(1) + c.bar(2) + c.baz(10)
699
-
700
- CAny: Any = C
701
-
702
- def test_classmethod_using_any() -> None:
703
- assert CAny.foo(10) == 20
704
- assert CAny.bar(10) == 19
705
-
706
- def test_classmethod_on_instance() -> None:
707
- c = C()
708
- assert c.foo(10) == 20
709
- assert c.bar(10) == 19
710
- assert c.call_other(1) == 2
711
-
712
- def test_classmethod_misc() -> None:
713
- assert ctest1() == 23
714
- assert ctest2() == 22
715
- assert C.call_other(2) == 1
716
-
717
- def test_classmethod_using_super() -> None:
718
- d = D()
719
- assert d.f() == 22
720
-
721
- @final
722
- class F1:
723
- @classmethod
724
- def f(cls, x: int) -> int:
725
- return cls.g(x)
726
-
727
- @classmethod
728
- def g(cls, x: int) -> int:
729
- return x + 1
730
-
731
- class F2: # Implicitly final (no subclasses)
732
- @classmethod
733
- def f(cls, x: int) -> int:
734
- return cls.g(x)
735
-
736
- @classmethod
737
- def g(cls, x: int) -> int:
738
- return x + 1
739
-
740
- def test_classmethod_of_final_class() -> None:
741
- assert F1.f(5) == 6
742
- assert F2.f(7) == 8
743
-
744
- @mypyc_attr(allow_interpreted_subclasses=True)
745
- class CI:
746
- @classmethod
747
- def f(cls, x: int) -> int:
748
- return cls.g(x)
749
-
750
- @classmethod
751
- def g(cls, x: int) -> int:
752
- return x + 1
753
-
754
- def test_classmethod_with_allow_interpreted() -> None:
755
- assert CI.f(4) == 5
756
- sub = make_interpreted_subclass(CI)
757
- assert sub.f(4) == 7
758
-
759
- [file interp.py]
760
- def make_interpreted_subclass(base):
761
- class Sub(base):
762
- @classmethod
763
- def g(cls, x: int) -> int:
764
- return x + 3
765
- return Sub
766
-
767
- [case testSuper]
768
- from mypy_extensions import trait
769
- from typing import List
770
-
771
- class A:
772
- def __init__(self, x: int) -> None:
773
- self.x = x
774
-
775
- def foo(self, x: int) -> int:
776
- return x
777
-
778
- class B(A):
779
- def __init__(self, x: int, y: int) -> None:
780
- super().__init__(x)
781
- self.y = y
782
-
783
- def foo(self, x: int) -> int:
784
- return super().foo(x+1)
785
-
786
- class C(B):
787
- def __init__(self, x: int, y: int) -> None:
788
- super(C, self).__init__(x, y + 1)
789
-
790
- def foo(self, x: int) -> int:
791
- # should go to A, not B
792
- return super(B, self).foo(x+1)
793
-
794
- class X:
795
- def __init__(self, x: int) -> None:
796
- self.x = x
797
- class Y(X):
798
- pass
799
- class Z(Y):
800
- def __init__(self, x: int, y: int) -> None:
801
- super().__init__(x)
802
- self.y = y
803
-
804
- @trait
805
- class T:
806
- def v_int(self, x: int) -> None: pass
807
- def v_list(self, x: List[int]) -> None:
808
- if x:
809
- self.v_int(x[0])
810
- self.v_list(x[1:])
811
-
812
- class PrintList(T):
813
- def v_int(self, x: int) -> None:
814
- print(x)
815
- def v_list(self, x: List[int]) -> None:
816
- print('yo!')
817
- super().v_list(x)
818
-
819
- [file driver.py]
820
- import traceback
821
- from native import *
822
- b = B(10, 20)
823
- assert b.x == 10 and b.y == 20
824
- c = C(10, 20)
825
- assert c.x == 10 and c.y == 21
826
- z = Z(10, 20)
827
- assert z.x == 10 and z.y == 20
828
-
829
- assert c.foo(10) == 11
830
-
831
- PrintList().v_list([1,2,3])
832
- [out]
833
- yo!
834
- 1
835
- yo!
836
- 2
837
- yo!
838
- 3
839
- yo!
840
-
841
- [case testSubclassException]
842
- class Failure(Exception):
843
- def __init__(self, x: int) -> None:
844
- self.x = x
845
-
846
- def foo() -> None:
847
- raise Failure(10)
848
-
849
- def heyo() -> int:
850
- try:
851
- foo()
852
- except Failure as e:
853
- return e.x
854
- return -1
855
-
856
- [file driver.py]
857
- from native import foo, heyo, Failure
858
- try:
859
- foo()
860
- except Failure as e:
861
- assert str(e) == '10'
862
- assert e.x == 10
863
- heyo()
864
-
865
- [case testSubclassDict]
866
- from typing import Dict
867
- class WelpDict(Dict[str, int]):
868
- def __init__(self) -> None:
869
- self.emarhavil = 3
870
- def foo(self) -> int:
871
- return self.emarhavil
872
-
873
- def welp() -> int:
874
- x = WelpDict()
875
- x['a'] = 10
876
- x['b'] = 15
877
- x.emarhavil = 5
878
- return x['a'] + x['b'] + x.emarhavil + x.foo()
879
-
880
- [file driver.py]
881
- from native import welp
882
- assert welp() == 35
883
-
884
- [case testSubclassPy]
885
- from b import B, V
886
- class A(B):
887
- def __init__(self, x: int, y: int) -> None:
888
- super().__init__(y)
889
- self.x = x
890
-
891
- def foo(self, x: int) -> int:
892
- print("hi", x)
893
- return x+1
894
-
895
- class C(V[int]):
896
- def f(self) -> int: return 10
897
-
898
- assert isinstance(C(), V)
899
-
900
- def f(x: A) -> None:
901
- print(x.x)
902
- print(x.y)
903
- print(x.foo(20))
904
-
905
- [file b.py]
906
- from typing import Generic, TypeVar
907
- T = TypeVar('T')
908
-
909
- class B:
910
- def __init__(self, y: int) -> None:
911
- self.y = y
912
- def foo(self, x: int) -> int:
913
- print("parent!")
914
- return x + self.y
915
- def bar(self) -> None:
916
- print("hello!", self.y)
917
-
918
- class V(Generic[T]):
919
- def f(self) -> T:
920
- raise Exception('unimplemented')
921
- [file driver.py]
922
- import native
923
- a = native.A(10, 20)
924
- a.foo(10)
925
- a.bar()
926
- native.f(a)
927
- [out]
928
- hi 10
929
- hello! 20
930
- 10
931
- 20
932
- hi 20
933
- 21
934
-
935
- [case testDisallowSubclassFromPy]
936
- # We'll want to allow this at some point but right now we need to
937
- # disallow it because it doesn't work.
938
- class A:
939
- pass
940
- [file b.py]
941
- from native import A
942
-
943
- # It would be better if we disallowed it at class decl time but it is
944
- # really easy to do in __new__
945
-
946
- class B(A):
947
- pass
948
-
949
- [file driver.py]
950
- from b import B
951
- try:
952
- B()
953
- except TypeError:
954
- pass
955
- else:
956
- assert False, "instantiating was supposed to fail"
957
-
958
- [case testClassVariable]
959
- MYPY = False
960
- if MYPY:
961
- from typing import ClassVar
962
- class A:
963
- x = 10 # type: ClassVar[int]
964
-
965
- def g(x: int) -> None:
966
- A.x = 10
967
- def f() -> int:
968
- return A.x
969
- [file driver.py]
970
- from native import A, f
971
- assert f() == 10
972
- A.x = 200
973
- assert f() == 200
974
-
975
- [case testDefaultVars]
976
- from typing import Optional
977
- class A:
978
- x = 10
979
- w: object = 10
980
- def lol(self) -> None:
981
- self.x = 100
982
-
983
- LOL = 'lol'
984
- class B(A):
985
- y = LOL
986
- z = None # type: Optional[str]
987
- b = True
988
- bogus = None # type: int
989
-
990
- def g() -> None:
991
- a = A()
992
- assert a.x == 10
993
- a.x = 20
994
- assert a.x == 20
995
- b = B()
996
- assert b.x == 10
997
- b.x = 20
998
- assert b.x == 20
999
- assert b.y == 'lol'
1000
- b.y = 'rofl'
1001
- assert b.y == 'rofl'
1002
- assert b.z is None
1003
- [file driver.py]
1004
- from native import *
1005
- g()
1006
-
1007
- a = A()
1008
- assert a.x == 10
1009
- a.x = 20
1010
- assert a.x == 20
1011
- b = B()
1012
- assert b.x == 10
1013
- b.x = 20
1014
- assert b.x == 20
1015
- assert b.y == 'lol'
1016
- b.y = 'rofl'
1017
- assert b.y == 'rofl'
1018
- assert b.z is None
1019
- # N.B: this doesn't match cpython
1020
- assert not hasattr(b, 'bogus')
1021
-
1022
- [case testProtocol]
1023
- from typing_extensions import Protocol
1024
-
1025
- class Proto(Protocol):
1026
- def foo(self, x: int) -> None:
1027
- pass
1028
-
1029
- def bar(self, x: int) -> None:
1030
- pass
1031
-
1032
- class A:
1033
- def foo(self, x: int) -> None:
1034
- print("A:", x)
1035
-
1036
- def bar(self, *args: int, **kwargs: int) -> None:
1037
- print("A:", args, kwargs)
1038
-
1039
- class B(A, Proto):
1040
- def foo(self, x: int) -> None:
1041
- print("B:", x)
1042
-
1043
- def bar(self, *args: int, **kwargs: int) -> None:
1044
- print("B:", args, kwargs)
1045
-
1046
- def f(x: Proto) -> None:
1047
- x.foo(20)
1048
- x.bar(x=20)
1049
-
1050
- [file driver.py]
1051
- from native import A, B, f
1052
-
1053
- f(A())
1054
- f(B())
1055
-
1056
- # ... this exploits a bug in glue methods to distinguish whether we
1057
- # are making a direct call or a pycall...
1058
- [out]
1059
- A: 20
1060
- A: () {'x': 20}
1061
- B: 20
1062
- B: (20,) {}
1063
-
1064
- [case testMethodOverrideDefault1]
1065
- class A:
1066
- def foo(self, x: int) -> None:
1067
- pass
1068
- class B(A):
1069
- def foo(self, x: int, y: int = 10) -> None:
1070
- print(x, y)
1071
-
1072
- def a(x: A) -> None:
1073
- x.foo(1)
1074
- def b(x: B) -> None:
1075
- x.foo(2)
1076
- x.foo(2, 3)
1077
-
1078
- [file driver.py]
1079
- from native import B, a, b
1080
- a(B())
1081
- b(B())
1082
- [out]
1083
- 1 10
1084
- 2 10
1085
- 2 3
1086
-
1087
- [case testMethodOverrideDefault2]
1088
- class A:
1089
- def foo(self, *, x: int = -1) -> None:
1090
- pass
1091
- def bar(self, *, x: int = -1, y: int = -1) -> None:
1092
- pass
1093
- def baz(self, x: int = -1) -> None:
1094
- pass
1095
- class B(A):
1096
- def foo(self, *, y: int = 0, x: int = 0) -> None:
1097
- print(x, y)
1098
- def bar(self, *, y: int = 0, x: int = 0) -> None:
1099
- print(x, y)
1100
- def baz(self, x: int = 0, *, y: int = 0) -> None:
1101
- print(x, y)
1102
-
1103
- def a(x: A) -> None:
1104
- x.foo(x=1)
1105
- x.bar(x=1, y=2)
1106
- x.bar(x=2, y=1)
1107
- x.baz()
1108
- x.baz(1)
1109
- x.baz(x=2)
1110
-
1111
- [file driver.py]
1112
- from native import B, a
1113
- a(B())
1114
- [out]
1115
- 1 0
1116
- 1 2
1117
- 2 1
1118
- 0 0
1119
- 1 0
1120
- 2 0
1121
-
1122
- [case testMethodOverrideDefault3]
1123
- class A:
1124
- @classmethod
1125
- def foo(cls, *, x: int = 0) -> None:
1126
- pass
1127
- @staticmethod
1128
- def bar(*, x: int = 0) -> None:
1129
- pass
1130
- @staticmethod
1131
- def baz() -> object:
1132
- pass
1133
- class B(A):
1134
- @classmethod
1135
- def foo(cls, *, y: int = 0, x: int = 0) -> None:
1136
- print(x, y)
1137
- print(cls.__name__) # type: ignore
1138
- @staticmethod
1139
- def bar(*, y: int = 0, x: int = 0) -> None:
1140
- print(x, y)
1141
- @staticmethod
1142
- def baz() -> int:
1143
- return 10
1144
-
1145
- # This is just to make sure that this stuff works even when the
1146
- # methods might be overridden.
1147
- class C(B):
1148
- @classmethod
1149
- def foo(cls, *, y: int = 0, x: int = 0) -> None:
1150
- pass
1151
- @staticmethod
1152
- def bar(*, y: int = 0, x: int = 0) -> None:
1153
- pass
1154
- @staticmethod
1155
- def baz() -> int:
1156
- return 10
1157
-
1158
- def a(x: A) -> None:
1159
- x.foo(x=1)
1160
- x.bar(x=1)
1161
- print(x.baz())
1162
-
1163
- [file driver.py]
1164
- from native import B, a
1165
- a(B())
1166
- [out]
1167
- 1 0
1168
- B
1169
- 1 0
1170
- 10
1171
-
1172
- [case testMethodOverrideDefault4]
1173
- class Foo:
1174
- def f(self, x: int=20, *, z: int=10) -> None:
1175
- pass
1176
-
1177
- class Bar(Foo):
1178
- def f(self, *args: int, **kwargs: int) -> None:
1179
- print("stuff", args, kwargs)
1180
-
1181
- z: Foo = Bar()
1182
- z.f(1, z=50)
1183
- z.f()
1184
-
1185
- [out]
1186
- stuff (1,) {'z': 50}
1187
- stuff () {}
1188
-
1189
- [case testMethodOverrideDefault5]
1190
- from testutil import make_python_function
1191
- from mypy_extensions import mypyc_attr
1192
- from typing import TypeVar, Any
1193
-
1194
- @mypyc_attr(allow_interpreted_subclasses=True)
1195
- class Foo:
1196
- def f(self, x: int=20, *, z: int=10) -> None:
1197
- print("Foo", x, z)
1198
-
1199
- @make_python_function
1200
- def baz_f(self: Any, *args: int, **kwargs: int) -> None:
1201
- print("Baz", args, kwargs)
1202
-
1203
- # Make an "interpreted" subtype of Foo
1204
- type2: Any = type
1205
- Bar = type2('Bar', (Foo,), {})
1206
- Baz = type2('Baz', (Foo,), {'f': baz_f})
1207
-
1208
- y: Foo = Bar()
1209
- y.f(1, z=2)
1210
- y.f()
1211
-
1212
- z: Foo = Baz()
1213
- z.f(1, z=2)
1214
- z.f()
1215
-
1216
- [out]
1217
- Foo 1 2
1218
- Foo 20 10
1219
- Baz (1,) {'z': 2}
1220
- Baz () {}
1221
-
1222
- [case testMethodOverrideDefault6]
1223
- from typing import Optional
1224
-
1225
- class Foo:
1226
- def f(self, x: int=20) -> None:
1227
- pass
1228
-
1229
- class Bar(Foo):
1230
- def f(self, x: Optional[int]=None) -> None:
1231
- print(x)
1232
-
1233
- z: Foo = Bar()
1234
- z.f(1)
1235
- z.f()
1236
-
1237
- [out]
1238
- 1
1239
- None
1240
-
1241
- [case testMethodOverrideDefault7]
1242
- from typing import TypeVar, Any
1243
-
1244
- class Foo:
1245
- def f(self, x: int, *args: int, **kwargs: int) -> None:
1246
- print("Foo", x, args, kwargs)
1247
-
1248
- class Bar(Foo):
1249
- def f(self, *args: int, **kwargs: int) -> None:
1250
- print("Bar", args, kwargs)
1251
-
1252
- z: Foo = Bar()
1253
- z.f(1, z=2)
1254
- z.f(1, 2, 3)
1255
- # z.f(x=5) # Not tested because we (knowingly) do the wrong thing and pass it as positional
1256
-
1257
- [out]
1258
- Bar (1,) {'z': 2}
1259
- Bar (1, 2, 3) {}
1260
- --Bar () {'x': 5}
1261
-
1262
- [case testMethodOverrideDefault8]
1263
- from typing import TypeVar, Any
1264
-
1265
- class Foo:
1266
- def f(self, *args: int, **kwargs: int) -> None:
1267
- print("Foo", args, kwargs)
1268
-
1269
- class Bar(Foo):
1270
- def f(self, x: int = 10, *args: int, **kwargs: int) -> None:
1271
- print("Bar", x, args, kwargs)
1272
-
1273
- z: Foo = Bar()
1274
- z.f(1, z=2)
1275
- z.f(1, 2, 3)
1276
- z.f()
1277
-
1278
- [out]
1279
- Bar 1 () {'z': 2}
1280
- Bar 1 (2, 3) {}
1281
- Bar 10 () {}
1282
-
1283
- [case testMethodOverrideDefault9]
1284
- from testutil import make_python_function
1285
- from mypy_extensions import mypyc_attr
1286
- from typing import TypeVar, Any
1287
-
1288
- @mypyc_attr(allow_interpreted_subclasses=True)
1289
- class Foo:
1290
- def f(self, x: int=20, y: int=40) -> None:
1291
- print("Foo", x, y)
1292
-
1293
- # This sort of argument renaming is dodgy and not really sound but we
1294
- # shouldn't break it when they aren't actually used by name...
1295
- # (They *ought* to be positional only!)
1296
- @make_python_function
1297
- def baz_f(self, a: int=30, y: int=50) -> None:
1298
- print("Baz", a, y)
1299
-
1300
- # Make an "interpreted" subtype of Foo
1301
- type2: Any = type
1302
- Baz = type2('Baz', (Foo,), {'f': baz_f})
1303
-
1304
- z: Foo = Baz()
1305
- z.f()
1306
- z.f(y=1)
1307
- z.f(1, 2)
1308
- # Not tested because we don't (and probably won't) match cpython here
1309
- # from testutil import assertRaises
1310
- # with assertRaises(TypeError):
1311
- # z.f(x=7)
1312
-
1313
- [out]
1314
- Baz 30 50
1315
- Baz 30 1
1316
- Baz 1 2
1317
-
1318
- [case testOverride]
1319
- class A:
1320
- def f(self) -> int:
1321
- return 0
1322
- def g(self) -> int:
1323
- return 1
1324
-
1325
- class B(A):
1326
- def g(self) -> int:
1327
- return 2
1328
-
1329
- class C(B):
1330
- def f(self) -> int:
1331
- return 3
1332
-
1333
- def test() -> None:
1334
- ba: A = B()
1335
- ca: A = C()
1336
- assert ba.f() == 0
1337
- assert ba.g() == 2
1338
- assert ca.f() == 3
1339
- assert ca.g() == 2
1340
- cc = C()
1341
- assert cc.f() == 3
1342
- assert cc.g() == 2
1343
- print('ok')
1344
- [file driver.py]
1345
- import native
1346
- native.test()
1347
- [out]
1348
- ok
1349
-
1350
- [case testNoMetaclass]
1351
- from foo import Base
1352
-
1353
- class Nothing(Base): # type: ignore
1354
- pass
1355
-
1356
- [file foo.py]
1357
- from typing import Any
1358
- class Meta(type):
1359
- pass
1360
-
1361
- class _Base(metaclass=Meta):
1362
- pass
1363
- Base = _Base # type: Any
1364
-
1365
- [file driver.py]
1366
- try:
1367
- import native
1368
- except TypeError as e:
1369
- assert(str(e) == "mypyc classes can't have a metaclass")
1370
-
1371
- [case testMetaclass]
1372
- from meta import Meta
1373
-
1374
- class Nothing(metaclass=Meta):
1375
- pass
1376
-
1377
- def ident(x): return x
1378
-
1379
- @ident
1380
- class Test:
1381
- pass
1382
-
1383
- [file meta.py]
1384
- class Meta(type):
1385
- def __new__(mcs, name, bases, dct):
1386
- dct['X'] = 10
1387
- return super().__new__(mcs, name, bases, dct)
1388
-
1389
-
1390
- [file driver.py]
1391
- from native import Nothing
1392
- assert Nothing.X == 10
1393
-
1394
- [case testPickling]
1395
- from mypy_extensions import trait, mypyc_attr
1396
- from typing import Any, TypeVar, Generic
1397
-
1398
- def dec(x: Any) -> Any:
1399
- return x
1400
-
1401
- @mypyc_attr(allow_interpreted_subclasses=True)
1402
- class A:
1403
- x: int
1404
- y: str
1405
-
1406
- @mypyc_attr(allow_interpreted_subclasses=True)
1407
- class B(A):
1408
- z: bool
1409
-
1410
- def __init__(self, x: int, y: str, z: bool) -> None:
1411
- self.x = x
1412
- self.y = y
1413
- self.z = z
1414
-
1415
- @trait
1416
- class T:
1417
- a: str
1418
-
1419
- class C(B, T):
1420
- w: object
1421
-
1422
- # property shouldn't go in
1423
- @property
1424
- def foo(self) -> int:
1425
- return 0
1426
-
1427
- @dec
1428
- class D:
1429
- x: int
1430
-
1431
- class E(D):
1432
- y: int
1433
-
1434
-
1435
- U = TypeVar('U')
1436
-
1437
- class F(Generic[U]):
1438
- y: int
1439
-
1440
- class G(F[int]):
1441
- pass
1442
-
1443
- [file driver.py]
1444
- from native import A, B, T, C, D, E, F, G
1445
-
1446
- import copy
1447
- import pickle
1448
-
1449
- assert A.__mypyc_attrs__ == ('x', 'y')
1450
- assert B.__mypyc_attrs__ == ('z', 'x', 'y')
1451
- assert T.__mypyc_attrs__ == ('a',)
1452
- assert C.__mypyc_attrs__ == ('w', 'z', 'x', 'y', 'a')
1453
- assert not hasattr(D, '__mypyc_attrs__')
1454
- assert E.__mypyc_attrs__ == ('y', '__dict__')
1455
- assert F.__mypyc_attrs__ == ('y', '__dict__')
1456
- assert G.__mypyc_attrs__ == ('y', '__dict__')
1457
-
1458
- b = B(10, '20', False)
1459
- assert b.__getstate__() == {'z': False, 'x': 10, 'y': '20'}
1460
- b2 = copy.copy(b)
1461
- assert b is not b2 and b.y == b2.y
1462
-
1463
- b3 = pickle.loads(pickle.dumps(b))
1464
- assert b is not b3 and b.y == b3.y
1465
-
1466
- e = E()
1467
- e.x = 10
1468
- e.y = 20
1469
-
1470
- assert e.__getstate__() == {'y': 20, '__dict__': {'x': 10}}
1471
- e2 = pickle.loads(pickle.dumps(e))
1472
- assert e is not e2 and e.x == e2.x and e.y == e2.y
1473
-
1474
-
1475
- [case testInterpretedParentInit]
1476
- from interp import C
1477
- from typing import TypeVar
1478
-
1479
- T = TypeVar('T')
1480
-
1481
- def dec(x: T) -> T:
1482
- return x
1483
-
1484
- @dec
1485
- class A:
1486
- def __init__(self, x: int) -> None:
1487
- self.x = x
1488
-
1489
- class B(A):
1490
- s = 'test'
1491
-
1492
- def b(x: int) -> B: return B(x)
1493
-
1494
- class D(C):
1495
- s = 'test'
1496
-
1497
- def d(x: int) -> D: return D(x)
1498
-
1499
-
1500
- [file interp.py]
1501
- class C:
1502
- def __init__(self, x: int) -> None:
1503
- self.x = x
1504
-
1505
- [file driver.py]
1506
- from native import b, d, B, D
1507
-
1508
- def test(f, v):
1509
- x = f(v)
1510
- assert x.x == v
1511
- assert x.s == 'test'
1512
-
1513
- test(b, 20)
1514
- test(d, 30)
1515
- test(B, -1)
1516
- test(D, -2)
1517
-
1518
- [case testInterpretedInherit]
1519
- from typing import TypeVar, Any, overload
1520
- from mypy_extensions import mypyc_attr, trait
1521
-
1522
- T = TypeVar('T')
1523
- def dec(x: T) -> T: return x
1524
-
1525
- @mypyc_attr(allow_interpreted_subclasses=True)
1526
- class Top:
1527
- def spam(self) -> str:
1528
- return "grandparent"
1529
-
1530
- @mypyc_attr(allow_interpreted_subclasses=True)
1531
- @trait
1532
- class Trait:
1533
- def trait_method(self) -> str:
1534
- return "trait"
1535
-
1536
- @mypyc_attr(allow_interpreted_subclasses=True)
1537
- class Foo(Top, Trait):
1538
- def __init__(self, x: int) -> None:
1539
- self.x = x
1540
-
1541
- def foo(self) -> str:
1542
- return "parent foo: " + self.bar(self.x)
1543
-
1544
- def bar(self, x: int) -> str:
1545
- return "parent bar: {}".format(x + self.x)
1546
-
1547
- @dec
1548
- def decorated(self) -> str:
1549
- return "decorated parent"
1550
-
1551
- @property
1552
- def read_property(self) -> str:
1553
- return "parent prop"
1554
-
1555
- @overload
1556
- def overloaded(self, index: int) -> int: ...
1557
-
1558
- @overload
1559
- def overloaded(self, index: str) -> str: ...
1560
-
1561
- def overloaded(self, index: Any) -> Any:
1562
- return index
1563
-
1564
- def foo(x: Foo) -> str:
1565
- return x.foo()
1566
-
1567
- def bar(x: Foo, y: int) -> str:
1568
- return x.bar(y)
1569
-
1570
- def spam(x: Top) -> str:
1571
- return x.spam()
1572
-
1573
- def decorated(x: Foo) -> str:
1574
- return x.decorated()
1575
-
1576
- def prop(x: Foo) -> str:
1577
- return x.read_property
1578
-
1579
- def trait_method(x: Trait) -> str:
1580
- return x.trait_method()
1581
-
1582
- def overloaded(x: Foo, s: str) -> str:
1583
- return x.overloaded(s)
1584
-
1585
- [file interp.py]
1586
- from typing import Any
1587
- from native import Foo
1588
-
1589
- class Bar(Foo):
1590
- def bar(self, x: int) -> str:
1591
- return "child bar: {}".format(x + self.x)
1592
-
1593
- def spam(self) -> str:
1594
- assert super().spam() == "grandparent"
1595
- return "child"
1596
-
1597
- @property
1598
- def read_property(self) -> str:
1599
- return "child prop"
1600
-
1601
- def decorated(self) -> str:
1602
- return "decorated child"
1603
-
1604
- def trait_method(self) -> str:
1605
- return "child"
1606
-
1607
- def overloaded(self, index: Any) -> Any:
1608
- return index + index
1609
-
1610
-
1611
- class InterpBase:
1612
- def eggs(self) -> str:
1613
- return "eggs"
1614
-
1615
- class Baz(InterpBase, Bar):
1616
- def __init__(self) -> None:
1617
- super().__init__(1000)
1618
- self.z = self.read_property
1619
-
1620
- [file driver.py]
1621
- from native import Foo, foo, bar, spam, decorated, overloaded, prop, trait_method
1622
- from interp import Bar, Baz
1623
- from unittest.mock import patch
1624
- from testutil import assertRaises
1625
-
1626
- x = Foo(10)
1627
- y = Bar(20)
1628
- z = Baz()
1629
-
1630
- assert isinstance(y, Bar)
1631
- assert y.x == 20
1632
- assert y.bar(10) == "child bar: 30"
1633
- assert y.foo() == "parent foo: child bar: 40"
1634
- assert foo(y) == "parent foo: child bar: 40"
1635
- assert bar(y, 30) == "child bar: 50"
1636
- y.x = 30
1637
- assert bar(y, 30) == "child bar: 60"
1638
-
1639
- assert spam(y) == "child"
1640
- assert y.read_property == "child prop"
1641
- assert prop(x) == "parent prop"
1642
- assert prop(y) == "child prop"
1643
- assert y.decorated() == "decorated child"
1644
- assert decorated(y) == "decorated child"
1645
- assert y.overloaded("test") == "testtest"
1646
- assert overloaded(y, "test") == "testtest"
1647
-
1648
- assert y.trait_method() == "child"
1649
- assert trait_method(y) == "child"
1650
-
1651
- assert z.bar(10) == "child bar: 1010"
1652
- assert bar(z, 10) == "child bar: 1010"
1653
- assert z.z == "child prop"
1654
- assert z.eggs() == "eggs"
1655
-
1656
- with patch("interp.Bar.spam", lambda self: "monkey patched"):
1657
- assert y.spam() == "monkey patched"
1658
- spam(y) == "monkey patched"
1659
-
1660
- with patch("interp.Bar.spam", lambda self: 20):
1661
- assert y.spam() == 20
1662
- with assertRaises(TypeError, "str object expected; got int"):
1663
- spam(y)
1664
-
1665
- with assertRaises(TypeError, "int object expected; got str"):
1666
- y.x = "test"
1667
-
1668
- [case testProperty]
1669
- from typing import Callable
1670
- from mypy_extensions import trait
1671
- class Temperature:
1672
- @property
1673
- def celsius(self) -> float:
1674
- return 5.0 * (self.fahrenheit - 32.0) / 9.0
1675
-
1676
- def __init__(self, fahrenheit: float) -> None:
1677
- self.fahrenheit = fahrenheit
1678
-
1679
- def print_temp(self) -> None:
1680
- print("F:", self.fahrenheit, "C:", self.celsius)
1681
-
1682
- @property
1683
- def rankine(self) -> float:
1684
- raise NotImplementedError
1685
-
1686
- class Access:
1687
- @property
1688
- def number_of_accesses(self) -> int:
1689
- self._count += 1
1690
- return self._count
1691
- def __init__(self) -> None:
1692
- self._count = 0
1693
-
1694
- from typing import Callable
1695
- class BaseProperty:
1696
- @property
1697
- def doc(self) -> str:
1698
- return "Represents a sequence of values. Updates itself by next, which is a new value."
1699
-
1700
- @property
1701
- def value(self) -> object:
1702
- return self._incrementer
1703
-
1704
- @property
1705
- def bad_value(self) -> object:
1706
- return self._incrementer
1707
-
1708
- @property
1709
- def next(self) -> BaseProperty:
1710
- return BaseProperty(self._incrementer + 1)
1711
-
1712
- def __init__(self, value: int) -> None:
1713
- self._incrementer = value
1714
-
1715
- class DerivedProperty(BaseProperty):
1716
- @property
1717
- def value(self) -> int:
1718
- return self._incrementer
1719
-
1720
- @property
1721
- def bad_value(self) -> object:
1722
- return self._incrementer
1723
-
1724
- def __init__(self, incr_func: Callable[[int], int], value: int) -> None:
1725
- BaseProperty.__init__(self, value)
1726
- self._incr_func = incr_func
1727
-
1728
- @property
1729
- def next(self) -> DerivedProperty:
1730
- return DerivedProperty(self._incr_func, self._incr_func(self.value))
1731
-
1732
- class AgainProperty(DerivedProperty):
1733
- @property
1734
- def next(self) -> AgainProperty:
1735
- return AgainProperty(self._incr_func, self._incr_func(self._incr_func(self.value)))
1736
-
1737
- @property
1738
- def bad_value(self) -> int:
1739
- return self._incrementer
1740
-
1741
- def print_first_n(n: int, thing: BaseProperty) -> None:
1742
- vals = []
1743
- cur_thing = thing
1744
- for _ in range(n):
1745
- vals.append(cur_thing.value)
1746
- cur_thing = cur_thing.next
1747
- print ('', vals)
1748
-
1749
- @trait
1750
- class Trait:
1751
- @property
1752
- def value(self) -> int:
1753
- return 3
1754
-
1755
- class Printer(Trait):
1756
- def print_value(self) -> None:
1757
- print(self.value)
1758
-
1759
- [file driver.py]
1760
- from native import Temperature, Access
1761
- import traceback
1762
- x = Temperature(32.0)
1763
- try:
1764
- print (x.rankine)
1765
- except NotImplementedError as e:
1766
- traceback.print_exc()
1767
- print (x.celsius)
1768
- x.print_temp()
1769
-
1770
- y = Temperature(212.0)
1771
- print (y.celsius)
1772
- y.print_temp()
1773
-
1774
- z = Access()
1775
- print (z.number_of_accesses)
1776
- print (z.number_of_accesses)
1777
- print (z.number_of_accesses)
1778
- print (z.number_of_accesses)
1779
-
1780
- from native import BaseProperty, DerivedProperty, AgainProperty, print_first_n
1781
- a = BaseProperty(7)
1782
- b = DerivedProperty((lambda x: x // 2 if (x % 2 == 0) else 3 * x + 1), 7)
1783
- c = AgainProperty((lambda x: x // 2 if (x % 2 == 0) else 3 * x + 1), 7)
1784
-
1785
- def py_print_first_n(n: int, thing: BaseProperty) -> None:
1786
- vals = []
1787
- cur_thing = thing
1788
- for _ in range(n):
1789
- vals.append(cur_thing.value)
1790
- cur_thing = cur_thing.next
1791
- print ('', vals)
1792
-
1793
- py_print_first_n(20, a)
1794
- py_print_first_n(20, b)
1795
- py_print_first_n(20, c)
1796
-
1797
- print(a.next.next.next.bad_value)
1798
- print(b.next.next.next.bad_value)
1799
- print(c.next.next.next.bad_value)
1800
-
1801
- print_first_n(20, a)
1802
- print_first_n(20, b)
1803
- print_first_n(20, c)
1804
-
1805
- print (a.doc)
1806
- print (b.doc)
1807
- print (c.doc)
1808
-
1809
- from native import Printer
1810
- Printer().print_value()
1811
- print (Printer().value)
1812
- [out]
1813
- Traceback (most recent call last):
1814
- File "driver.py", line 5, in <module>
1815
- print (x.rankine)
1816
- File "native.py", line 16, in rankine
1817
- raise NotImplementedError
1818
- NotImplementedError
1819
- 0.0
1820
- F: 32.0 C: 0.0
1821
- 100.0
1822
- F: 212.0 C: 100.0
1823
- 1
1824
- 2
1825
- 3
1826
- 4
1827
- [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]
1828
- [7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1, 4, 2, 1]
1829
- [7, 11, 17, 26, 40, 10, 16, 4, 1, 2, 4, 1, 2, 4, 1, 2, 4, 1, 2, 4]
1830
- 10
1831
- 34
1832
- 26
1833
- [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]
1834
- [7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1, 4, 2, 1]
1835
- [7, 11, 17, 26, 40, 10, 16, 4, 1, 2, 4, 1, 2, 4, 1, 2, 4, 1, 2, 4]
1836
- Represents a sequence of values. Updates itself by next, which is a new value.
1837
- Represents a sequence of values. Updates itself by next, which is a new value.
1838
- Represents a sequence of values. Updates itself by next, which is a new value.
1839
- 3
1840
- 3
1841
- [out version>=3.11]
1842
- Traceback (most recent call last):
1843
- File "driver.py", line 5, in <module>
1844
- print (x.rankine)
1845
- ^^^^^^^^^
1846
- File "native.py", line 16, in rankine
1847
- raise NotImplementedError
1848
- NotImplementedError
1849
- 0.0
1850
- F: 32.0 C: 0.0
1851
- 100.0
1852
- F: 212.0 C: 100.0
1853
- 1
1854
- 2
1855
- 3
1856
- 4
1857
- [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]
1858
- [7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1, 4, 2, 1]
1859
- [7, 11, 17, 26, 40, 10, 16, 4, 1, 2, 4, 1, 2, 4, 1, 2, 4, 1, 2, 4]
1860
- 10
1861
- 34
1862
- 26
1863
- [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]
1864
- [7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1, 4, 2, 1]
1865
- [7, 11, 17, 26, 40, 10, 16, 4, 1, 2, 4, 1, 2, 4, 1, 2, 4, 1, 2, 4]
1866
- Represents a sequence of values. Updates itself by next, which is a new value.
1867
- Represents a sequence of values. Updates itself by next, which is a new value.
1868
- Represents a sequence of values. Updates itself by next, which is a new value.
1869
- 3
1870
- 3
1871
-
1872
- [case testPropertySetters]
1873
-
1874
- from mypy_extensions import trait
1875
-
1876
- class Foo():
1877
- def __init__(self) -> None:
1878
- self.attr = "unmodified"
1879
-
1880
- class A:
1881
- def __init__(self) -> None:
1882
- self._x = 0
1883
- self._foo = Foo()
1884
-
1885
- @property
1886
- def x(self) -> int:
1887
- return self._x
1888
-
1889
- @x.setter
1890
- def x(self, val : int) -> None:
1891
- self._x = val
1892
-
1893
- @property
1894
- def foo(self) -> Foo:
1895
- return self._foo
1896
-
1897
- @foo.setter
1898
- def foo(self, val : Foo) -> None:
1899
- self._foo = val
1900
-
1901
- # Overrides base property setters and getters
1902
- class B(A):
1903
- def __init__(self) -> None:
1904
- self._x = 10
1905
-
1906
- @property
1907
- def x(self) -> int:
1908
- return self._x + 1
1909
-
1910
- @x.setter
1911
- def x(self, val : int) -> None:
1912
- self._x = val + 1
1913
-
1914
- # Inherits base property setters and getters
1915
- class C(A):
1916
- def __init__(self) -> None:
1917
- A.__init__(self)
1918
-
1919
- @trait
1920
- class D():
1921
- def __init__(self) -> None:
1922
- self._x = 0
1923
-
1924
- @property
1925
- def x(self) -> int:
1926
- return self._x
1927
-
1928
- @x.setter
1929
- def x(self, val : int) -> None:
1930
- self._x = val
1931
-
1932
- #Inherits trait property setters and getters
1933
- class E(D):
1934
- def __init__(self) -> None:
1935
- D.__init__(self)
1936
-
1937
- #Overrides trait property setters and getters
1938
- class F(D):
1939
- def __init__(self) -> None:
1940
- self._x = 10
1941
-
1942
- @property
1943
- def x(self) -> int:
1944
- return self._x + 10
1945
-
1946
- @x.setter
1947
- def x(self, val : int) -> None:
1948
- self._x = val + 10
1949
-
1950
- # # Property setter and getter are subtypes of base property setters and getters
1951
- # # class G(A):
1952
- # # def __init__(self) -> None:
1953
- # # A.__init__(self)
1954
-
1955
- # # @property
1956
- # # def y(self) -> int:
1957
- # # return self._y
1958
-
1959
- # # @y.setter
1960
- # # def y(self, val : object) -> None:
1961
- # # self._y = val
1962
-
1963
- # No inheritance, just plain setter/getter
1964
- class G:
1965
- def __init__(self, x: int) -> None:
1966
- self._x = x
1967
-
1968
- @property
1969
- def x(self) -> int:
1970
- return self._x
1971
-
1972
- @x.setter
1973
- def x(self, x: int) -> None:
1974
- self._x = x
1975
-
1976
- class H:
1977
- def __init__(self, g: G) -> None:
1978
- self.g = g
1979
- self.g.x = 5 # Should not be treated as initialization
1980
-
1981
- [file other.py]
1982
- # Run in both interpreted and compiled mode
1983
-
1984
- from native import A, B, C, D, E, F, G
1985
-
1986
- a = A()
1987
- assert a.x == 0
1988
- assert a._x == 0
1989
- a.x = 1
1990
- assert a.x == 1
1991
- assert a._x == 1
1992
- a._x = 0
1993
- assert a.x == 0
1994
- assert a._x == 0
1995
- b = B()
1996
- assert b.x == 11
1997
- assert b._x == 10
1998
- b.x = 11
1999
- assert b.x == 13
2000
- b._x = 11
2001
- assert b.x == 12
2002
- c = C()
2003
- assert c.x == 0
2004
- c.x = 1000
2005
- assert c.x == 1000
2006
- e = E()
2007
- assert e.x == 0
2008
- e.x = 1000
2009
- assert e.x == 1000
2010
- f = F()
2011
- assert f.x == 20
2012
- f.x = 30
2013
- assert f.x == 50
2014
- g = G(4)
2015
- g.x = 20
2016
- assert g.x == 20
2017
-
2018
- [file driver.py]
2019
- # Run the tests in both interpreted and compiled mode
2020
- import other
2021
- import other_interpreted
2022
-
2023
- [out]
2024
-
2025
- [case testAttributeOverridesProperty]
2026
- from typing import Any
2027
- from mypy_extensions import trait
2028
-
2029
- @trait
2030
- class T1:
2031
- @property
2032
- def x(self) -> int: ...
2033
- @property
2034
- def y(self) -> int: ...
2035
-
2036
- class C1(T1):
2037
- x: int = 1
2038
- y: int = 4
2039
-
2040
- def test_read_only_property_in_trait_implemented_as_attribute() -> None:
2041
- c = C1()
2042
- c.x = 5
2043
- assert c.x == 5
2044
- assert c.y == 4
2045
- c.y = 6
2046
- assert c.y == 6
2047
- t: T1 = C1()
2048
- assert t.y == 4
2049
- t = c
2050
- assert t.x == 5
2051
- assert t.y == 6
2052
- a: Any = c
2053
- assert a.x == 5
2054
- assert a.y == 6
2055
- a.x = 7
2056
- a.y = 8
2057
- assert a.x == 7
2058
- assert a.y == 8
2059
-
2060
- class B2:
2061
- @property
2062
- def x(self) -> int:
2063
- return 11
2064
-
2065
- @property
2066
- def y(self) -> int:
2067
- return 25
2068
-
2069
- class C2(B2):
2070
- x: int = 1
2071
- y: int = 4
2072
-
2073
- def test_read_only_property_in_class_implemented_as_attribute() -> None:
2074
- c = C2()
2075
- c.x = 5
2076
- assert c.x == 5
2077
- assert c.y == 4
2078
- c.y = 6
2079
- assert c.y == 6
2080
- b: B2 = C2()
2081
- assert b.y == 4
2082
- b = c
2083
- assert b.x == 5
2084
- assert b.y == 6
2085
- a: Any = c
2086
- assert a.x == 5
2087
- assert a.y == 6
2088
- a.x = 7
2089
- a.y = 8
2090
- assert a.x == 7
2091
- assert a.y == 8
2092
-
2093
- @trait
2094
- class T3:
2095
- @property
2096
- def x(self) -> int: ...
2097
- @property
2098
- def y(self) -> int: ...
2099
-
2100
- class B3:
2101
- x: int = 1
2102
- y: int = 4
2103
-
2104
- class C3(B3, T3):
2105
- pass
2106
-
2107
- def test_read_only_property_implemented_as_attribute_indirectly() -> None:
2108
- c = C3()
2109
- c.x = 5
2110
- assert c.x == 5
2111
- assert c.y == 4
2112
- c.y = 6
2113
- assert c.y == 6
2114
- t: T3 = C3()
2115
- assert t.y == 4
2116
- t = c
2117
- assert t.x == 5
2118
- assert t.y == 6
2119
- a: Any = c
2120
- assert a.x == 5
2121
- assert a.y == 6
2122
- a.x = 7
2123
- a.y = 8
2124
- assert a.x == 7
2125
- assert a.y == 8
2126
-
2127
- @trait
2128
- class T4:
2129
- @property
2130
- def x(self) -> int: ...
2131
- @x.setter
2132
- def x(self, v1: int) -> None: ...
2133
-
2134
- @property
2135
- def y(self) -> int: ...
2136
- @y.setter
2137
- def y(self, v2: int) -> None: ...
2138
-
2139
- class C4(T4):
2140
- x: int = 1
2141
- y: int = 4
2142
-
2143
- def test_read_write_property_implemented_as_attribute() -> None:
2144
- c = C4()
2145
- c.x = 5
2146
- assert c.x == 5
2147
- assert c.y == 4
2148
- c.y = 6
2149
- assert c.y == 6
2150
- t: T4 = C4()
2151
- assert t.y == 4
2152
- t.x = 5
2153
- assert t.x == 5
2154
- t.y = 6
2155
- assert t.y == 6
2156
- a: Any = c
2157
- assert a.x == 5
2158
- assert a.y == 6
2159
- a.x = 7
2160
- a.y = 8
2161
- assert a.x == 7
2162
- assert a.y == 8
2163
-
2164
- @trait
2165
- class T5:
2166
- @property
2167
- def x(self) -> int: ...
2168
- @x.setter
2169
- def x(self, v1: int) -> None: ...
2170
-
2171
- @property
2172
- def y(self) -> int: ...
2173
- @y.setter
2174
- def y(self, v2: int) -> None: ...
2175
-
2176
- class B5:
2177
- x: int = 1
2178
- y: int = 4
2179
-
2180
- class BB5(B5):
2181
- pass
2182
-
2183
- class C5(BB5, T5):
2184
- pass
2185
-
2186
- def test_read_write_property_indirectly_implemented_as_attribute() -> None:
2187
- c = C5()
2188
- c.x = 5
2189
- assert c.x == 5
2190
- assert c.y == 4
2191
- c.y = 6
2192
- assert c.y == 6
2193
- t: T5 = C5()
2194
- assert t.y == 4
2195
- t.x = 5
2196
- assert t.x == 5
2197
- t.y = 6
2198
- assert t.y == 6
2199
- a: Any = c
2200
- assert a.x == 5
2201
- assert a.y == 6
2202
- a.x = 7
2203
- a.y = 8
2204
- assert a.x == 7
2205
- assert a.y == 8
2206
-
2207
- [case testSubclassAttributeAccess]
2208
- from mypy_extensions import trait
2209
-
2210
- class A:
2211
- v = 0
2212
-
2213
- class B(A):
2214
- v = 1
2215
-
2216
- class C(B):
2217
- v = 2
2218
-
2219
- [file driver.py]
2220
- from native import A, B, C
2221
-
2222
- a = A()
2223
- b = B()
2224
- c = C()
2225
-
2226
- [case testCopyAlwaysDefinedAttributes]
2227
- import copy
2228
- from typing import Union
2229
-
2230
- class A: pass
2231
-
2232
- class C:
2233
- def __init__(self, n: int = 0) -> None:
2234
- self.n = n
2235
- self.s = ""
2236
- self.t = ("", 0)
2237
- self.u: Union[str, bytes] = ''
2238
- self.a = A()
2239
-
2240
- def test_copy() -> None:
2241
- c1 = C()
2242
- c1.n = 1
2243
- c1.s = "x"
2244
- c2 = copy.copy(c1)
2245
- assert c2.n == 1
2246
- assert c2.s == "x"
2247
- assert c2.t == ("", 0)
2248
- assert c2.u == ''
2249
- assert c2.a is c1.a
2250
-
2251
- [case testNonNativeCallsToDunderNewAndInit]
2252
- from typing import Any
2253
- from testutil import assertRaises
2254
-
2255
- count_c = 0
2256
-
2257
- class C:
2258
- def __init__(self) -> None:
2259
- self.x = 'a' # Always defined attribute
2260
- global count_c
2261
- count_c += 1
2262
-
2263
- def get(self) -> str:
2264
- return self.x
2265
-
2266
- def test_no_init_args() -> None:
2267
- global count_c
2268
- count_c = 0
2269
-
2270
- # Use Any to get non-native semantics
2271
- cls: Any = C
2272
- # __new__ implicitly calls __init__ for native classes
2273
- obj = cls.__new__(cls)
2274
- assert obj.get() == 'a'
2275
- assert count_c == 1
2276
- # Make sure we don't call __init__ twice
2277
- obj2 = cls()
2278
- assert obj2.get() == 'a'
2279
- assert count_c == 2
2280
-
2281
- count_d = 0
2282
-
2283
- class D:
2284
- def __init__(self, x: str) -> None:
2285
- self.x = x # Always defined attribute
2286
- global count_d
2287
- count_d += 1
2288
-
2289
- def get(self) -> str:
2290
- return self.x
2291
-
2292
- def test_init_arg() -> None:
2293
- global count_d
2294
- count_d = 0
2295
-
2296
- # Use Any to get non-native semantics
2297
- cls: Any = D
2298
- # __new__ implicitly calls __init__ for native classes
2299
- obj = cls.__new__(cls, 'abc')
2300
- assert obj.get() == 'abc'
2301
- assert count_d == 1
2302
- # Make sure we don't call __init__ twice
2303
- obj2 = cls('x')
2304
- assert obj2.get() == 'x'
2305
- assert count_d == 2
2306
- # Keyword args should work
2307
- obj = cls.__new__(cls, x='abc')
2308
- assert obj.get() == 'abc'
2309
- assert count_d == 3
2310
-
2311
- def test_invalid_init_args() -> None:
2312
- # Use Any to get non-native semantics
2313
- cls: Any = D
2314
- with assertRaises(TypeError):
2315
- cls()
2316
- with assertRaises(TypeError):
2317
- cls(y='x')
2318
- with assertRaises(TypeError):
2319
- cls(1)
2320
-
2321
- [case testTryDeletingAlwaysDefinedAttribute]
2322
- from typing import Any
2323
- from testutil import assertRaises
2324
-
2325
- class C:
2326
- def __init__(self) -> None:
2327
- self.x = 0
2328
-
2329
- class D(C):
2330
- pass
2331
-
2332
- def test_try_deleting_always_defined_attr() -> None:
2333
- c: Any = C()
2334
- with assertRaises(AttributeError):
2335
- del c.x
2336
- d: Any = D()
2337
- with assertRaises(AttributeError):
2338
- del d.x
2339
-
2340
- [case testAlwaysDefinedAttributeAndAllowInterpretedSubclasses]
2341
- from mypy_extensions import mypyc_attr
2342
-
2343
- from m import define_interpreted_subclass
2344
-
2345
- @mypyc_attr(allow_interpreted_subclasses=True)
2346
- class Base:
2347
- x = 5
2348
- y: int
2349
- def __init__(self, s: str) -> None:
2350
- self.s = s
2351
-
2352
- class DerivedNative(Base):
2353
- def __init__(self) -> None:
2354
- super().__init__('x')
2355
- self.z = 3
2356
-
2357
- def test_native_subclass() -> None:
2358
- o = DerivedNative()
2359
- assert o.x == 5
2360
- assert o.s == 'x'
2361
- assert o.z == 3
2362
-
2363
- def test_interpreted_subclass() -> None:
2364
- define_interpreted_subclass(Base)
2365
-
2366
- [file m.py]
2367
- from testutil import assertRaises
2368
-
2369
- def define_interpreted_subclass(b):
2370
- class DerivedInterpreted1(b):
2371
- def __init__(self):
2372
- # Don't call base class __init__
2373
- pass
2374
- d1 = DerivedInterpreted1()
2375
- assert d1.x == 5
2376
- with assertRaises(AttributeError):
2377
- d1.y
2378
- with assertRaises(AttributeError):
2379
- d1.s
2380
- with assertRaises(AttributeError):
2381
- del d1.x
2382
-
2383
- class DerivedInterpreted1(b):
2384
- def __init__(self):
2385
- super().__init__('y')
2386
- d2 = DerivedInterpreted1()
2387
- assert d2.x == 5
2388
- assert d2.s == 'y'
2389
- with assertRaises(AttributeError):
2390
- d2.y
2391
- with assertRaises(AttributeError):
2392
- del d2.x
2393
-
2394
- [case testBaseClassSometimesDefinesAttribute]
2395
- class C:
2396
- def __init__(self, b: bool) -> None:
2397
- if b:
2398
- self.x = [1]
2399
-
2400
- class D(C):
2401
- def __init__(self, b: bool) -> None:
2402
- super().__init__(b)
2403
- self.x = [2]
2404
-
2405
- def test_base_class() -> None:
2406
- c = C(True)
2407
- assert c.x == [1]
2408
- c = C(False)
2409
- try:
2410
- c.x
2411
- except AttributeError:
2412
- return
2413
- assert False
2414
-
2415
- def test_subclass() -> None:
2416
- d = D(True)
2417
- assert d.x == [2]
2418
- d = D(False)
2419
- assert d.x == [2]
2420
-
2421
- [case testSerializableClass]
2422
- from mypy_extensions import mypyc_attr
2423
- from typing import Any
2424
- import copy
2425
- from testutil import assertRaises
2426
-
2427
- @mypyc_attr(serializable=True)
2428
- class Base:
2429
- def __init__(self, s: str) -> None:
2430
- self.s = s
2431
-
2432
- class Derived(Base):
2433
- def __init__(self, s: str, n: int) -> None:
2434
- super().__init__(s)
2435
- self.n = n
2436
-
2437
- def test_copy_base() -> None:
2438
- o = Base('xyz')
2439
- o2 = copy.copy(o)
2440
- assert isinstance(o2, Base)
2441
- assert o2 is not o
2442
- assert o2.s == 'xyz'
2443
-
2444
- def test_copy_derived() -> None:
2445
- d = Derived('xyz', 5)
2446
- d2 = copy.copy(d)
2447
- assert isinstance(d2, Derived)
2448
- assert d2 is not d
2449
- assert d2.s == 'xyz'
2450
- assert d2.n == 5
2451
-
2452
- class NonSerializable:
2453
- def __init__(self, s: str) -> None:
2454
- self.s = s
2455
-
2456
- @mypyc_attr(serializable=True)
2457
- class SerializableSub(NonSerializable):
2458
- def __init__(self, s: str, n: int) -> None:
2459
- super().__init__(s)
2460
- self.n = n
2461
-
2462
- def test_serializable_sub_class() -> None:
2463
- n = NonSerializable('xyz')
2464
- assert n.s == 'xyz'
2465
-
2466
- with assertRaises(TypeError):
2467
- copy.copy(n)
2468
-
2469
- s = SerializableSub('foo', 6)
2470
- s2 = copy.copy(s)
2471
- assert s2 is not s
2472
- assert s2.s == 'foo'
2473
- assert s2.n == 6
2474
-
2475
- def test_serializable_sub_class_call_new() -> None:
2476
- t: Any = SerializableSub
2477
- sub: SerializableSub = t.__new__(t)
2478
- with assertRaises(AttributeError):
2479
- sub.s
2480
- with assertRaises(AttributeError):
2481
- sub.n
2482
- base: NonSerializable = sub
2483
- with assertRaises(AttributeError):
2484
- base.s
2485
-
2486
- [case testClassWithInherited__call__]
2487
- class Base:
2488
- def __call__(self) -> int:
2489
- return 1
2490
-
2491
- class Derived(Base):
2492
- pass
2493
-
2494
- assert Derived()() == 1
2495
-
2496
- [case testClassWithFinalAttribute]
2497
- from typing_extensions import Final
2498
-
2499
- class C:
2500
- A: Final = -1
2501
- a: Final = [A]
2502
-
2503
- def test_final_attribute() -> None:
2504
- assert C.A == -1
2505
- assert C.a == [-1]