jaclang 0.7.34__py3-none-any.whl → 0.8.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

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