jaclang 0.7.34__py3-none-any.whl → 0.8.1__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 (1503) hide show
  1. jaclang/__init__.py +7 -414
  2. jaclang/cli/cli.md +5 -5
  3. jaclang/cli/cli.py +316 -217
  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 +65 -106
  9. jaclang/compiler/larkparse/jac_parser.py +3444 -0
  10. jaclang/compiler/parser.py +1137 -1517
  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 +159 -114
  16. jaclang/compiler/passes/main/def_use_pass.py +66 -274
  17. jaclang/compiler/passes/main/import_pass.py +178 -363
  18. jaclang/compiler/passes/main/inheritance_pass.py +109 -107
  19. jaclang/compiler/passes/main/pyast_gen_pass.py +1242 -1735
  20. jaclang/compiler/passes/main/pyast_load_pass.py +579 -819
  21. jaclang/compiler/passes/main/pybc_gen_pass.py +38 -35
  22. jaclang/compiler/passes/main/pyjac_ast_link_pass.py +50 -163
  23. jaclang/compiler/passes/main/sym_tab_build_pass.py +114 -1203
  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 +19 -0
  66. jaclang/compiler/passes/main/tests/fixtures/symtab_link_tests/main.jac +7 -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 +101 -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 +1287 -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 +200 -0
  107. jaclang/compiler/tests/fixtures/codegentext.jac +31 -0
  108. jaclang/compiler/tests/fixtures/fam.jac +12 -12
  109. jaclang/compiler/tests/fixtures/hello_world.jac +1 -1
  110. jaclang/compiler/tests/fixtures/pkg_import_lib/__init__.jac +1 -0
  111. jaclang/compiler/tests/fixtures/pkg_import_lib/sub/__init__.jac +1 -0
  112. jaclang/compiler/tests/fixtures/pkg_import_lib/sub/helper.jac +3 -0
  113. jaclang/compiler/tests/fixtures/pkg_import_lib/tools.jac +3 -0
  114. jaclang/compiler/tests/fixtures/pkg_import_lib_py/__init__.py +11 -0
  115. jaclang/compiler/tests/fixtures/pkg_import_lib_py/sub/__init__.py +7 -0
  116. jaclang/compiler/tests/fixtures/pkg_import_lib_py/sub/helper.jac +3 -0
  117. jaclang/compiler/tests/fixtures/pkg_import_lib_py/tools.jac +3 -0
  118. jaclang/compiler/tests/fixtures/pkg_import_main.jac +10 -0
  119. jaclang/compiler/tests/fixtures/pkg_import_main_py.jac +11 -0
  120. jaclang/compiler/tests/fixtures/staticcheck.jac +2 -2
  121. jaclang/compiler/tests/test_importer.py +41 -16
  122. jaclang/compiler/tests/test_parser.py +39 -17
  123. jaclang/compiler/{absyntree.py → unitree.py} +1521 -1261
  124. jaclang/langserve/engine.jac +498 -0
  125. jaclang/langserve/sem_manager.jac +309 -0
  126. jaclang/langserve/server.jac +186 -0
  127. jaclang/langserve/tests/fixtures/base_module_structure.jac +7 -7
  128. jaclang/langserve/tests/fixtures/circle.jac +6 -6
  129. jaclang/langserve/tests/fixtures/circle_err.jac +6 -6
  130. jaclang/langserve/tests/fixtures/circle_pure.impl.jac +5 -5
  131. jaclang/langserve/tests/fixtures/circle_pure.jac +7 -7
  132. jaclang/langserve/tests/fixtures/circle_pure_err.impl.jac +2 -2
  133. jaclang/langserve/tests/fixtures/circle_pure_err.jac +7 -7
  134. jaclang/langserve/tests/fixtures/import_include_statements.jac +6 -6
  135. jaclang/langserve/tests/fixtures/rename.jac +6 -6
  136. jaclang/langserve/tests/server_test/test_lang_serve.py +261 -0
  137. jaclang/langserve/tests/server_test/utils.py +118 -0
  138. jaclang/langserve/tests/session.jac +294 -0
  139. jaclang/langserve/tests/test_sem_tokens.py +4 -4
  140. jaclang/langserve/tests/test_server.py +53 -30
  141. jaclang/langserve/utils.jac +459 -0
  142. jaclang/runtimelib/{architype.py → archetype.py} +86 -62
  143. jaclang/runtimelib/builtin.py +95 -0
  144. jaclang/runtimelib/constructs.py +11 -13
  145. jaclang/runtimelib/importer.py +83 -53
  146. jaclang/runtimelib/machine.py +1592 -144
  147. jaclang/runtimelib/memory.py +6 -6
  148. jaclang/{plugin → runtimelib}/tests/fixtures/graph_purger.jac +1 -1
  149. jaclang/{plugin → runtimelib}/tests/fixtures/impl_match.jac +2 -2
  150. jaclang/runtimelib/tests/fixtures/impl_match_impl.jac +3 -0
  151. jaclang/{plugin → runtimelib}/tests/fixtures/other_root_access.jac +7 -7
  152. jaclang/{plugin → runtimelib}/tests/fixtures/savable_object.jac +3 -5
  153. jaclang/{plugin → runtimelib}/tests/fixtures/simple_node_connection.jac +6 -6
  154. jaclang/{plugin → runtimelib}/tests/fixtures/simple_persistent.jac +1 -1
  155. jaclang/{plugin → runtimelib}/tests/fixtures/traversing_save.jac +7 -5
  156. jaclang/runtimelib/tests/test_features.py +72 -0
  157. jaclang/{plugin → runtimelib}/tests/test_jaseci.py +6 -5
  158. jaclang/runtimelib/utils.py +34 -66
  159. jaclang/settings.py +1 -6
  160. jaclang/tests/fixtures/{abc.jac → abc_check.jac} +6 -6
  161. jaclang/tests/fixtures/arch_rel_import_creation.jac +4 -4
  162. jaclang/tests/fixtures/async_ability.jac +18 -0
  163. jaclang/tests/fixtures/async_walker.jac +23 -0
  164. jaclang/tests/fixtures/backward_edge_visit.jac +31 -0
  165. jaclang/tests/fixtures/baddy.jac +1 -1
  166. jaclang/tests/fixtures/base_class1.jac +2 -2
  167. jaclang/tests/fixtures/base_class2.jac +2 -2
  168. jaclang/tests/fixtures/base_class_complex_expr.jac +3 -3
  169. jaclang/tests/fixtures/builtin_printgraph.jac +85 -0
  170. jaclang/tests/fixtures/builtin_printgraph_json.jac +21 -0
  171. jaclang/tests/fixtures/builtin_printgraph_mermaid.jac +16 -0
  172. jaclang/tests/fixtures/byllmissue.jac +1 -1
  173. jaclang/tests/fixtures/chandra_bugs.jac +1 -1
  174. jaclang/tests/fixtures/chandra_bugs2.jac +21 -14
  175. jaclang/tests/fixtures/cls_method.jac +6 -6
  176. jaclang/tests/fixtures/concurrency.jac +39 -0
  177. jaclang/tests/fixtures/connect_traverse_syntax.jac +18 -0
  178. jaclang/tests/fixtures/create_dynamic_archetype.jac +35 -0
  179. jaclang/tests/fixtures/decl_defn_param_name.jac +4 -4
  180. jaclang/tests/fixtures/deep/deeper/__init__.jac +1 -0
  181. jaclang/tests/fixtures/deep/deeper/deep_outer_import.jac +2 -3
  182. jaclang/tests/fixtures/deep/deeper/deep_outer_import2.jac +3 -3
  183. jaclang/tests/fixtures/deep/deeper/snd_lev.jac +2 -2
  184. jaclang/tests/fixtures/deep/mycode.jac +1 -1
  185. jaclang/tests/fixtures/deep/one_lev.jac +3 -4
  186. jaclang/tests/fixtures/deep/one_lev_dup.jac +2 -2
  187. jaclang/tests/fixtures/deep_convert.jac +1 -1
  188. jaclang/tests/fixtures/deep_import.jac +2 -2
  189. jaclang/tests/fixtures/deep_import_interp.jac +8 -0
  190. jaclang/tests/fixtures/deep_import_mods.jac +3 -3
  191. jaclang/tests/fixtures/deferred_field.jac +1 -1
  192. jaclang/tests/fixtures/del_clean.jac +7 -0
  193. jaclang/tests/fixtures/disconn.jac +2 -2
  194. jaclang/tests/fixtures/dynamic_archetype.jac +34 -0
  195. jaclang/tests/fixtures/edge_ability.jac +49 -0
  196. jaclang/tests/fixtures/edge_node_walk.jac +12 -12
  197. jaclang/tests/fixtures/edge_ops.jac +7 -7
  198. jaclang/tests/fixtures/edges_walk.jac +10 -10
  199. jaclang/tests/fixtures/edgetypeissue.jac +1 -1
  200. jaclang/tests/fixtures/enum_inside_archtype.jac +4 -4
  201. jaclang/tests/fixtures/err.impl.jac +1 -1
  202. jaclang/tests/fixtures/err.jac +2 -2
  203. jaclang/tests/fixtures/err_runtime.jac +2 -2
  204. jaclang/tests/fixtures/foo.jac +7 -7
  205. jaclang/tests/fixtures/game1.jac +4 -4
  206. jaclang/tests/fixtures/gendot_bubble_sort.jac +4 -4
  207. jaclang/tests/fixtures/glob_multivar_statement.jac +1 -1
  208. jaclang/tests/fixtures/guess_game.jac +6 -6
  209. jaclang/tests/fixtures/has_goodness.jac +1 -1
  210. jaclang/tests/fixtures/hash_init_check.jac +3 -3
  211. jaclang/tests/fixtures/hello.jac +1 -1
  212. jaclang/tests/fixtures/here_usage_error.jac +21 -0
  213. jaclang/tests/fixtures/here_visitor_usage.jac +21 -0
  214. jaclang/tests/fixtures/ignore.jac +3 -3
  215. jaclang/tests/fixtures/ignore_dup.jac +3 -3
  216. jaclang/tests/fixtures/impl_match_confused.impl.jac +1 -1
  217. jaclang/tests/fixtures/import.jac +9 -9
  218. jaclang/tests/fixtures/import_all.jac +1 -1
  219. jaclang/tests/fixtures/index_slice.jac +1 -1
  220. jaclang/tests/fixtures/inherit_check.jac +3 -3
  221. jaclang/tests/fixtures/jac_from_py.py +4 -0
  222. jaclang/tests/fixtures/jacsamp.jac +1 -1
  223. jaclang/tests/fixtures/jactest_main.jac +1 -1
  224. jaclang/tests/fixtures/jp_importer.jac +7 -8
  225. jaclang/tests/fixtures/jp_importer_auto.jac +3 -3
  226. jaclang/tests/fixtures/lambda.jac +2 -2
  227. jaclang/tests/fixtures/needs_import.jac +6 -6
  228. jaclang/tests/fixtures/needs_import_1.jac +1 -1
  229. jaclang/tests/fixtures/needs_import_2.jac +1 -1
  230. jaclang/tests/fixtures/needs_import_3.jac +1 -1
  231. jaclang/tests/fixtures/needs_import_dup.jac +6 -6
  232. jaclang/tests/fixtures/node_del.jac +54 -0
  233. jaclang/tests/fixtures/nosigself.jac +3 -3
  234. jaclang/tests/fixtures/py2jac.py +30 -0
  235. jaclang/tests/fixtures/py_bool_expr.py +7 -0
  236. jaclang/tests/fixtures/py_namedexpr.py +7 -0
  237. jaclang/tests/fixtures/pyfunc_3.py +0 -2
  238. jaclang/tests/fixtures/random_check.jac +5 -5
  239. jaclang/tests/fixtures/simple_archs.jac +2 -2
  240. jaclang/tests/fixtures/simple_walk.jac +52 -0
  241. jaclang/tests/fixtures/slice_vals.jac +3 -3
  242. jaclang/tests/fixtures/sub_abil_sep.jac +3 -3
  243. jaclang/tests/fixtures/sub_abil_sep_multilev.jac +3 -3
  244. jaclang/tests/fixtures/trailing_comma.jac +4 -4
  245. jaclang/tests/fixtures/type_info.jac +5 -5
  246. jaclang/{compiler/passes/main/tests → tests}/fixtures/uninitialized_hasvars.jac +1 -1
  247. jaclang/tests/fixtures/visit_order.jac +4 -4
  248. jaclang/tests/fixtures/visit_traversal.jac +47 -0
  249. jaclang/tests/fixtures/walker_override.jac +2 -2
  250. jaclang/tests/fixtures/walker_update.jac +5 -5
  251. jaclang/tests/fixtures/with_context.jac +4 -4
  252. jaclang/tests/test_bugs.py +2 -2
  253. jaclang/tests/test_cli.py +127 -227
  254. jaclang/tests/test_language.py +542 -474
  255. jaclang/tests/test_man_code.py +2 -2
  256. jaclang/tests/test_reference.py +4 -4
  257. jaclang/tests/test_settings.py +16 -16
  258. jaclang/tests/test_typecheck.py +555 -0
  259. jaclang/utils/__init__.py +4 -0
  260. jaclang/utils/helpers.py +24 -31
  261. jaclang/utils/lang_tools.py +84 -75
  262. jaclang/utils/module_resolver.py +69 -0
  263. jaclang/utils/test.py +8 -5
  264. jaclang/utils/tests/test_lang_tools.py +40 -14
  265. jaclang/utils/treeprinter.py +178 -42
  266. jaclang/vendor/__init__.py +1 -2
  267. jaclang/vendor/attr/__init__.py +14 -44
  268. jaclang/vendor/attr/__init__.pyi +155 -321
  269. jaclang/vendor/attr/_cmp.py +25 -15
  270. jaclang/vendor/attr/_cmp.pyi +7 -7
  271. jaclang/vendor/attr/_compat.py +15 -8
  272. jaclang/vendor/attr/_config.py +1 -1
  273. jaclang/vendor/attr/_funcs.py +148 -163
  274. jaclang/vendor/attr/_make.py +859 -855
  275. jaclang/vendor/attr/_next_gen.py +426 -32
  276. jaclang/vendor/attr/converters.py +67 -49
  277. jaclang/vendor/attr/converters.pyi +13 -7
  278. jaclang/vendor/attr/filters.py +17 -11
  279. jaclang/vendor/attr/filters.pyi +3 -3
  280. jaclang/vendor/attr/setters.py +11 -5
  281. jaclang/vendor/attr/setters.pyi +2 -1
  282. jaclang/vendor/attr/validators.py +191 -162
  283. jaclang/vendor/attr/validators.pyi +25 -27
  284. jaclang/vendor/attrs/__init__.py +9 -5
  285. jaclang/vendor/attrs/__init__.pyi +225 -29
  286. jaclang/vendor/attrs-25.3.0.dist-info/INSTALLER +1 -0
  287. jaclang/vendor/{attrs-23.2.0.dist-info → attrs-25.3.0.dist-info}/METADATA +83 -53
  288. jaclang/vendor/attrs-25.3.0.dist-info/RECORD +56 -0
  289. jaclang/vendor/{attrs-23.2.0.dist-info → attrs-25.3.0.dist-info}/WHEEL +1 -1
  290. jaclang/vendor/bin/dmypy +8 -0
  291. jaclang/vendor/bin/mypy +8 -0
  292. jaclang/vendor/bin/mypyc +8 -0
  293. jaclang/vendor/bin/stubgen +8 -0
  294. jaclang/vendor/bin/stubtest +8 -0
  295. jaclang/vendor/cattr/gen.py +2 -2
  296. jaclang/vendor/cattr/preconf/bson.py +1 -0
  297. jaclang/vendor/cattr/preconf/json.py +1 -0
  298. jaclang/vendor/cattr/preconf/msgpack.py +1 -0
  299. jaclang/vendor/cattr/preconf/orjson.py +1 -0
  300. jaclang/vendor/cattr/preconf/pyyaml.py +1 -0
  301. jaclang/vendor/cattr/preconf/tomlkit.py +1 -0
  302. jaclang/vendor/cattr/preconf/ujson.py +1 -0
  303. jaclang/vendor/cattrs/__init__.py +21 -21
  304. jaclang/vendor/cattrs/_compat.py +176 -62
  305. jaclang/vendor/cattrs/_generics.py +5 -3
  306. jaclang/vendor/cattrs/cols.py +289 -0
  307. jaclang/vendor/cattrs/converters.py +505 -187
  308. jaclang/vendor/cattrs/disambiguators.py +118 -45
  309. jaclang/vendor/cattrs/dispatch.py +66 -36
  310. jaclang/vendor/cattrs/fns.py +6 -1
  311. jaclang/vendor/cattrs/gen/__init__.py +365 -202
  312. jaclang/vendor/cattrs/gen/_generics.py +41 -5
  313. jaclang/vendor/cattrs/gen/_lc.py +3 -2
  314. jaclang/vendor/cattrs/gen/_shared.py +39 -32
  315. jaclang/vendor/cattrs/gen/typeddicts.py +75 -88
  316. jaclang/vendor/cattrs/preconf/__init__.py +20 -0
  317. jaclang/vendor/cattrs/preconf/bson.py +7 -8
  318. jaclang/vendor/cattrs/preconf/cbor2.py +3 -0
  319. jaclang/vendor/cattrs/preconf/json.py +8 -4
  320. jaclang/vendor/cattrs/preconf/msgpack.py +3 -0
  321. jaclang/vendor/cattrs/preconf/msgspec.py +185 -0
  322. jaclang/vendor/cattrs/preconf/orjson.py +20 -7
  323. jaclang/vendor/cattrs/preconf/pyyaml.py +15 -3
  324. jaclang/vendor/cattrs/preconf/tomlkit.py +3 -1
  325. jaclang/vendor/cattrs/preconf/ujson.py +3 -0
  326. jaclang/vendor/cattrs/strategies/__init__.py +1 -0
  327. jaclang/vendor/cattrs/strategies/_class_methods.py +1 -1
  328. jaclang/vendor/cattrs/strategies/_subclasses.py +43 -29
  329. jaclang/vendor/cattrs/strategies/_unions.py +47 -24
  330. jaclang/vendor/cattrs/v.py +1 -0
  331. jaclang/vendor/cattrs-24.1.3.dist-info/INSTALLER +1 -0
  332. jaclang/vendor/cattrs-24.1.3.dist-info/METADATA +161 -0
  333. jaclang/vendor/cattrs-24.1.3.dist-info/RECORD +96 -0
  334. jaclang/vendor/{cattrs-23.2.3.dist-info → cattrs-24.1.3.dist-info}/WHEEL +1 -1
  335. jaclang/vendor/lark/__init__.py +38 -38
  336. jaclang/vendor/lark/__pyinstaller/__init__.py +6 -6
  337. jaclang/vendor/lark/__pyinstaller/hook-lark.py +14 -14
  338. jaclang/vendor/lark/ast_utils.py +59 -59
  339. jaclang/vendor/lark/common.py +86 -89
  340. jaclang/vendor/lark/exceptions.py +292 -292
  341. jaclang/vendor/lark/grammar.py +130 -130
  342. jaclang/vendor/lark/grammars/common.lark +59 -59
  343. jaclang/vendor/lark/grammars/lark.lark +62 -62
  344. jaclang/vendor/lark/grammars/python.lark +302 -302
  345. jaclang/vendor/lark/grammars/unicode.lark +7 -7
  346. jaclang/vendor/lark/indenter.py +143 -112
  347. jaclang/vendor/lark/lark.py +658 -661
  348. jaclang/vendor/lark/lexer.py +678 -678
  349. jaclang/vendor/lark/load_grammar.py +1428 -1428
  350. jaclang/vendor/lark/parse_tree_builder.py +391 -391
  351. jaclang/vendor/lark/parser_frontends.py +257 -257
  352. jaclang/vendor/lark/parsers/cyk.py +340 -340
  353. jaclang/vendor/lark/parsers/earley.py +317 -308
  354. jaclang/vendor/lark/parsers/earley_common.py +42 -42
  355. jaclang/vendor/lark/parsers/earley_forest.py +802 -810
  356. jaclang/vendor/lark/parsers/grammar_analysis.py +203 -203
  357. jaclang/vendor/lark/parsers/lalr_analysis.py +332 -332
  358. jaclang/vendor/lark/parsers/lalr_interactive_parser.py +158 -157
  359. jaclang/vendor/lark/parsers/lalr_parser.py +122 -122
  360. jaclang/vendor/lark/parsers/lalr_parser_state.py +110 -110
  361. jaclang/vendor/lark/parsers/xearley.py +165 -165
  362. jaclang/vendor/lark/reconstruct.py +107 -107
  363. jaclang/vendor/lark/tools/__init__.py +70 -71
  364. jaclang/vendor/lark/tools/nearley.py +202 -202
  365. jaclang/vendor/lark/tools/serialize.py +32 -32
  366. jaclang/vendor/lark/tools/standalone.py +196 -196
  367. jaclang/vendor/lark/tree.py +267 -272
  368. jaclang/vendor/lark/tree_matcher.py +186 -186
  369. jaclang/vendor/lark/utils.py +346 -361
  370. jaclang/vendor/lark/visitors.py +596 -593
  371. jaclang/vendor/lark-1.2.2.dist-info/INSTALLER +1 -0
  372. jaclang/vendor/{lark-1.1.9.dist-info → lark-1.2.2.dist-info}/METADATA +48 -47
  373. jaclang/vendor/lark-1.2.2.dist-info/RECORD +83 -0
  374. jaclang/vendor/{mypy_extensions-1.0.0.dist-info → lark-1.2.2.dist-info}/WHEEL +1 -1
  375. jaclang/vendor/{lark-1.1.9.dist-info → lark-1.2.2.dist-info/licenses}/LICENSE +18 -18
  376. jaclang/vendor/lsprotocol-2023.0.1.dist-info/INSTALLER +1 -0
  377. jaclang/vendor/lsprotocol-2023.0.1.dist-info/METADATA +2 -1
  378. jaclang/vendor/lsprotocol-2023.0.1.dist-info/RECORD +17 -10
  379. jaclang/vendor/lsprotocol-2023.0.1.dist-info/WHEEL +1 -1
  380. jaclang/vendor/pluggy/_version.py +7 -2
  381. jaclang/vendor/pluggy-1.5.0.dist-info/INSTALLER +1 -0
  382. jaclang/vendor/pluggy-1.5.0.dist-info/METADATA +6 -5
  383. jaclang/vendor/pluggy-1.5.0.dist-info/RECORD +24 -14
  384. jaclang/vendor/pluggy-1.5.0.dist-info/WHEEL +1 -1
  385. jaclang/vendor/pygls-1.3.1.dist-info/INSTALLER +1 -0
  386. jaclang/vendor/pygls-1.3.1.dist-info/METADATA +2 -2
  387. jaclang/vendor/pygls-1.3.1.dist-info/RECORD +45 -24
  388. jaclang/vendor/pygls-1.3.1.dist-info/WHEEL +1 -1
  389. {jaclang-0.7.34.dist-info → jaclang-0.8.1.dist-info}/METADATA +2 -1
  390. jaclang-0.8.1.dist-info/RECORD +568 -0
  391. {jaclang-0.7.34.dist-info → jaclang-0.8.1.dist-info}/WHEEL +1 -1
  392. jaclang/compiler/.gitignore +0 -1
  393. jaclang/compiler/compile.py +0 -119
  394. jaclang/compiler/passes/main/access_modifier_pass.py +0 -130
  395. jaclang/compiler/passes/main/fuse_typeinfo_pass.py +0 -656
  396. jaclang/compiler/passes/main/py_collect_dep_pass.py +0 -78
  397. jaclang/compiler/passes/main/pyout_pass.py +0 -86
  398. jaclang/compiler/passes/main/registry_pass.py +0 -156
  399. jaclang/compiler/passes/main/schedules.py +0 -47
  400. jaclang/compiler/passes/main/sub_node_tab_pass.py +0 -36
  401. jaclang/compiler/passes/main/tests/fixtures/registry.jac +0 -36
  402. jaclang/compiler/passes/main/tests/test_decl_def_match_pass.py +0 -114
  403. jaclang/compiler/passes/main/tests/test_registry_pass.py +0 -31
  404. jaclang/compiler/passes/main/tests/test_type_check_pass.py +0 -91
  405. jaclang/compiler/passes/main/tests/test_typeinfo_pass.py +0 -29
  406. jaclang/compiler/passes/main/type_check_pass.py +0 -128
  407. jaclang/compiler/passes/tool/schedules.py +0 -18
  408. jaclang/compiler/passes/tool/tests/fixtures/genai/essay_review.jac +0 -36
  409. jaclang/compiler/passes/tool/tests/fixtures/genai/expert_answer.jac +0 -17
  410. jaclang/compiler/passes/tool/tests/fixtures/genai/joke_gen.jac +0 -32
  411. jaclang/compiler/passes/tool/tests/fixtures/genai/odd_word_out.jac +0 -27
  412. jaclang/compiler/passes/tool/tests/fixtures/genai/personality_finder.jac +0 -35
  413. jaclang/compiler/passes/tool/tests/fixtures/genai/text_to_type.jac +0 -25
  414. jaclang/compiler/passes/tool/tests/fixtures/genai/translator.jac +0 -13
  415. jaclang/compiler/passes/tool/tests/fixtures/genai/wikipedia.jac +0 -63
  416. jaclang/compiler/passes/tool/tests/fixtures/general_format_checks/architype_test.jac +0 -13
  417. jaclang/compiler/passes/utils/mypy_ast_build.py +0 -940
  418. jaclang/compiler/py_info.py +0 -22
  419. jaclang/compiler/semtable.py +0 -159
  420. jaclang/compiler/symtable.py +0 -297
  421. jaclang/langserve/engine.py +0 -541
  422. jaclang/langserve/sem_manager.py +0 -379
  423. jaclang/langserve/server.py +0 -176
  424. jaclang/langserve/tests/session.py +0 -255
  425. jaclang/langserve/utils.py +0 -458
  426. jaclang/plugin/__init__.py +0 -7
  427. jaclang/plugin/builtin.py +0 -57
  428. jaclang/plugin/default.py +0 -1443
  429. jaclang/plugin/feature.py +0 -574
  430. jaclang/plugin/plugin.md +0 -471
  431. jaclang/plugin/spec.py +0 -536
  432. jaclang/plugin/tests/fixtures/impl_match_impl.jac +0 -3
  433. jaclang/plugin/tests/test_features.py +0 -56
  434. jaclang/runtimelib/context.py +0 -191
  435. jaclang/tests/fixtures/builtin_dotgen.jac +0 -42
  436. jaclang/tests/fixtures/create_dynamic_architype.jac +0 -35
  437. jaclang/tests/fixtures/dynamic_architype.jac +0 -34
  438. jaclang/tests/fixtures/impl_grab.impl.jac +0 -5
  439. jaclang/tests/fixtures/mtest.impl.jac +0 -6
  440. jaclang/tests/fixtures/registry.jac +0 -58
  441. jaclang/tests/fixtures/semstr.jac +0 -30
  442. jaclang/tests/main.jac +0 -2
  443. jaclang/utils/profiler.py +0 -62
  444. jaclang/vendor/attrs-23.2.0.dist-info/RECORD +0 -35
  445. jaclang/vendor/cattrs-23.2.3.dist-info/METADATA +0 -221
  446. jaclang/vendor/cattrs-23.2.3.dist-info/RECORD +0 -48
  447. jaclang/vendor/lark-1.1.9.dist-info/RECORD +0 -46
  448. jaclang/vendor/lark-1.1.9.dist-info/WHEEL +0 -5
  449. jaclang/vendor/mypy/__init__.py +0 -1
  450. jaclang/vendor/mypy/__main__.py +0 -37
  451. jaclang/vendor/mypy/api.py +0 -94
  452. jaclang/vendor/mypy/applytype.py +0 -172
  453. jaclang/vendor/mypy/argmap.py +0 -268
  454. jaclang/vendor/mypy/binder.py +0 -538
  455. jaclang/vendor/mypy/bogus_type.py +0 -27
  456. jaclang/vendor/mypy/build.py +0 -3562
  457. jaclang/vendor/mypy/checker.py +0 -8445
  458. jaclang/vendor/mypy/checkexpr.py +0 -6623
  459. jaclang/vendor/mypy/checkmember.py +0 -1363
  460. jaclang/vendor/mypy/checkpattern.py +0 -801
  461. jaclang/vendor/mypy/checkstrformat.py +0 -1109
  462. jaclang/vendor/mypy/config_parser.py +0 -670
  463. jaclang/vendor/mypy/constant_fold.py +0 -187
  464. jaclang/vendor/mypy/constraints.py +0 -1636
  465. jaclang/vendor/mypy/copytype.py +0 -133
  466. jaclang/vendor/mypy/defaults.py +0 -46
  467. jaclang/vendor/mypy/dmypy/__main__.py +0 -6
  468. jaclang/vendor/mypy/dmypy/client.py +0 -749
  469. jaclang/vendor/mypy/dmypy_os.py +0 -42
  470. jaclang/vendor/mypy/dmypy_server.py +0 -1107
  471. jaclang/vendor/mypy/dmypy_util.py +0 -117
  472. jaclang/vendor/mypy/erasetype.py +0 -278
  473. jaclang/vendor/mypy/errorcodes.py +0 -291
  474. jaclang/vendor/mypy/errors.py +0 -1280
  475. jaclang/vendor/mypy/evalexpr.py +0 -205
  476. jaclang/vendor/mypy/expandtype.py +0 -524
  477. jaclang/vendor/mypy/exprtotype.py +0 -209
  478. jaclang/vendor/mypy/fastparse.py +0 -2147
  479. jaclang/vendor/mypy/find_sources.py +0 -243
  480. jaclang/vendor/mypy/fixup.py +0 -428
  481. jaclang/vendor/mypy/freetree.py +0 -23
  482. jaclang/vendor/mypy/fscache.py +0 -309
  483. jaclang/vendor/mypy/fswatcher.py +0 -106
  484. jaclang/vendor/mypy/gclogger.py +0 -47
  485. jaclang/vendor/mypy/git.py +0 -34
  486. jaclang/vendor/mypy/graph_utils.py +0 -112
  487. jaclang/vendor/mypy/indirection.py +0 -121
  488. jaclang/vendor/mypy/infer.py +0 -75
  489. jaclang/vendor/mypy/inspections.py +0 -627
  490. jaclang/vendor/mypy/ipc.py +0 -310
  491. jaclang/vendor/mypy/join.py +0 -871
  492. jaclang/vendor/mypy/literals.py +0 -306
  493. jaclang/vendor/mypy/lookup.py +0 -61
  494. jaclang/vendor/mypy/main.py +0 -1574
  495. jaclang/vendor/mypy/maptype.py +0 -106
  496. jaclang/vendor/mypy/meet.py +0 -1140
  497. jaclang/vendor/mypy/memprofile.py +0 -121
  498. jaclang/vendor/mypy/message_registry.py +0 -329
  499. jaclang/vendor/mypy/messages.py +0 -3186
  500. jaclang/vendor/mypy/metastore.py +0 -225
  501. jaclang/vendor/mypy/mixedtraverser.py +0 -112
  502. jaclang/vendor/mypy/modulefinder.py +0 -875
  503. jaclang/vendor/mypy/moduleinspect.py +0 -184
  504. jaclang/vendor/mypy/mro.py +0 -62
  505. jaclang/vendor/mypy/nodes.py +0 -4115
  506. jaclang/vendor/mypy/operators.py +0 -126
  507. jaclang/vendor/mypy/options.py +0 -556
  508. jaclang/vendor/mypy/parse.py +0 -30
  509. jaclang/vendor/mypy/partially_defined.py +0 -675
  510. jaclang/vendor/mypy/patterns.py +0 -150
  511. jaclang/vendor/mypy/plugin.py +0 -901
  512. jaclang/vendor/mypy/plugins/attrs.py +0 -1166
  513. jaclang/vendor/mypy/plugins/common.py +0 -440
  514. jaclang/vendor/mypy/plugins/ctypes.py +0 -245
  515. jaclang/vendor/mypy/plugins/dataclasses.py +0 -1108
  516. jaclang/vendor/mypy/plugins/default.py +0 -531
  517. jaclang/vendor/mypy/plugins/enums.py +0 -259
  518. jaclang/vendor/mypy/plugins/functools.py +0 -104
  519. jaclang/vendor/mypy/plugins/proper_plugin.py +0 -175
  520. jaclang/vendor/mypy/plugins/singledispatch.py +0 -224
  521. jaclang/vendor/mypy/py.typed +0 -1
  522. jaclang/vendor/mypy/pyinfo.py +0 -78
  523. jaclang/vendor/mypy/reachability.py +0 -362
  524. jaclang/vendor/mypy/refinfo.py +0 -92
  525. jaclang/vendor/mypy/renaming.py +0 -568
  526. jaclang/vendor/mypy/report.py +0 -924
  527. jaclang/vendor/mypy/scope.py +0 -125
  528. jaclang/vendor/mypy/semanal.py +0 -7187
  529. jaclang/vendor/mypy/semanal_classprop.py +0 -187
  530. jaclang/vendor/mypy/semanal_enum.py +0 -253
  531. jaclang/vendor/mypy/semanal_infer.py +0 -128
  532. jaclang/vendor/mypy/semanal_main.py +0 -511
  533. jaclang/vendor/mypy/semanal_namedtuple.py +0 -670
  534. jaclang/vendor/mypy/semanal_newtype.py +0 -273
  535. jaclang/vendor/mypy/semanal_pass1.py +0 -156
  536. jaclang/vendor/mypy/semanal_shared.py +0 -490
  537. jaclang/vendor/mypy/semanal_typeargs.py +0 -265
  538. jaclang/vendor/mypy/semanal_typeddict.py +0 -575
  539. jaclang/vendor/mypy/server/astdiff.py +0 -518
  540. jaclang/vendor/mypy/server/astmerge.py +0 -562
  541. jaclang/vendor/mypy/server/aststrip.py +0 -281
  542. jaclang/vendor/mypy/server/deps.py +0 -1137
  543. jaclang/vendor/mypy/server/mergecheck.py +0 -83
  544. jaclang/vendor/mypy/server/objgraph.py +0 -101
  545. jaclang/vendor/mypy/server/subexpr.py +0 -198
  546. jaclang/vendor/mypy/server/target.py +0 -11
  547. jaclang/vendor/mypy/server/trigger.py +0 -26
  548. jaclang/vendor/mypy/server/update.py +0 -1339
  549. jaclang/vendor/mypy/sharedparse.py +0 -112
  550. jaclang/vendor/mypy/solve.py +0 -562
  551. jaclang/vendor/mypy/split_namespace.py +0 -35
  552. jaclang/vendor/mypy/state.py +0 -28
  553. jaclang/vendor/mypy/stats.py +0 -489
  554. jaclang/vendor/mypy/strconv.py +0 -641
  555. jaclang/vendor/mypy/stubdoc.py +0 -491
  556. jaclang/vendor/mypy/stubgen.py +0 -1886
  557. jaclang/vendor/mypy/stubgenc.py +0 -993
  558. jaclang/vendor/mypy/stubinfo.py +0 -173
  559. jaclang/vendor/mypy/stubtest.py +0 -2079
  560. jaclang/vendor/mypy/stubutil.py +0 -834
  561. jaclang/vendor/mypy/subtypes.py +0 -1980
  562. jaclang/vendor/mypy/suggestions.py +0 -1046
  563. jaclang/vendor/mypy/test/config.py +0 -28
  564. jaclang/vendor/mypy/test/data.py +0 -821
  565. jaclang/vendor/mypy/test/helpers.py +0 -476
  566. jaclang/vendor/mypy/test/meta/_pytest.py +0 -72
  567. jaclang/vendor/mypy/test/meta/test_diff_helper.py +0 -47
  568. jaclang/vendor/mypy/test/meta/test_parse_data.py +0 -73
  569. jaclang/vendor/mypy/test/meta/test_update_data.py +0 -135
  570. jaclang/vendor/mypy/test/test_find_sources.py +0 -376
  571. jaclang/vendor/mypy/test/test_ref_info.py +0 -45
  572. jaclang/vendor/mypy/test/testapi.py +0 -45
  573. jaclang/vendor/mypy/test/testargs.py +0 -77
  574. jaclang/vendor/mypy/test/testcheck.py +0 -322
  575. jaclang/vendor/mypy/test/testcmdline.py +0 -152
  576. jaclang/vendor/mypy/test/testconstraints.py +0 -134
  577. jaclang/vendor/mypy/test/testdaemon.py +0 -132
  578. jaclang/vendor/mypy/test/testdeps.py +0 -77
  579. jaclang/vendor/mypy/test/testdiff.py +0 -67
  580. jaclang/vendor/mypy/test/testerrorstream.py +0 -46
  581. jaclang/vendor/mypy/test/testfinegrained.py +0 -438
  582. jaclang/vendor/mypy/test/testfinegrainedcache.py +0 -18
  583. jaclang/vendor/mypy/test/testformatter.py +0 -85
  584. jaclang/vendor/mypy/test/testfscache.py +0 -101
  585. jaclang/vendor/mypy/test/testgraph.py +0 -83
  586. jaclang/vendor/mypy/test/testinfer.py +0 -373
  587. jaclang/vendor/mypy/test/testipc.py +0 -119
  588. jaclang/vendor/mypy/test/testmerge.py +0 -238
  589. jaclang/vendor/mypy/test/testmodulefinder.py +0 -278
  590. jaclang/vendor/mypy/test/testmypyc.py +0 -14
  591. jaclang/vendor/mypy/test/testparse.py +0 -107
  592. jaclang/vendor/mypy/test/testpep561.py +0 -211
  593. jaclang/vendor/mypy/test/testpythoneval.py +0 -117
  594. jaclang/vendor/mypy/test/testreports.py +0 -55
  595. jaclang/vendor/mypy/test/testsemanal.py +0 -209
  596. jaclang/vendor/mypy/test/testsolve.py +0 -285
  597. jaclang/vendor/mypy/test/teststubgen.py +0 -1412
  598. jaclang/vendor/mypy/test/teststubinfo.py +0 -12
  599. jaclang/vendor/mypy/test/teststubtest.py +0 -2492
  600. jaclang/vendor/mypy/test/testsubtypes.py +0 -303
  601. jaclang/vendor/mypy/test/testtransform.py +0 -64
  602. jaclang/vendor/mypy/test/testtypegen.py +0 -83
  603. jaclang/vendor/mypy/test/testtypes.py +0 -1551
  604. jaclang/vendor/mypy/test/testutil.py +0 -111
  605. jaclang/vendor/mypy/test/typefixture.py +0 -415
  606. jaclang/vendor/mypy/test/update_data.py +0 -87
  607. jaclang/vendor/mypy/test/visitors.py +0 -63
  608. jaclang/vendor/mypy/traverser.py +0 -961
  609. jaclang/vendor/mypy/treetransform.py +0 -800
  610. jaclang/vendor/mypy/tvar_scope.py +0 -169
  611. jaclang/vendor/mypy/type_visitor.py +0 -564
  612. jaclang/vendor/mypy/typeanal.py +0 -2596
  613. jaclang/vendor/mypy/typeops.py +0 -1082
  614. jaclang/vendor/mypy/types.py +0 -3708
  615. jaclang/vendor/mypy/types_utils.py +0 -166
  616. jaclang/vendor/mypy/typeshed/LICENSE +0 -237
  617. jaclang/vendor/mypy/typeshed/stdlib/VERSIONS +0 -309
  618. jaclang/vendor/mypy/typeshed/stdlib/__future__.pyi +0 -36
  619. jaclang/vendor/mypy/typeshed/stdlib/__main__.pyi +0 -3
  620. jaclang/vendor/mypy/typeshed/stdlib/_ast.pyi +0 -591
  621. jaclang/vendor/mypy/typeshed/stdlib/_bisect.pyi +0 -84
  622. jaclang/vendor/mypy/typeshed/stdlib/_bootlocale.pyi +0 -1
  623. jaclang/vendor/mypy/typeshed/stdlib/_codecs.pyi +0 -133
  624. jaclang/vendor/mypy/typeshed/stdlib/_collections_abc.pyi +0 -94
  625. jaclang/vendor/mypy/typeshed/stdlib/_compat_pickle.pyi +0 -8
  626. jaclang/vendor/mypy/typeshed/stdlib/_compression.pyi +0 -25
  627. jaclang/vendor/mypy/typeshed/stdlib/_csv.pyi +0 -90
  628. jaclang/vendor/mypy/typeshed/stdlib/_ctypes.pyi +0 -207
  629. jaclang/vendor/mypy/typeshed/stdlib/_curses.pyi +0 -566
  630. jaclang/vendor/mypy/typeshed/stdlib/_decimal.pyi +0 -281
  631. jaclang/vendor/mypy/typeshed/stdlib/_dummy_thread.pyi +0 -33
  632. jaclang/vendor/mypy/typeshed/stdlib/_dummy_threading.pyi +0 -164
  633. jaclang/vendor/mypy/typeshed/stdlib/_heapq.pyi +0 -11
  634. jaclang/vendor/mypy/typeshed/stdlib/_imp.pyi +0 -28
  635. jaclang/vendor/mypy/typeshed/stdlib/_json.pyi +0 -49
  636. jaclang/vendor/mypy/typeshed/stdlib/_locale.pyi +0 -100
  637. jaclang/vendor/mypy/typeshed/stdlib/_lsprof.pyi +0 -35
  638. jaclang/vendor/mypy/typeshed/stdlib/_markupbase.pyi +0 -16
  639. jaclang/vendor/mypy/typeshed/stdlib/_msi.pyi +0 -92
  640. jaclang/vendor/mypy/typeshed/stdlib/_operator.pyi +0 -147
  641. jaclang/vendor/mypy/typeshed/stdlib/_osx_support.pyi +0 -34
  642. jaclang/vendor/mypy/typeshed/stdlib/_posixsubprocess.pyi +0 -33
  643. jaclang/vendor/mypy/typeshed/stdlib/_py_abc.pyi +0 -14
  644. jaclang/vendor/mypy/typeshed/stdlib/_pydecimal.pyi +0 -43
  645. jaclang/vendor/mypy/typeshed/stdlib/_random.pyi +0 -12
  646. jaclang/vendor/mypy/typeshed/stdlib/_sitebuiltins.pyi +0 -16
  647. jaclang/vendor/mypy/typeshed/stdlib/_socket.pyi +0 -803
  648. jaclang/vendor/mypy/typeshed/stdlib/_stat.pyi +0 -103
  649. jaclang/vendor/mypy/typeshed/stdlib/_thread.pyi +0 -59
  650. jaclang/vendor/mypy/typeshed/stdlib/_threading_local.pyi +0 -17
  651. jaclang/vendor/mypy/typeshed/stdlib/_tkinter.pyi +0 -121
  652. jaclang/vendor/mypy/typeshed/stdlib/_tracemalloc.pyi +0 -17
  653. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/__init__.pyi +0 -347
  654. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/dbapi.pyi +0 -37
  655. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/wsgi.pyi +0 -44
  656. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/xml.pyi +0 -9
  657. jaclang/vendor/mypy/typeshed/stdlib/_warnings.pyi +0 -55
  658. jaclang/vendor/mypy/typeshed/stdlib/_weakref.pyi +0 -41
  659. jaclang/vendor/mypy/typeshed/stdlib/_weakrefset.pyi +0 -51
  660. jaclang/vendor/mypy/typeshed/stdlib/_winapi.pyi +0 -255
  661. jaclang/vendor/mypy/typeshed/stdlib/abc.pyi +0 -51
  662. jaclang/vendor/mypy/typeshed/stdlib/aifc.pyi +0 -91
  663. jaclang/vendor/mypy/typeshed/stdlib/antigravity.pyi +0 -3
  664. jaclang/vendor/mypy/typeshed/stdlib/argparse.pyi +0 -595
  665. jaclang/vendor/mypy/typeshed/stdlib/array.pyi +0 -92
  666. jaclang/vendor/mypy/typeshed/stdlib/ast.pyi +0 -277
  667. jaclang/vendor/mypy/typeshed/stdlib/asynchat.pyi +0 -21
  668. jaclang/vendor/mypy/typeshed/stdlib/asyncio/__init__.pyi +0 -41
  669. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_events.pyi +0 -440
  670. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_futures.pyi +0 -19
  671. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_subprocess.pyi +0 -63
  672. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_tasks.pyi +0 -9
  673. jaclang/vendor/mypy/typeshed/stdlib/asyncio/constants.pyi +0 -20
  674. jaclang/vendor/mypy/typeshed/stdlib/asyncio/coroutines.pyi +0 -26
  675. jaclang/vendor/mypy/typeshed/stdlib/asyncio/events.pyi +0 -580
  676. jaclang/vendor/mypy/typeshed/stdlib/asyncio/exceptions.pyi +0 -43
  677. jaclang/vendor/mypy/typeshed/stdlib/asyncio/format_helpers.pyi +0 -20
  678. jaclang/vendor/mypy/typeshed/stdlib/asyncio/futures.pyi +0 -57
  679. jaclang/vendor/mypy/typeshed/stdlib/asyncio/locks.pyi +0 -121
  680. jaclang/vendor/mypy/typeshed/stdlib/asyncio/log.pyi +0 -3
  681. jaclang/vendor/mypy/typeshed/stdlib/asyncio/mixins.pyi +0 -9
  682. jaclang/vendor/mypy/typeshed/stdlib/asyncio/proactor_events.pyi +0 -64
  683. jaclang/vendor/mypy/typeshed/stdlib/asyncio/protocols.pyi +0 -34
  684. jaclang/vendor/mypy/typeshed/stdlib/asyncio/queues.pyi +0 -47
  685. jaclang/vendor/mypy/typeshed/stdlib/asyncio/runners.pyi +0 -32
  686. jaclang/vendor/mypy/typeshed/stdlib/asyncio/selector_events.pyi +0 -8
  687. jaclang/vendor/mypy/typeshed/stdlib/asyncio/sslproto.pyi +0 -165
  688. jaclang/vendor/mypy/typeshed/stdlib/asyncio/staggered.pyi +0 -10
  689. jaclang/vendor/mypy/typeshed/stdlib/asyncio/streams.pyi +0 -153
  690. jaclang/vendor/mypy/typeshed/stdlib/asyncio/subprocess.pyi +0 -229
  691. jaclang/vendor/mypy/typeshed/stdlib/asyncio/taskgroups.pyi +0 -25
  692. jaclang/vendor/mypy/typeshed/stdlib/asyncio/tasks.pyi +0 -497
  693. jaclang/vendor/mypy/typeshed/stdlib/asyncio/threads.pyi +0 -9
  694. jaclang/vendor/mypy/typeshed/stdlib/asyncio/timeouts.pyi +0 -19
  695. jaclang/vendor/mypy/typeshed/stdlib/asyncio/transports.pyi +0 -47
  696. jaclang/vendor/mypy/typeshed/stdlib/asyncio/trsock.pyi +0 -94
  697. jaclang/vendor/mypy/typeshed/stdlib/asyncio/unix_events.pyi +0 -196
  698. jaclang/vendor/mypy/typeshed/stdlib/asyncio/windows_events.pyi +0 -85
  699. jaclang/vendor/mypy/typeshed/stdlib/asyncio/windows_utils.pyi +0 -49
  700. jaclang/vendor/mypy/typeshed/stdlib/asyncore.pyi +0 -90
  701. jaclang/vendor/mypy/typeshed/stdlib/atexit.pyi +0 -12
  702. jaclang/vendor/mypy/typeshed/stdlib/audioop.pyi +0 -43
  703. jaclang/vendor/mypy/typeshed/stdlib/base64.pyi +0 -59
  704. jaclang/vendor/mypy/typeshed/stdlib/bdb.pyi +0 -102
  705. jaclang/vendor/mypy/typeshed/stdlib/binascii.pyi +0 -36
  706. jaclang/vendor/mypy/typeshed/stdlib/binhex.pyi +0 -45
  707. jaclang/vendor/mypy/typeshed/stdlib/bisect.pyi +0 -4
  708. jaclang/vendor/mypy/typeshed/stdlib/builtins.pyi +0 -1936
  709. jaclang/vendor/mypy/typeshed/stdlib/bz2.pyi +0 -146
  710. jaclang/vendor/mypy/typeshed/stdlib/cProfile.pyi +0 -31
  711. jaclang/vendor/mypy/typeshed/stdlib/calendar.pyi +0 -208
  712. jaclang/vendor/mypy/typeshed/stdlib/cgi.pyi +0 -118
  713. jaclang/vendor/mypy/typeshed/stdlib/cgitb.pyi +0 -32
  714. jaclang/vendor/mypy/typeshed/stdlib/chunk.pyi +0 -20
  715. jaclang/vendor/mypy/typeshed/stdlib/cmath.pyi +0 -36
  716. jaclang/vendor/mypy/typeshed/stdlib/cmd.pyi +0 -45
  717. jaclang/vendor/mypy/typeshed/stdlib/code.pyi +0 -33
  718. jaclang/vendor/mypy/typeshed/stdlib/codecs.pyi +0 -285
  719. jaclang/vendor/mypy/typeshed/stdlib/codeop.pyi +0 -13
  720. jaclang/vendor/mypy/typeshed/stdlib/collections/__init__.pyi +0 -485
  721. jaclang/vendor/mypy/typeshed/stdlib/collections/abc.pyi +0 -2
  722. jaclang/vendor/mypy/typeshed/stdlib/colorsys.pyi +0 -13
  723. jaclang/vendor/mypy/typeshed/stdlib/compileall.pyi +0 -111
  724. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/__init__.pyi +0 -32
  725. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/_base.pyi +0 -126
  726. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/process.pyi +0 -233
  727. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/thread.pyi +0 -80
  728. jaclang/vendor/mypy/typeshed/stdlib/configparser.pyi +0 -313
  729. jaclang/vendor/mypy/typeshed/stdlib/contextlib.pyi +0 -208
  730. jaclang/vendor/mypy/typeshed/stdlib/contextvars.pyi +0 -63
  731. jaclang/vendor/mypy/typeshed/stdlib/copy.pyi +0 -16
  732. jaclang/vendor/mypy/typeshed/stdlib/copyreg.pyi +0 -21
  733. jaclang/vendor/mypy/typeshed/stdlib/crypt.pyi +0 -12
  734. jaclang/vendor/mypy/typeshed/stdlib/csv.pyi +0 -147
  735. jaclang/vendor/mypy/typeshed/stdlib/ctypes/__init__.pyi +0 -187
  736. jaclang/vendor/mypy/typeshed/stdlib/ctypes/_endian.pyi +0 -19
  737. jaclang/vendor/mypy/typeshed/stdlib/ctypes/util.pyi +0 -6
  738. jaclang/vendor/mypy/typeshed/stdlib/ctypes/wintypes.pyi +0 -298
  739. jaclang/vendor/mypy/typeshed/stdlib/curses/__init__.pyi +0 -22
  740. jaclang/vendor/mypy/typeshed/stdlib/curses/ascii.pyi +0 -62
  741. jaclang/vendor/mypy/typeshed/stdlib/curses/has_key.pyi +0 -1
  742. jaclang/vendor/mypy/typeshed/stdlib/curses/panel.pyi +0 -22
  743. jaclang/vendor/mypy/typeshed/stdlib/curses/textpad.pyi +0 -11
  744. jaclang/vendor/mypy/typeshed/stdlib/dataclasses.pyi +0 -315
  745. jaclang/vendor/mypy/typeshed/stdlib/datetime.pyi +0 -295
  746. jaclang/vendor/mypy/typeshed/stdlib/dbm/__init__.pyi +0 -95
  747. jaclang/vendor/mypy/typeshed/stdlib/dbm/dumb.pyi +0 -31
  748. jaclang/vendor/mypy/typeshed/stdlib/dbm/gnu.pyi +0 -41
  749. jaclang/vendor/mypy/typeshed/stdlib/dbm/ndbm.pyi +0 -37
  750. jaclang/vendor/mypy/typeshed/stdlib/decimal.pyi +0 -2
  751. jaclang/vendor/mypy/typeshed/stdlib/difflib.pyi +0 -140
  752. jaclang/vendor/mypy/typeshed/stdlib/dis.pyi +0 -144
  753. jaclang/vendor/mypy/typeshed/stdlib/distutils/__init__.pyi +0 -5
  754. jaclang/vendor/mypy/typeshed/stdlib/distutils/archive_util.pyi +0 -20
  755. jaclang/vendor/mypy/typeshed/stdlib/distutils/bcppcompiler.pyi +0 -3
  756. jaclang/vendor/mypy/typeshed/stdlib/distutils/ccompiler.pyi +0 -152
  757. jaclang/vendor/mypy/typeshed/stdlib/distutils/cmd.pyi +0 -66
  758. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist.pyi +0 -25
  759. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_dumb.pyi +0 -21
  760. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_msi.pyi +0 -45
  761. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_rpm.pyi +0 -52
  762. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_wininst.pyi +0 -16
  763. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build.pyi +0 -31
  764. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_clib.pyi +0 -27
  765. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_ext.pyi +0 -50
  766. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_py.pyi +0 -44
  767. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_scripts.pyi +0 -24
  768. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/check.pyi +0 -39
  769. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/clean.pyi +0 -17
  770. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/config.pyi +0 -83
  771. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install.pyi +0 -63
  772. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_data.pyi +0 -19
  773. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_egg_info.pyi +0 -18
  774. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_headers.pyi +0 -16
  775. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_lib.pyi +0 -25
  776. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_scripts.pyi +0 -18
  777. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/register.pyi +0 -18
  778. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/sdist.pyi +0 -42
  779. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/upload.pyi +0 -17
  780. jaclang/vendor/mypy/typeshed/stdlib/distutils/config.pyi +0 -17
  781. jaclang/vendor/mypy/typeshed/stdlib/distutils/core.pyi +0 -57
  782. jaclang/vendor/mypy/typeshed/stdlib/distutils/cygwinccompiler.pyi +0 -20
  783. jaclang/vendor/mypy/typeshed/stdlib/distutils/debug.pyi +0 -1
  784. jaclang/vendor/mypy/typeshed/stdlib/distutils/dep_util.pyi +0 -3
  785. jaclang/vendor/mypy/typeshed/stdlib/distutils/dir_util.pyi +0 -13
  786. jaclang/vendor/mypy/typeshed/stdlib/distutils/dist.pyi +0 -146
  787. jaclang/vendor/mypy/typeshed/stdlib/distutils/errors.pyi +0 -19
  788. jaclang/vendor/mypy/typeshed/stdlib/distutils/extension.pyi +0 -36
  789. jaclang/vendor/mypy/typeshed/stdlib/distutils/fancy_getopt.pyi +0 -34
  790. jaclang/vendor/mypy/typeshed/stdlib/distutils/file_util.pyi +0 -14
  791. jaclang/vendor/mypy/typeshed/stdlib/distutils/filelist.pyi +0 -50
  792. jaclang/vendor/mypy/typeshed/stdlib/distutils/log.pyi +0 -25
  793. jaclang/vendor/mypy/typeshed/stdlib/distutils/msvccompiler.pyi +0 -3
  794. jaclang/vendor/mypy/typeshed/stdlib/distutils/spawn.pyi +0 -2
  795. jaclang/vendor/mypy/typeshed/stdlib/distutils/sysconfig.pyi +0 -31
  796. jaclang/vendor/mypy/typeshed/stdlib/distutils/text_file.pyi +0 -21
  797. jaclang/vendor/mypy/typeshed/stdlib/distutils/unixccompiler.pyi +0 -3
  798. jaclang/vendor/mypy/typeshed/stdlib/distutils/util.pyi +0 -46
  799. jaclang/vendor/mypy/typeshed/stdlib/distutils/version.pyi +0 -36
  800. jaclang/vendor/mypy/typeshed/stdlib/doctest.pyi +0 -248
  801. jaclang/vendor/mypy/typeshed/stdlib/dummy_threading.pyi +0 -2
  802. jaclang/vendor/mypy/typeshed/stdlib/email/__init__.pyi +0 -29
  803. jaclang/vendor/mypy/typeshed/stdlib/email/_header_value_parser.pyi +0 -392
  804. jaclang/vendor/mypy/typeshed/stdlib/email/_policybase.pyi +0 -51
  805. jaclang/vendor/mypy/typeshed/stdlib/email/base64mime.pyi +0 -13
  806. jaclang/vendor/mypy/typeshed/stdlib/email/charset.pyi +0 -34
  807. jaclang/vendor/mypy/typeshed/stdlib/email/contentmanager.pyi +0 -11
  808. jaclang/vendor/mypy/typeshed/stdlib/email/encoders.pyi +0 -8
  809. jaclang/vendor/mypy/typeshed/stdlib/email/errors.pyi +0 -39
  810. jaclang/vendor/mypy/typeshed/stdlib/email/feedparser.pyi +0 -23
  811. jaclang/vendor/mypy/typeshed/stdlib/email/generator.pyi +0 -40
  812. jaclang/vendor/mypy/typeshed/stdlib/email/header.pyi +0 -31
  813. jaclang/vendor/mypy/typeshed/stdlib/email/headerregistry.pyi +0 -178
  814. jaclang/vendor/mypy/typeshed/stdlib/email/iterators.pyi +0 -12
  815. jaclang/vendor/mypy/typeshed/stdlib/email/message.pyi +0 -165
  816. jaclang/vendor/mypy/typeshed/stdlib/email/mime/application.pyi +0 -17
  817. jaclang/vendor/mypy/typeshed/stdlib/email/mime/audio.pyi +0 -17
  818. jaclang/vendor/mypy/typeshed/stdlib/email/mime/base.pyi +0 -8
  819. jaclang/vendor/mypy/typeshed/stdlib/email/mime/image.pyi +0 -17
  820. jaclang/vendor/mypy/typeshed/stdlib/email/mime/message.pyi +0 -8
  821. jaclang/vendor/mypy/typeshed/stdlib/email/mime/multipart.pyi +0 -18
  822. jaclang/vendor/mypy/typeshed/stdlib/email/mime/nonmultipart.pyi +0 -5
  823. jaclang/vendor/mypy/typeshed/stdlib/email/mime/text.pyi +0 -9
  824. jaclang/vendor/mypy/typeshed/stdlib/email/parser.pyi +0 -26
  825. jaclang/vendor/mypy/typeshed/stdlib/email/policy.pyi +0 -38
  826. jaclang/vendor/mypy/typeshed/stdlib/email/quoprimime.pyi +0 -28
  827. jaclang/vendor/mypy/typeshed/stdlib/email/utils.pyi +0 -70
  828. jaclang/vendor/mypy/typeshed/stdlib/encodings/__init__.pyi +0 -10
  829. jaclang/vendor/mypy/typeshed/stdlib/encodings/utf_8.pyi +0 -21
  830. jaclang/vendor/mypy/typeshed/stdlib/encodings/utf_8_sig.pyi +0 -22
  831. jaclang/vendor/mypy/typeshed/stdlib/ensurepip/__init__.pyi +0 -12
  832. jaclang/vendor/mypy/typeshed/stdlib/enum.pyi +0 -320
  833. jaclang/vendor/mypy/typeshed/stdlib/errno.pyi +0 -222
  834. jaclang/vendor/mypy/typeshed/stdlib/faulthandler.pyi +0 -13
  835. jaclang/vendor/mypy/typeshed/stdlib/fcntl.pyi +0 -127
  836. jaclang/vendor/mypy/typeshed/stdlib/filecmp.pyi +0 -57
  837. jaclang/vendor/mypy/typeshed/stdlib/fileinput.pyi +0 -213
  838. jaclang/vendor/mypy/typeshed/stdlib/fnmatch.pyi +0 -9
  839. jaclang/vendor/mypy/typeshed/stdlib/formatter.pyi +0 -88
  840. jaclang/vendor/mypy/typeshed/stdlib/fractions.pyi +0 -150
  841. jaclang/vendor/mypy/typeshed/stdlib/ftplib.pyi +0 -178
  842. jaclang/vendor/mypy/typeshed/stdlib/functools.pyi +0 -213
  843. jaclang/vendor/mypy/typeshed/stdlib/gc.pyi +0 -37
  844. jaclang/vendor/mypy/typeshed/stdlib/genericpath.pyi +0 -52
  845. jaclang/vendor/mypy/typeshed/stdlib/getopt.pyi +0 -11
  846. jaclang/vendor/mypy/typeshed/stdlib/getpass.pyi +0 -8
  847. jaclang/vendor/mypy/typeshed/stdlib/gettext.pyi +0 -169
  848. jaclang/vendor/mypy/typeshed/stdlib/glob.pyi +0 -42
  849. jaclang/vendor/mypy/typeshed/stdlib/graphlib.pyi +0 -28
  850. jaclang/vendor/mypy/typeshed/stdlib/grp.pyi +0 -22
  851. jaclang/vendor/mypy/typeshed/stdlib/gzip.pyi +0 -160
  852. jaclang/vendor/mypy/typeshed/stdlib/hashlib.pyi +0 -167
  853. jaclang/vendor/mypy/typeshed/stdlib/heapq.pyi +0 -17
  854. jaclang/vendor/mypy/typeshed/stdlib/hmac.pyi +0 -38
  855. jaclang/vendor/mypy/typeshed/stdlib/html/__init__.pyi +0 -6
  856. jaclang/vendor/mypy/typeshed/stdlib/html/entities.pyi +0 -6
  857. jaclang/vendor/mypy/typeshed/stdlib/html/parser.pyi +0 -34
  858. jaclang/vendor/mypy/typeshed/stdlib/http/__init__.pyi +0 -105
  859. jaclang/vendor/mypy/typeshed/stdlib/http/client.pyi +0 -259
  860. jaclang/vendor/mypy/typeshed/stdlib/http/cookiejar.pyi +0 -159
  861. jaclang/vendor/mypy/typeshed/stdlib/http/cookies.pyi +0 -60
  862. jaclang/vendor/mypy/typeshed/stdlib/http/server.pyi +0 -83
  863. jaclang/vendor/mypy/typeshed/stdlib/imaplib.pyi +0 -168
  864. jaclang/vendor/mypy/typeshed/stdlib/imghdr.pyi +0 -17
  865. jaclang/vendor/mypy/typeshed/stdlib/imp.pyi +0 -62
  866. jaclang/vendor/mypy/typeshed/stdlib/importlib/__init__.pyi +0 -24
  867. jaclang/vendor/mypy/typeshed/stdlib/importlib/_abc.pyi +0 -15
  868. jaclang/vendor/mypy/typeshed/stdlib/importlib/abc.pyi +0 -172
  869. jaclang/vendor/mypy/typeshed/stdlib/importlib/machinery.pyi +0 -179
  870. jaclang/vendor/mypy/typeshed/stdlib/importlib/metadata/__init__.pyi +0 -285
  871. jaclang/vendor/mypy/typeshed/stdlib/importlib/metadata/_meta.pyi +0 -49
  872. jaclang/vendor/mypy/typeshed/stdlib/importlib/readers.pyi +0 -68
  873. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/__init__.pyi +0 -46
  874. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/abc.pyi +0 -12
  875. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/readers.pyi +0 -14
  876. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/simple.pyi +0 -56
  877. jaclang/vendor/mypy/typeshed/stdlib/importlib/simple.pyi +0 -11
  878. jaclang/vendor/mypy/typeshed/stdlib/importlib/util.pyi +0 -43
  879. jaclang/vendor/mypy/typeshed/stdlib/inspect.pyi +0 -632
  880. jaclang/vendor/mypy/typeshed/stdlib/io.pyi +0 -238
  881. jaclang/vendor/mypy/typeshed/stdlib/ipaddress.pyi +0 -208
  882. jaclang/vendor/mypy/typeshed/stdlib/itertools.pyi +0 -273
  883. jaclang/vendor/mypy/typeshed/stdlib/json/__init__.pyi +0 -61
  884. jaclang/vendor/mypy/typeshed/stdlib/json/decoder.pyi +0 -32
  885. jaclang/vendor/mypy/typeshed/stdlib/json/encoder.pyi +0 -40
  886. jaclang/vendor/mypy/typeshed/stdlib/json/tool.pyi +0 -1
  887. jaclang/vendor/mypy/typeshed/stdlib/keyword.pyi +0 -21
  888. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/btm_matcher.pyi +0 -28
  889. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixer_base.pyi +0 -42
  890. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_apply.pyi +0 -8
  891. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_asserts.pyi +0 -10
  892. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_basestring.pyi +0 -8
  893. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_buffer.pyi +0 -8
  894. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_dict.pyi +0 -16
  895. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_except.pyi +0 -14
  896. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exec.pyi +0 -8
  897. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_execfile.pyi +0 -8
  898. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi +0 -13
  899. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_filter.pyi +0 -9
  900. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_funcattrs.pyi +0 -8
  901. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_future.pyi +0 -8
  902. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_getcwdu.pyi +0 -8
  903. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_has_key.pyi +0 -8
  904. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_idioms.pyi +0 -15
  905. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_import.pyi +0 -16
  906. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports.pyi +0 -21
  907. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports2.pyi +0 -6
  908. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_input.pyi +0 -11
  909. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_intern.pyi +0 -9
  910. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_isinstance.pyi +0 -8
  911. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools.pyi +0 -9
  912. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools_imports.pyi +0 -7
  913. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_long.pyi +0 -7
  914. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_map.pyi +0 -9
  915. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_metaclass.pyi +0 -17
  916. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_methodattrs.pyi +0 -10
  917. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ne.pyi +0 -8
  918. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_next.pyi +0 -19
  919. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_nonzero.pyi +0 -8
  920. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_numliterals.pyi +0 -8
  921. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_operator.pyi +0 -12
  922. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_paren.pyi +0 -8
  923. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_print.pyi +0 -12
  924. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raise.pyi +0 -8
  925. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raw_input.pyi +0 -8
  926. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reduce.pyi +0 -8
  927. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reload.pyi +0 -9
  928. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_renames.pyi +0 -17
  929. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_repr.pyi +0 -8
  930. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_set_literal.pyi +0 -7
  931. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_standarderror.pyi +0 -8
  932. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_sys_exc.pyi +0 -9
  933. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_throw.pyi +0 -8
  934. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_tuple_params.pyi +0 -17
  935. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_types.pyi +0 -8
  936. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_unicode.pyi +0 -12
  937. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_urllib.pyi +0 -15
  938. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ws_comma.pyi +0 -12
  939. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xrange.pyi +0 -20
  940. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xreadlines.pyi +0 -8
  941. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_zip.pyi +0 -9
  942. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/main.pyi +0 -42
  943. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/__init__.pyi +0 -9
  944. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/driver.pyi +0 -27
  945. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/grammar.pyi +0 -24
  946. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/literals.pyi +0 -7
  947. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/parse.pyi +0 -30
  948. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/pgen.pyi +0 -50
  949. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/token.pyi +0 -67
  950. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/tokenize.pyi +0 -96
  951. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pygram.pyi +0 -114
  952. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pytree.pyi +0 -117
  953. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/refactor.pyi +0 -82
  954. jaclang/vendor/mypy/typeshed/stdlib/linecache.pyi +0 -23
  955. jaclang/vendor/mypy/typeshed/stdlib/locale.pyi +0 -152
  956. jaclang/vendor/mypy/typeshed/stdlib/logging/__init__.pyi +0 -658
  957. jaclang/vendor/mypy/typeshed/stdlib/logging/config.pyi +0 -134
  958. jaclang/vendor/mypy/typeshed/stdlib/logging/handlers.pyi +0 -275
  959. jaclang/vendor/mypy/typeshed/stdlib/lzma.pyi +0 -197
  960. jaclang/vendor/mypy/typeshed/stdlib/mailbox.pyi +0 -256
  961. jaclang/vendor/mypy/typeshed/stdlib/mailcap.pyi +0 -11
  962. jaclang/vendor/mypy/typeshed/stdlib/marshal.pyi +0 -33
  963. jaclang/vendor/mypy/typeshed/stdlib/math.pyi +0 -125
  964. jaclang/vendor/mypy/typeshed/stdlib/mimetypes.pyi +0 -46
  965. jaclang/vendor/mypy/typeshed/stdlib/mmap.pyi +0 -113
  966. jaclang/vendor/mypy/typeshed/stdlib/modulefinder.pyi +0 -66
  967. jaclang/vendor/mypy/typeshed/stdlib/msilib/__init__.pyi +0 -177
  968. jaclang/vendor/mypy/typeshed/stdlib/msilib/schema.pyi +0 -94
  969. jaclang/vendor/mypy/typeshed/stdlib/msilib/sequence.pyi +0 -13
  970. jaclang/vendor/mypy/typeshed/stdlib/msilib/text.pyi +0 -7
  971. jaclang/vendor/mypy/typeshed/stdlib/msvcrt.pyi +0 -32
  972. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/__init__.pyi +0 -90
  973. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/connection.pyi +0 -75
  974. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/context.pyi +0 -189
  975. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/dummy/__init__.pyi +0 -77
  976. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/dummy/connection.pyi +0 -39
  977. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/forkserver.pyi +0 -31
  978. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/heap.pyi +0 -36
  979. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/managers.pyi +0 -212
  980. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/pool.pyi +0 -103
  981. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_fork.pyi +0 -23
  982. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_forkserver.pyi +0 -16
  983. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_posix.pyi +0 -20
  984. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_win32.pyi +0 -30
  985. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/process.pyi +0 -39
  986. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/queues.pyi +0 -41
  987. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/reduction.pyi +0 -90
  988. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/resource_sharer.pyi +0 -20
  989. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/resource_tracker.pyi +0 -18
  990. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/shared_memory.pyi +0 -40
  991. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/sharedctypes.pyi +0 -107
  992. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/spawn.pyi +0 -32
  993. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/synchronize.pyi +0 -54
  994. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/util.pyi +0 -98
  995. jaclang/vendor/mypy/typeshed/stdlib/netrc.pyi +0 -23
  996. jaclang/vendor/mypy/typeshed/stdlib/nis.pyi +0 -9
  997. jaclang/vendor/mypy/typeshed/stdlib/nntplib.pyi +0 -125
  998. jaclang/vendor/mypy/typeshed/stdlib/nt.pyi +0 -111
  999. jaclang/vendor/mypy/typeshed/stdlib/ntpath.pyi +0 -119
  1000. jaclang/vendor/mypy/typeshed/stdlib/nturl2path.pyi +0 -2
  1001. jaclang/vendor/mypy/typeshed/stdlib/numbers.pyi +0 -209
  1002. jaclang/vendor/mypy/typeshed/stdlib/opcode.pyi +0 -59
  1003. jaclang/vendor/mypy/typeshed/stdlib/operator.pyi +0 -110
  1004. jaclang/vendor/mypy/typeshed/stdlib/optparse.pyi +0 -255
  1005. jaclang/vendor/mypy/typeshed/stdlib/os/__init__.pyi +0 -1157
  1006. jaclang/vendor/mypy/typeshed/stdlib/os/path.pyi +0 -8
  1007. jaclang/vendor/mypy/typeshed/stdlib/ossaudiodev.pyi +0 -131
  1008. jaclang/vendor/mypy/typeshed/stdlib/parser.pyi +0 -24
  1009. jaclang/vendor/mypy/typeshed/stdlib/pathlib.pyi +0 -232
  1010. jaclang/vendor/mypy/typeshed/stdlib/pdb.pyi +0 -181
  1011. jaclang/vendor/mypy/typeshed/stdlib/pickle.pyi +0 -271
  1012. jaclang/vendor/mypy/typeshed/stdlib/pickletools.pyi +0 -167
  1013. jaclang/vendor/mypy/typeshed/stdlib/pipes.pyi +0 -16
  1014. jaclang/vendor/mypy/typeshed/stdlib/pkgutil.pyi +0 -53
  1015. jaclang/vendor/mypy/typeshed/stdlib/platform.pyi +0 -42
  1016. jaclang/vendor/mypy/typeshed/stdlib/plistlib.pyi +0 -113
  1017. jaclang/vendor/mypy/typeshed/stdlib/poplib.pyi +0 -71
  1018. jaclang/vendor/mypy/typeshed/stdlib/posix.pyi +0 -361
  1019. jaclang/vendor/mypy/typeshed/stdlib/posixpath.pyi +0 -161
  1020. jaclang/vendor/mypy/typeshed/stdlib/pprint.pyi +0 -112
  1021. jaclang/vendor/mypy/typeshed/stdlib/profile.pyi +0 -31
  1022. jaclang/vendor/mypy/typeshed/stdlib/pstats.pyi +0 -80
  1023. jaclang/vendor/mypy/typeshed/stdlib/pty.pyi +0 -19
  1024. jaclang/vendor/mypy/typeshed/stdlib/pwd.pyi +0 -28
  1025. jaclang/vendor/mypy/typeshed/stdlib/py_compile.pyi +0 -34
  1026. jaclang/vendor/mypy/typeshed/stdlib/pyclbr.pyi +0 -74
  1027. jaclang/vendor/mypy/typeshed/stdlib/pydoc.pyi +0 -261
  1028. jaclang/vendor/mypy/typeshed/stdlib/pydoc_data/__init__.pyi +0 -0
  1029. jaclang/vendor/mypy/typeshed/stdlib/pydoc_data/topics.pyi +0 -1
  1030. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/__init__.pyi +0 -85
  1031. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/errors.pyi +0 -49
  1032. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/model.pyi +0 -11
  1033. jaclang/vendor/mypy/typeshed/stdlib/queue.pyi +0 -66
  1034. jaclang/vendor/mypy/typeshed/stdlib/quopri.pyi +0 -11
  1035. jaclang/vendor/mypy/typeshed/stdlib/random.pyi +0 -138
  1036. jaclang/vendor/mypy/typeshed/stdlib/re.pyi +0 -290
  1037. jaclang/vendor/mypy/typeshed/stdlib/readline.pyi +0 -36
  1038. jaclang/vendor/mypy/typeshed/stdlib/reprlib.pyi +0 -65
  1039. jaclang/vendor/mypy/typeshed/stdlib/resource.pyi +0 -94
  1040. jaclang/vendor/mypy/typeshed/stdlib/rlcompleter.pyi +0 -9
  1041. jaclang/vendor/mypy/typeshed/stdlib/runpy.pyi +0 -24
  1042. jaclang/vendor/mypy/typeshed/stdlib/sched.pyi +0 -42
  1043. jaclang/vendor/mypy/typeshed/stdlib/secrets.pyi +0 -15
  1044. jaclang/vendor/mypy/typeshed/stdlib/select.pyi +0 -155
  1045. jaclang/vendor/mypy/typeshed/stdlib/selectors.pyi +0 -67
  1046. jaclang/vendor/mypy/typeshed/stdlib/shelve.pyi +0 -46
  1047. jaclang/vendor/mypy/typeshed/stdlib/shlex.pyi +0 -63
  1048. jaclang/vendor/mypy/typeshed/stdlib/shutil.pyi +0 -185
  1049. jaclang/vendor/mypy/typeshed/stdlib/signal.pyi +0 -188
  1050. jaclang/vendor/mypy/typeshed/stdlib/site.pyi +0 -27
  1051. jaclang/vendor/mypy/typeshed/stdlib/smtpd.pyi +0 -91
  1052. jaclang/vendor/mypy/typeshed/stdlib/smtplib.pyi +0 -204
  1053. jaclang/vendor/mypy/typeshed/stdlib/sndhdr.pyi +0 -14
  1054. jaclang/vendor/mypy/typeshed/stdlib/socket.pyi +0 -825
  1055. jaclang/vendor/mypy/typeshed/stdlib/socketserver.pyi +0 -168
  1056. jaclang/vendor/mypy/typeshed/stdlib/spwd.pyi +0 -41
  1057. jaclang/vendor/mypy/typeshed/stdlib/sqlite3/__init__.pyi +0 -1
  1058. jaclang/vendor/mypy/typeshed/stdlib/sqlite3/dbapi2.pyi +0 -551
  1059. jaclang/vendor/mypy/typeshed/stdlib/sre_compile.pyi +0 -11
  1060. jaclang/vendor/mypy/typeshed/stdlib/sre_constants.pyi +0 -130
  1061. jaclang/vendor/mypy/typeshed/stdlib/sre_parse.pyi +0 -104
  1062. jaclang/vendor/mypy/typeshed/stdlib/ssl.pyi +0 -537
  1063. jaclang/vendor/mypy/typeshed/stdlib/stat.pyi +0 -1
  1064. jaclang/vendor/mypy/typeshed/stdlib/statistics.pyi +0 -132
  1065. jaclang/vendor/mypy/typeshed/stdlib/string.pyi +0 -83
  1066. jaclang/vendor/mypy/typeshed/stdlib/stringprep.pyi +0 -27
  1067. jaclang/vendor/mypy/typeshed/stdlib/struct.pyi +0 -26
  1068. jaclang/vendor/mypy/typeshed/stdlib/subprocess.pyi +0 -2615
  1069. jaclang/vendor/mypy/typeshed/stdlib/sunau.pyi +0 -86
  1070. jaclang/vendor/mypy/typeshed/stdlib/symbol.pyi +0 -93
  1071. jaclang/vendor/mypy/typeshed/stdlib/symtable.pyi +0 -58
  1072. jaclang/vendor/mypy/typeshed/stdlib/sys/__init__.pyi +0 -373
  1073. jaclang/vendor/mypy/typeshed/stdlib/sys/_monitoring.pyi +0 -52
  1074. jaclang/vendor/mypy/typeshed/stdlib/sysconfig.pyi +0 -48
  1075. jaclang/vendor/mypy/typeshed/stdlib/syslog.pyi +0 -46
  1076. jaclang/vendor/mypy/typeshed/stdlib/tabnanny.pyi +0 -16
  1077. jaclang/vendor/mypy/typeshed/stdlib/tarfile.pyi +0 -441
  1078. jaclang/vendor/mypy/typeshed/stdlib/telnetlib.pyi +0 -122
  1079. jaclang/vendor/mypy/typeshed/stdlib/tempfile.pyi +0 -477
  1080. jaclang/vendor/mypy/typeshed/stdlib/termios.pyi +0 -267
  1081. jaclang/vendor/mypy/typeshed/stdlib/textwrap.pyi +0 -103
  1082. jaclang/vendor/mypy/typeshed/stdlib/this.pyi +0 -2
  1083. jaclang/vendor/mypy/typeshed/stdlib/threading.pyi +0 -187
  1084. jaclang/vendor/mypy/typeshed/stdlib/time.pyi +0 -108
  1085. jaclang/vendor/mypy/typeshed/stdlib/timeit.pyi +0 -32
  1086. jaclang/vendor/mypy/typeshed/stdlib/tkinter/__init__.pyi +0 -3654
  1087. jaclang/vendor/mypy/typeshed/stdlib/tkinter/colorchooser.pyi +0 -20
  1088. jaclang/vendor/mypy/typeshed/stdlib/tkinter/commondialog.pyi +0 -14
  1089. jaclang/vendor/mypy/typeshed/stdlib/tkinter/constants.pyi +0 -80
  1090. jaclang/vendor/mypy/typeshed/stdlib/tkinter/dialog.pyi +0 -16
  1091. jaclang/vendor/mypy/typeshed/stdlib/tkinter/dnd.pyi +0 -20
  1092. jaclang/vendor/mypy/typeshed/stdlib/tkinter/filedialog.pyi +0 -151
  1093. jaclang/vendor/mypy/typeshed/stdlib/tkinter/font.pyi +0 -116
  1094. jaclang/vendor/mypy/typeshed/stdlib/tkinter/messagebox.pyi +0 -44
  1095. jaclang/vendor/mypy/typeshed/stdlib/tkinter/scrolledtext.pyi +0 -9
  1096. jaclang/vendor/mypy/typeshed/stdlib/tkinter/simpledialog.pyi +0 -54
  1097. jaclang/vendor/mypy/typeshed/stdlib/tkinter/tix.pyi +0 -299
  1098. jaclang/vendor/mypy/typeshed/stdlib/tkinter/ttk.pyi +0 -1204
  1099. jaclang/vendor/mypy/typeshed/stdlib/token.pyi +0 -159
  1100. jaclang/vendor/mypy/typeshed/stdlib/tokenize.pyi +0 -177
  1101. jaclang/vendor/mypy/typeshed/stdlib/tomllib.pyi +0 -10
  1102. jaclang/vendor/mypy/typeshed/stdlib/trace.pyi +0 -79
  1103. jaclang/vendor/mypy/typeshed/stdlib/traceback.pyi +0 -262
  1104. jaclang/vendor/mypy/typeshed/stdlib/tracemalloc.pyi +0 -124
  1105. jaclang/vendor/mypy/typeshed/stdlib/tty.pyi +0 -30
  1106. jaclang/vendor/mypy/typeshed/stdlib/turtle.pyi +0 -713
  1107. jaclang/vendor/mypy/typeshed/stdlib/types.pyi +0 -614
  1108. jaclang/vendor/mypy/typeshed/stdlib/typing.pyi +0 -976
  1109. jaclang/vendor/mypy/typeshed/stdlib/typing_extensions.pyi +0 -509
  1110. jaclang/vendor/mypy/typeshed/stdlib/unicodedata.pyi +0 -73
  1111. jaclang/vendor/mypy/typeshed/stdlib/unittest/__init__.pyi +0 -67
  1112. jaclang/vendor/mypy/typeshed/stdlib/unittest/_log.pyi +0 -27
  1113. jaclang/vendor/mypy/typeshed/stdlib/unittest/async_case.pyi +0 -21
  1114. jaclang/vendor/mypy/typeshed/stdlib/unittest/case.pyi +0 -342
  1115. jaclang/vendor/mypy/typeshed/stdlib/unittest/loader.pyi +0 -51
  1116. jaclang/vendor/mypy/typeshed/stdlib/unittest/main.pyi +0 -69
  1117. jaclang/vendor/mypy/typeshed/stdlib/unittest/mock.pyi +0 -430
  1118. jaclang/vendor/mypy/typeshed/stdlib/unittest/result.pyi +0 -47
  1119. jaclang/vendor/mypy/typeshed/stdlib/unittest/runner.pyi +0 -72
  1120. jaclang/vendor/mypy/typeshed/stdlib/unittest/signals.pyi +0 -15
  1121. jaclang/vendor/mypy/typeshed/stdlib/unittest/suite.pyi +0 -22
  1122. jaclang/vendor/mypy/typeshed/stdlib/unittest/util.pyi +0 -23
  1123. jaclang/vendor/mypy/typeshed/stdlib/urllib/__init__.pyi +0 -0
  1124. jaclang/vendor/mypy/typeshed/stdlib/urllib/error.pyi +0 -23
  1125. jaclang/vendor/mypy/typeshed/stdlib/urllib/parse.pyi +0 -210
  1126. jaclang/vendor/mypy/typeshed/stdlib/urllib/request.pyi +0 -400
  1127. jaclang/vendor/mypy/typeshed/stdlib/urllib/response.pyi +0 -43
  1128. jaclang/vendor/mypy/typeshed/stdlib/urllib/robotparser.pyi +0 -20
  1129. jaclang/vendor/mypy/typeshed/stdlib/uu.pyi +0 -13
  1130. jaclang/vendor/mypy/typeshed/stdlib/uuid.pyi +0 -100
  1131. jaclang/vendor/mypy/typeshed/stdlib/warnings.pyi +0 -112
  1132. jaclang/vendor/mypy/typeshed/stdlib/wave.pyi +0 -85
  1133. jaclang/vendor/mypy/typeshed/stdlib/weakref.pyi +0 -149
  1134. jaclang/vendor/mypy/typeshed/stdlib/webbrowser.pyi +0 -74
  1135. jaclang/vendor/mypy/typeshed/stdlib/winreg.pyi +0 -132
  1136. jaclang/vendor/mypy/typeshed/stdlib/winsound.pyi +0 -28
  1137. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/__init__.pyi +0 -0
  1138. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/handlers.pyi +0 -91
  1139. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/headers.pyi +0 -26
  1140. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/simple_server.pyi +0 -37
  1141. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/types.pyi +0 -32
  1142. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/util.pyi +0 -24
  1143. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/validate.pyi +0 -50
  1144. jaclang/vendor/mypy/typeshed/stdlib/xdrlib.pyi +0 -57
  1145. jaclang/vendor/mypy/typeshed/stdlib/xml/__init__.pyi +0 -1
  1146. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/NodeFilter.pyi +0 -19
  1147. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/__init__.pyi +0 -69
  1148. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/domreg.pyi +0 -8
  1149. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/expatbuilder.pyi +0 -100
  1150. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/minicompat.pyi +0 -22
  1151. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/minidom.pyi +0 -404
  1152. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/pulldom.pyi +0 -94
  1153. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/xmlbuilder.pyi +0 -108
  1154. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementInclude.pyi +0 -28
  1155. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementPath.pyi +0 -34
  1156. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementTree.pyi +0 -327
  1157. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/__init__.pyi +0 -0
  1158. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/cElementTree.pyi +0 -1
  1159. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/__init__.pyi +0 -1
  1160. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/__init__.pyi +0 -1
  1161. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/errors.pyi +0 -1
  1162. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/model.pyi +0 -1
  1163. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/__init__.pyi +0 -25
  1164. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/_exceptions.pyi +0 -19
  1165. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/handler.pyi +0 -55
  1166. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/saxutils.pyi +0 -60
  1167. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/xmlreader.pyi +0 -87
  1168. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/__init__.pyi +0 -0
  1169. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/client.pyi +0 -296
  1170. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/server.pyi +0 -143
  1171. jaclang/vendor/mypy/typeshed/stdlib/xxlimited.pyi +0 -22
  1172. jaclang/vendor/mypy/typeshed/stdlib/zipapp.pyi +0 -20
  1173. jaclang/vendor/mypy/typeshed/stdlib/zipfile/__init__.pyi +0 -306
  1174. jaclang/vendor/mypy/typeshed/stdlib/zipfile/_path.pyi +0 -95
  1175. jaclang/vendor/mypy/typeshed/stdlib/zipimport.pyi +0 -32
  1176. jaclang/vendor/mypy/typeshed/stdlib/zlib.pyi +0 -56
  1177. jaclang/vendor/mypy/typeshed/stdlib/zoneinfo/__init__.pyi +0 -38
  1178. jaclang/vendor/mypy/typeshed/stubs/mypy-extensions/mypy_extensions.pyi +0 -218
  1179. jaclang/vendor/mypy/typestate.py +0 -323
  1180. jaclang/vendor/mypy/typetraverser.py +0 -148
  1181. jaclang/vendor/mypy/typevars.py +0 -93
  1182. jaclang/vendor/mypy/typevartuples.py +0 -32
  1183. jaclang/vendor/mypy/util.py +0 -869
  1184. jaclang/vendor/mypy/version.py +0 -1
  1185. jaclang/vendor/mypy/visitor.py +0 -621
  1186. jaclang/vendor/mypy/xml/mypy-html.css +0 -104
  1187. jaclang/vendor/mypy/xml/mypy-html.xslt +0 -81
  1188. jaclang/vendor/mypy/xml/mypy-txt.xslt +0 -100
  1189. jaclang/vendor/mypy/xml/mypy.xsd +0 -50
  1190. jaclang/vendor/mypy-1.10.0.dist-info/LICENSE +0 -229
  1191. jaclang/vendor/mypy-1.10.0.dist-info/METADATA +0 -48
  1192. jaclang/vendor/mypy-1.10.0.dist-info/RECORD +0 -1241
  1193. jaclang/vendor/mypy-1.10.0.dist-info/WHEEL +0 -6
  1194. jaclang/vendor/mypy-1.10.0.dist-info/entry_points.txt +0 -6
  1195. jaclang/vendor/mypy-1.10.0.dist-info/top_level.txt +0 -3
  1196. jaclang/vendor/mypy_extensions-1.0.0.dist-info/LICENSE +0 -27
  1197. jaclang/vendor/mypy_extensions-1.0.0.dist-info/METADATA +0 -29
  1198. jaclang/vendor/mypy_extensions-1.0.0.dist-info/RECORD +0 -6
  1199. jaclang/vendor/mypy_extensions-1.0.0.dist-info/top_level.txt +0 -1
  1200. jaclang/vendor/mypy_extensions.py +0 -213
  1201. jaclang/vendor/mypyc/README.md +0 -133
  1202. jaclang/vendor/mypyc/__init__.py +0 -0
  1203. jaclang/vendor/mypyc/__main__.py +0 -57
  1204. jaclang/vendor/mypyc/analysis/__init__.py +0 -0
  1205. jaclang/vendor/mypyc/analysis/attrdefined.py +0 -436
  1206. jaclang/vendor/mypyc/analysis/blockfreq.py +0 -32
  1207. jaclang/vendor/mypyc/analysis/dataflow.py +0 -628
  1208. jaclang/vendor/mypyc/analysis/ircheck.py +0 -433
  1209. jaclang/vendor/mypyc/analysis/selfleaks.py +0 -211
  1210. jaclang/vendor/mypyc/build.py +0 -616
  1211. jaclang/vendor/mypyc/codegen/__init__.py +0 -0
  1212. jaclang/vendor/mypyc/codegen/cstring.py +0 -54
  1213. jaclang/vendor/mypyc/codegen/emit.py +0 -1193
  1214. jaclang/vendor/mypyc/codegen/emitclass.py +0 -1060
  1215. jaclang/vendor/mypyc/codegen/emitfunc.py +0 -852
  1216. jaclang/vendor/mypyc/codegen/emitmodule.py +0 -1136
  1217. jaclang/vendor/mypyc/codegen/emitwrapper.py +0 -979
  1218. jaclang/vendor/mypyc/codegen/literals.py +0 -302
  1219. jaclang/vendor/mypyc/common.py +0 -136
  1220. jaclang/vendor/mypyc/crash.py +0 -31
  1221. jaclang/vendor/mypyc/doc/Makefile +0 -20
  1222. jaclang/vendor/mypyc/doc/bool_operations.rst +0 -27
  1223. jaclang/vendor/mypyc/doc/compilation_units.rst +0 -20
  1224. jaclang/vendor/mypyc/doc/conf.py +0 -59
  1225. jaclang/vendor/mypyc/doc/cpython-timings.md +0 -25
  1226. jaclang/vendor/mypyc/doc/dev-intro.md +0 -548
  1227. jaclang/vendor/mypyc/doc/dict_operations.rst +0 -59
  1228. jaclang/vendor/mypyc/doc/differences_from_python.rst +0 -332
  1229. jaclang/vendor/mypyc/doc/float_operations.rst +0 -50
  1230. jaclang/vendor/mypyc/doc/future.md +0 -42
  1231. jaclang/vendor/mypyc/doc/getting_started.rst +0 -240
  1232. jaclang/vendor/mypyc/doc/index.rst +0 -61
  1233. jaclang/vendor/mypyc/doc/int_operations.rst +0 -162
  1234. jaclang/vendor/mypyc/doc/introduction.rst +0 -150
  1235. jaclang/vendor/mypyc/doc/list_operations.rst +0 -65
  1236. jaclang/vendor/mypyc/doc/make.bat +0 -35
  1237. jaclang/vendor/mypyc/doc/native_classes.rst +0 -206
  1238. jaclang/vendor/mypyc/doc/native_operations.rst +0 -55
  1239. jaclang/vendor/mypyc/doc/performance_tips_and_tricks.rst +0 -244
  1240. jaclang/vendor/mypyc/doc/set_operations.rst +0 -47
  1241. jaclang/vendor/mypyc/doc/str_operations.rst +0 -35
  1242. jaclang/vendor/mypyc/doc/tuple_operations.rst +0 -33
  1243. jaclang/vendor/mypyc/doc/using_type_annotations.rst +0 -398
  1244. jaclang/vendor/mypyc/errors.py +0 -29
  1245. jaclang/vendor/mypyc/external/googletest/LICENSE +0 -28
  1246. jaclang/vendor/mypyc/external/googletest/README.md +0 -280
  1247. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-death-test.h +0 -294
  1248. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-message.h +0 -250
  1249. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-param-test.h +0 -1444
  1250. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-param-test.h.pump +0 -510
  1251. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-printers.h +0 -993
  1252. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-spi.h +0 -232
  1253. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-test-part.h +0 -179
  1254. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-typed-test.h +0 -263
  1255. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest.h +0 -2236
  1256. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest_pred_impl.h +0 -358
  1257. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest_prod.h +0 -58
  1258. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest-port.h +0 -69
  1259. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest-printers.h +0 -42
  1260. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest.h +0 -41
  1261. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-death-test-internal.h +0 -319
  1262. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-filepath.h +0 -206
  1263. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-internal.h +0 -1238
  1264. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-linked_ptr.h +0 -243
  1265. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h +0 -5146
  1266. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h.pump +0 -286
  1267. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util.h +0 -731
  1268. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-port-arch.h +0 -93
  1269. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-port.h +0 -2560
  1270. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-string.h +0 -167
  1271. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-tuple.h +0 -1020
  1272. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-tuple.h.pump +0 -347
  1273. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-type-util.h +0 -3331
  1274. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-type-util.h.pump +0 -297
  1275. jaclang/vendor/mypyc/external/googletest/make/Makefile +0 -61
  1276. jaclang/vendor/mypyc/external/googletest/src/gtest-all.cc +0 -48
  1277. jaclang/vendor/mypyc/external/googletest/src/gtest-death-test.cc +0 -1342
  1278. jaclang/vendor/mypyc/external/googletest/src/gtest-filepath.cc +0 -387
  1279. jaclang/vendor/mypyc/external/googletest/src/gtest-internal-inl.h +0 -1183
  1280. jaclang/vendor/mypyc/external/googletest/src/gtest-port.cc +0 -1259
  1281. jaclang/vendor/mypyc/external/googletest/src/gtest-printers.cc +0 -373
  1282. jaclang/vendor/mypyc/external/googletest/src/gtest-test-part.cc +0 -110
  1283. jaclang/vendor/mypyc/external/googletest/src/gtest-typed-test.cc +0 -118
  1284. jaclang/vendor/mypyc/external/googletest/src/gtest.cc +0 -5388
  1285. jaclang/vendor/mypyc/external/googletest/src/gtest_main.cc +0 -38
  1286. jaclang/vendor/mypyc/ir/__init__.py +0 -0
  1287. jaclang/vendor/mypyc/ir/class_ir.py +0 -499
  1288. jaclang/vendor/mypyc/ir/func_ir.py +0 -370
  1289. jaclang/vendor/mypyc/ir/module_ir.py +0 -88
  1290. jaclang/vendor/mypyc/ir/ops.py +0 -1727
  1291. jaclang/vendor/mypyc/ir/pprint.py +0 -516
  1292. jaclang/vendor/mypyc/ir/rtypes.py +0 -1038
  1293. jaclang/vendor/mypyc/irbuild/__init__.py +0 -0
  1294. jaclang/vendor/mypyc/irbuild/ast_helpers.py +0 -123
  1295. jaclang/vendor/mypyc/irbuild/builder.py +0 -1394
  1296. jaclang/vendor/mypyc/irbuild/callable_class.py +0 -173
  1297. jaclang/vendor/mypyc/irbuild/classdef.py +0 -850
  1298. jaclang/vendor/mypyc/irbuild/constant_fold.py +0 -95
  1299. jaclang/vendor/mypyc/irbuild/context.py +0 -186
  1300. jaclang/vendor/mypyc/irbuild/env_class.py +0 -223
  1301. jaclang/vendor/mypyc/irbuild/expression.py +0 -1070
  1302. jaclang/vendor/mypyc/irbuild/for_helpers.py +0 -1075
  1303. jaclang/vendor/mypyc/irbuild/format_str_tokenizer.py +0 -250
  1304. jaclang/vendor/mypyc/irbuild/function.py +0 -1088
  1305. jaclang/vendor/mypyc/irbuild/generator.py +0 -346
  1306. jaclang/vendor/mypyc/irbuild/ll_builder.py +0 -2389
  1307. jaclang/vendor/mypyc/irbuild/main.py +0 -153
  1308. jaclang/vendor/mypyc/irbuild/mapper.py +0 -221
  1309. jaclang/vendor/mypyc/irbuild/match.py +0 -355
  1310. jaclang/vendor/mypyc/irbuild/nonlocalcontrol.py +0 -197
  1311. jaclang/vendor/mypyc/irbuild/prebuildvisitor.py +0 -203
  1312. jaclang/vendor/mypyc/irbuild/prepare.py +0 -609
  1313. jaclang/vendor/mypyc/irbuild/specialize.py +0 -822
  1314. jaclang/vendor/mypyc/irbuild/statement.py +0 -1017
  1315. jaclang/vendor/mypyc/irbuild/targets.py +0 -57
  1316. jaclang/vendor/mypyc/irbuild/util.py +0 -189
  1317. jaclang/vendor/mypyc/irbuild/visitor.py +0 -401
  1318. jaclang/vendor/mypyc/irbuild/vtable.py +0 -82
  1319. jaclang/vendor/mypyc/lib-rt/CPy.h +0 -638
  1320. jaclang/vendor/mypyc/lib-rt/bytes_ops.c +0 -143
  1321. jaclang/vendor/mypyc/lib-rt/dict_ops.c +0 -446
  1322. jaclang/vendor/mypyc/lib-rt/exc_ops.c +0 -259
  1323. jaclang/vendor/mypyc/lib-rt/float_ops.c +0 -192
  1324. jaclang/vendor/mypyc/lib-rt/generic_ops.c +0 -64
  1325. jaclang/vendor/mypyc/lib-rt/getargs.c +0 -450
  1326. jaclang/vendor/mypyc/lib-rt/getargsfast.c +0 -569
  1327. jaclang/vendor/mypyc/lib-rt/init.c +0 -13
  1328. jaclang/vendor/mypyc/lib-rt/int_ops.c +0 -803
  1329. jaclang/vendor/mypyc/lib-rt/list_ops.c +0 -335
  1330. jaclang/vendor/mypyc/lib-rt/misc_ops.c +0 -942
  1331. jaclang/vendor/mypyc/lib-rt/module_shim.tmpl +0 -18
  1332. jaclang/vendor/mypyc/lib-rt/mypyc_util.h +0 -118
  1333. jaclang/vendor/mypyc/lib-rt/pythoncapi_compat.h +0 -497
  1334. jaclang/vendor/mypyc/lib-rt/pythonsupport.h +0 -533
  1335. jaclang/vendor/mypyc/lib-rt/set_ops.c +0 -17
  1336. jaclang/vendor/mypyc/lib-rt/setup.py +0 -70
  1337. jaclang/vendor/mypyc/lib-rt/str_ops.c +0 -241
  1338. jaclang/vendor/mypyc/lib-rt/test_capi.cc +0 -585
  1339. jaclang/vendor/mypyc/lib-rt/tuple_ops.c +0 -61
  1340. jaclang/vendor/mypyc/lower/__init__.py +0 -0
  1341. jaclang/vendor/mypyc/lower/int_ops.py +0 -113
  1342. jaclang/vendor/mypyc/lower/list_ops.py +0 -45
  1343. jaclang/vendor/mypyc/lower/misc_ops.py +0 -12
  1344. jaclang/vendor/mypyc/lower/registry.py +0 -26
  1345. jaclang/vendor/mypyc/namegen.py +0 -115
  1346. jaclang/vendor/mypyc/options.py +0 -32
  1347. jaclang/vendor/mypyc/primitives/__init__.py +0 -0
  1348. jaclang/vendor/mypyc/primitives/bytes_ops.py +0 -101
  1349. jaclang/vendor/mypyc/primitives/dict_ops.py +0 -325
  1350. jaclang/vendor/mypyc/primitives/exc_ops.py +0 -101
  1351. jaclang/vendor/mypyc/primitives/float_ops.py +0 -168
  1352. jaclang/vendor/mypyc/primitives/generic_ops.py +0 -384
  1353. jaclang/vendor/mypyc/primitives/int_ops.py +0 -303
  1354. jaclang/vendor/mypyc/primitives/list_ops.py +0 -310
  1355. jaclang/vendor/mypyc/primitives/misc_ops.py +0 -267
  1356. jaclang/vendor/mypyc/primitives/registry.py +0 -360
  1357. jaclang/vendor/mypyc/primitives/set_ops.py +0 -121
  1358. jaclang/vendor/mypyc/primitives/str_ops.py +0 -229
  1359. jaclang/vendor/mypyc/primitives/tuple_ops.py +0 -83
  1360. jaclang/vendor/mypyc/rt_subtype.py +0 -77
  1361. jaclang/vendor/mypyc/sametype.py +0 -83
  1362. jaclang/vendor/mypyc/subtype.py +0 -88
  1363. jaclang/vendor/mypyc/test/__init__.py +0 -0
  1364. jaclang/vendor/mypyc/test/config.py +0 -13
  1365. jaclang/vendor/mypyc/test/test_alwaysdefined.py +0 -46
  1366. jaclang/vendor/mypyc/test/test_analysis.py +0 -77
  1367. jaclang/vendor/mypyc/test/test_cheader.py +0 -53
  1368. jaclang/vendor/mypyc/test/test_commandline.py +0 -82
  1369. jaclang/vendor/mypyc/test/test_emit.py +0 -69
  1370. jaclang/vendor/mypyc/test/test_emitclass.py +0 -35
  1371. jaclang/vendor/mypyc/test/test_emitfunc.py +0 -928
  1372. jaclang/vendor/mypyc/test/test_emitwrapper.py +0 -60
  1373. jaclang/vendor/mypyc/test/test_exceptions.py +0 -56
  1374. jaclang/vendor/mypyc/test/test_external.py +0 -49
  1375. jaclang/vendor/mypyc/test/test_irbuild.py +0 -87
  1376. jaclang/vendor/mypyc/test/test_ircheck.py +0 -199
  1377. jaclang/vendor/mypyc/test/test_literals.py +0 -90
  1378. jaclang/vendor/mypyc/test/test_lowering.py +0 -56
  1379. jaclang/vendor/mypyc/test/test_namegen.py +0 -48
  1380. jaclang/vendor/mypyc/test/test_optimizations.py +0 -68
  1381. jaclang/vendor/mypyc/test/test_pprint.py +0 -42
  1382. jaclang/vendor/mypyc/test/test_rarray.py +0 -48
  1383. jaclang/vendor/mypyc/test/test_refcount.py +0 -59
  1384. jaclang/vendor/mypyc/test/test_run.py +0 -426
  1385. jaclang/vendor/mypyc/test/test_serialization.py +0 -108
  1386. jaclang/vendor/mypyc/test/test_struct.py +0 -112
  1387. jaclang/vendor/mypyc/test/test_tuplename.py +0 -33
  1388. jaclang/vendor/mypyc/test/test_typeops.py +0 -97
  1389. jaclang/vendor/mypyc/test/testutil.py +0 -283
  1390. jaclang/vendor/mypyc/test-data/alwaysdefined.test +0 -732
  1391. jaclang/vendor/mypyc/test-data/analysis.test +0 -470
  1392. jaclang/vendor/mypyc/test-data/commandline.test +0 -245
  1393. jaclang/vendor/mypyc/test-data/driver/driver.py +0 -48
  1394. jaclang/vendor/mypyc/test-data/exceptions-freq.test +0 -125
  1395. jaclang/vendor/mypyc/test-data/exceptions.test +0 -699
  1396. jaclang/vendor/mypyc/test-data/fixtures/ir.py +0 -373
  1397. jaclang/vendor/mypyc/test-data/fixtures/testutil.py +0 -103
  1398. jaclang/vendor/mypyc/test-data/fixtures/typing-full.pyi +0 -169
  1399. jaclang/vendor/mypyc/test-data/irbuild-any.test +0 -236
  1400. jaclang/vendor/mypyc/test-data/irbuild-basic.test +0 -3399
  1401. jaclang/vendor/mypyc/test-data/irbuild-bool.test +0 -424
  1402. jaclang/vendor/mypyc/test-data/irbuild-bytes.test +0 -181
  1403. jaclang/vendor/mypyc/test-data/irbuild-classes.test +0 -1302
  1404. jaclang/vendor/mypyc/test-data/irbuild-constant-fold.test +0 -480
  1405. jaclang/vendor/mypyc/test-data/irbuild-dict.test +0 -584
  1406. jaclang/vendor/mypyc/test-data/irbuild-dunders.test +0 -215
  1407. jaclang/vendor/mypyc/test-data/irbuild-float.test +0 -497
  1408. jaclang/vendor/mypyc/test-data/irbuild-generics.test +0 -150
  1409. jaclang/vendor/mypyc/test-data/irbuild-glue-methods.test +0 -437
  1410. jaclang/vendor/mypyc/test-data/irbuild-i16.test +0 -526
  1411. jaclang/vendor/mypyc/test-data/irbuild-i32.test +0 -598
  1412. jaclang/vendor/mypyc/test-data/irbuild-i64.test +0 -2144
  1413. jaclang/vendor/mypyc/test-data/irbuild-int.test +0 -194
  1414. jaclang/vendor/mypyc/test-data/irbuild-isinstance.test +0 -109
  1415. jaclang/vendor/mypyc/test-data/irbuild-lists.test +0 -513
  1416. jaclang/vendor/mypyc/test-data/irbuild-match.test +0 -1717
  1417. jaclang/vendor/mypyc/test-data/irbuild-math.test +0 -64
  1418. jaclang/vendor/mypyc/test-data/irbuild-nested.test +0 -807
  1419. jaclang/vendor/mypyc/test-data/irbuild-optional.test +0 -536
  1420. jaclang/vendor/mypyc/test-data/irbuild-set.test +0 -806
  1421. jaclang/vendor/mypyc/test-data/irbuild-singledispatch.test +0 -257
  1422. jaclang/vendor/mypyc/test-data/irbuild-statements.test +0 -1060
  1423. jaclang/vendor/mypyc/test-data/irbuild-str.test +0 -312
  1424. jaclang/vendor/mypyc/test-data/irbuild-strip-asserts.test +0 -12
  1425. jaclang/vendor/mypyc/test-data/irbuild-try.test +0 -523
  1426. jaclang/vendor/mypyc/test-data/irbuild-tuple.test +0 -386
  1427. jaclang/vendor/mypyc/test-data/irbuild-u8.test +0 -543
  1428. jaclang/vendor/mypyc/test-data/irbuild-unreachable.test +0 -241
  1429. jaclang/vendor/mypyc/test-data/irbuild-vectorcall.test +0 -153
  1430. jaclang/vendor/mypyc/test-data/lowering-int.test +0 -377
  1431. jaclang/vendor/mypyc/test-data/lowering-list.test +0 -33
  1432. jaclang/vendor/mypyc/test-data/opt-copy-propagation.test +0 -400
  1433. jaclang/vendor/mypyc/test-data/opt-flag-elimination.test +0 -296
  1434. jaclang/vendor/mypyc/test-data/refcount.test +0 -1482
  1435. jaclang/vendor/mypyc/test-data/run-async.test +0 -173
  1436. jaclang/vendor/mypyc/test-data/run-attrs.test +0 -318
  1437. jaclang/vendor/mypyc/test-data/run-bench.test +0 -196
  1438. jaclang/vendor/mypyc/test-data/run-bools.test +0 -229
  1439. jaclang/vendor/mypyc/test-data/run-bytes.test +0 -302
  1440. jaclang/vendor/mypyc/test-data/run-classes.test +0 -2505
  1441. jaclang/vendor/mypyc/test-data/run-dicts.test +0 -334
  1442. jaclang/vendor/mypyc/test-data/run-dunders.test +0 -945
  1443. jaclang/vendor/mypyc/test-data/run-exceptions.test +0 -448
  1444. jaclang/vendor/mypyc/test-data/run-floats.test +0 -516
  1445. jaclang/vendor/mypyc/test-data/run-functions.test +0 -1310
  1446. jaclang/vendor/mypyc/test-data/run-generators.test +0 -682
  1447. jaclang/vendor/mypyc/test-data/run-i16.test +0 -338
  1448. jaclang/vendor/mypyc/test-data/run-i32.test +0 -336
  1449. jaclang/vendor/mypyc/test-data/run-i64.test +0 -1519
  1450. jaclang/vendor/mypyc/test-data/run-imports.test +0 -265
  1451. jaclang/vendor/mypyc/test-data/run-integers.test +0 -540
  1452. jaclang/vendor/mypyc/test-data/run-lists.test +0 -411
  1453. jaclang/vendor/mypyc/test-data/run-loops.test +0 -485
  1454. jaclang/vendor/mypyc/test-data/run-match.test +0 -283
  1455. jaclang/vendor/mypyc/test-data/run-math.test +0 -106
  1456. jaclang/vendor/mypyc/test-data/run-misc.test +0 -1170
  1457. jaclang/vendor/mypyc/test-data/run-multimodule.test +0 -887
  1458. jaclang/vendor/mypyc/test-data/run-mypy-sim.test +0 -138
  1459. jaclang/vendor/mypyc/test-data/run-primitives.test +0 -375
  1460. jaclang/vendor/mypyc/test-data/run-python37.test +0 -159
  1461. jaclang/vendor/mypyc/test-data/run-python38.test +0 -88
  1462. jaclang/vendor/mypyc/test-data/run-sets.test +0 -150
  1463. jaclang/vendor/mypyc/test-data/run-singledispatch.test +0 -698
  1464. jaclang/vendor/mypyc/test-data/run-strings.test +0 -641
  1465. jaclang/vendor/mypyc/test-data/run-traits.test +0 -411
  1466. jaclang/vendor/mypyc/test-data/run-tuples.test +0 -258
  1467. jaclang/vendor/mypyc/test-data/run-u8.test +0 -303
  1468. jaclang/vendor/mypyc/transform/__init__.py +0 -0
  1469. jaclang/vendor/mypyc/transform/copy_propagation.py +0 -94
  1470. jaclang/vendor/mypyc/transform/exceptions.py +0 -182
  1471. jaclang/vendor/mypyc/transform/flag_elimination.py +0 -108
  1472. jaclang/vendor/mypyc/transform/ir_transform.py +0 -368
  1473. jaclang/vendor/mypyc/transform/lower.py +0 -33
  1474. jaclang/vendor/mypyc/transform/refcount.py +0 -294
  1475. jaclang/vendor/mypyc/transform/uninit.py +0 -190
  1476. jaclang/vendor/typing_extensions-4.12.2.dist-info/LICENSE +0 -279
  1477. jaclang/vendor/typing_extensions-4.12.2.dist-info/METADATA +0 -67
  1478. jaclang/vendor/typing_extensions-4.12.2.dist-info/RECORD +0 -5
  1479. jaclang/vendor/typing_extensions-4.12.2.dist-info/WHEEL +0 -4
  1480. jaclang/vendor/typing_extensions.py +0 -3641
  1481. jaclang-0.7.34.dist-info/RECORD +0 -1563
  1482. /jaclang/{vendor/mypy/dmypy → compiler/larkparse}/__init__.py +0 -0
  1483. /jaclang/{tests → compiler/passes/main/tests}/fixtures/access_checker.jac +0 -0
  1484. /jaclang/langserve/{__init__.py → __init__.jac} +0 -0
  1485. /jaclang/{vendor/mypy/plugins/__init__.py → langserve/tests/fixtures/deep_check_crash.jac} +0 -0
  1486. /jaclang/{vendor/mypy/server/__init__.py → langserve/tests/server_test/code_test.py} +0 -0
  1487. /jaclang/{plugin → runtimelib}/tests/__init__.py +0 -0
  1488. /jaclang/{vendor/mypy/test → tests}/__init__.py +0 -0
  1489. /jaclang/{vendor/mypy/test/meta → tests/fixtures}/__init__.py +0 -0
  1490. /jaclang/tests/fixtures/{architype_def_bug.jac → archetype_def_bug.jac} +0 -0
  1491. /jaclang/vendor/{mypy/typeshed/stdlib/concurrent/__init__.pyi → attrs-25.3.0.dist-info/REQUESTED} +0 -0
  1492. /jaclang/vendor/{attrs-23.2.0.dist-info → attrs-25.3.0.dist-info}/licenses/LICENSE +0 -0
  1493. /jaclang/vendor/{mypy/typeshed/stdlib/distutils/command/__init__.pyi → cattrs-24.1.3.dist-info/REQUESTED} +0 -0
  1494. /jaclang/vendor/{cattrs-23.2.3.dist-info → cattrs-24.1.3.dist-info}/licenses/LICENSE +0 -0
  1495. /jaclang/vendor/{mypy/typeshed/stdlib/distutils/command/bdist_packager.pyi → lark-1.2.2.dist-info/REQUESTED} +0 -0
  1496. /jaclang/vendor/{lark-1.1.9.dist-info → lark-1.2.2.dist-info}/entry_points.txt +0 -0
  1497. /jaclang/vendor/{lark-1.1.9.dist-info → lark-1.2.2.dist-info}/top_level.txt +0 -0
  1498. /jaclang/vendor/{mypy/typeshed/stdlib/email/mime/__init__.pyi → lsprotocol-2023.0.1.dist-info/REQUESTED} +0 -0
  1499. /jaclang/vendor/lsprotocol-2023.0.1.dist-info/{LICENSE → licenses/LICENSE} +0 -0
  1500. /jaclang/vendor/{mypy/typeshed/stdlib/lib2to3/__init__.pyi → pluggy-1.5.0.dist-info/REQUESTED} +0 -0
  1501. /jaclang/vendor/pluggy-1.5.0.dist-info/{LICENSE → licenses/LICENSE} +0 -0
  1502. /jaclang/vendor/{mypy/typeshed/stdlib/lib2to3/fixes/__init__.pyi → pygls-1.3.1.dist-info/REQUESTED} +0 -0
  1503. {jaclang-0.7.34.dist-info → jaclang-0.8.1.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]