jaclang 0.6.1__py3-none-any.whl → 0.6.5__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 (1331) hide show
  1. jaclang/__init__.py +1 -9
  2. jaclang/cli/.gitignore +3 -0
  3. jaclang/cli/cli.md +190 -0
  4. jaclang/cli/cli.py +25 -4
  5. jaclang/compiler/.gitignore +1 -0
  6. jaclang/compiler/__init__.py +1 -0
  7. jaclang/compiler/absyntree.py +7 -7
  8. jaclang/compiler/compile.py +4 -4
  9. jaclang/compiler/jac.lark +1 -0
  10. jaclang/compiler/parser.py +15 -2
  11. jaclang/compiler/passes/main/def_impl_match_pass.py +4 -0
  12. jaclang/compiler/passes/main/fuse_typeinfo_pass.py +10 -1
  13. jaclang/compiler/passes/main/import_pass.py +47 -33
  14. jaclang/compiler/passes/main/pyast_load_pass.py +33 -6
  15. jaclang/compiler/passes/main/tests/fixtures/autoimpl.impl/getme.impl.jac +3 -0
  16. jaclang/compiler/passes/main/tests/fixtures/autoimpl.impl.jac +3 -0
  17. jaclang/compiler/passes/main/tests/fixtures/autoimpl.jac +9 -0
  18. jaclang/compiler/passes/main/tests/fixtures/autoimpl.something.else.impl.jac +3 -0
  19. jaclang/compiler/passes/main/tests/fixtures/base.jac +13 -0
  20. jaclang/compiler/passes/main/tests/fixtures/base2.jac +14 -0
  21. jaclang/compiler/passes/main/tests/fixtures/blip.jac +2 -0
  22. jaclang/compiler/passes/main/tests/fixtures/codegentext.jac +31 -0
  23. jaclang/compiler/passes/main/tests/fixtures/decls.jac +10 -0
  24. jaclang/compiler/passes/main/tests/fixtures/defs_and_uses.jac +44 -0
  25. jaclang/compiler/passes/main/tests/fixtures/fstrings.jac +4 -0
  26. jaclang/compiler/passes/main/tests/fixtures/func.jac +18 -0
  27. jaclang/compiler/passes/main/tests/fixtures/func2.jac +8 -0
  28. jaclang/compiler/passes/main/tests/fixtures/game1.jac +15 -0
  29. jaclang/compiler/passes/main/tests/fixtures/impl/defs1.jac +8 -0
  30. jaclang/compiler/passes/main/tests/fixtures/impl/defs2.jac +8 -0
  31. jaclang/compiler/passes/main/tests/fixtures/impl/imps.jac +11 -0
  32. jaclang/compiler/passes/main/tests/fixtures/multi_def_err.jac +7 -0
  33. jaclang/compiler/passes/main/tests/fixtures/registry.jac +36 -0
  34. jaclang/compiler/passes/main/tests/fixtures/type_info.jac +31 -0
  35. jaclang/compiler/passes/main/tests/test_type_check_pass.py +15 -0
  36. jaclang/compiler/passes/tool/tests/fixtures/corelib.jac +480 -0
  37. jaclang/compiler/passes/tool/tests/fixtures/corelib_fmt.jac +480 -0
  38. jaclang/compiler/passes/tool/tests/fixtures/genai/essay_review.jac +36 -0
  39. jaclang/compiler/passes/tool/tests/fixtures/genai/expert_answer.jac +17 -0
  40. jaclang/compiler/passes/tool/tests/fixtures/genai/joke_gen.jac +32 -0
  41. jaclang/compiler/passes/tool/tests/fixtures/genai/odd_word_out.jac +27 -0
  42. jaclang/compiler/passes/tool/tests/fixtures/genai/personality_finder.jac +35 -0
  43. jaclang/compiler/passes/tool/tests/fixtures/genai/text_to_type.jac +25 -0
  44. jaclang/compiler/passes/tool/tests/fixtures/genai/translator.jac +13 -0
  45. jaclang/compiler/passes/tool/tests/fixtures/genai/wikipedia.jac +63 -0
  46. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.dot +39 -0
  47. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.jac +7 -0
  48. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.txt +20 -0
  49. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/ability_impl_long_comprehension.jac +15 -0
  50. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/call_with_many_parameters.jac +24 -0
  51. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/entry_main.jac +4 -0
  52. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/long_line_nested_dict_access.jac +10 -0
  53. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/multiline_fstrings.jac +16 -0
  54. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/nested_dict.jac +15 -0
  55. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/nested_loop_and_incrementer.jac +13 -0
  56. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/simple_walker.jac +25 -0
  57. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/try_block_and_walker_spawn_and_fstrings.jac +26 -0
  58. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/tuple_iteration_and_not_negation.jac +20 -0
  59. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/type_annotation.jac +3 -0
  60. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_decl_only.jac +12 -0
  61. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_with_default_values_types_and_docstrings.jac +18 -0
  62. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_with_inline_ability_impl.jac +8 -0
  63. jaclang/compiler/passes/tool/tests/fixtures/simple_walk.jac +47 -0
  64. jaclang/compiler/passes/tool/tests/fixtures/simple_walk_fmt.jac +47 -0
  65. jaclang/compiler/passes/utils/mypy_ast_build.py +8 -0
  66. jaclang/compiler/tests/fixtures/fam.jac +67 -0
  67. jaclang/compiler/tests/fixtures/hello_world.jac +5 -0
  68. jaclang/compiler/tests/fixtures/kwesc.jac +5 -0
  69. jaclang/compiler/tests/fixtures/mod_doc_test.jac +1 -0
  70. jaclang/compiler/tests/fixtures/staticcheck.jac +20 -0
  71. jaclang/compiler/tests/fixtures/stuff.jac +6 -0
  72. jaclang/langserve/__init__.py +1 -0
  73. jaclang/langserve/server.py +108 -0
  74. jaclang/langserve/tests/__init__.py +1 -0
  75. jaclang/langserve/tests/defaults.py +226 -0
  76. jaclang/langserve/tests/fixtures/hello.jac +1 -0
  77. jaclang/langserve/tests/pylsp_jsonrpc/__init__.py +2 -0
  78. jaclang/langserve/tests/pylsp_jsonrpc/dispatchers.py +37 -0
  79. jaclang/langserve/tests/pylsp_jsonrpc/endpoint.py +294 -0
  80. jaclang/langserve/tests/pylsp_jsonrpc/exceptions.py +114 -0
  81. jaclang/langserve/tests/pylsp_jsonrpc/streams.py +113 -0
  82. jaclang/langserve/tests/session.py +255 -0
  83. jaclang/langserve/tests/test_server.py +36 -0
  84. jaclang/langserve/utils.py +53 -0
  85. jaclang/plugin/tests/fixtures/impl_match.jac +9 -0
  86. jaclang/plugin/tests/fixtures/impl_match_impl.jac +3 -0
  87. jaclang/plugin/tests/fixtures/simple_node_connection.jac +55 -0
  88. jaclang/plugin/tests/fixtures/simple_persistent.jac +41 -0
  89. jaclang/settings.py +5 -0
  90. jaclang/tests/fixtures/abc.jac +73 -0
  91. jaclang/tests/fixtures/access_checker.jac +19 -0
  92. jaclang/tests/fixtures/access_modifier.jac +49 -0
  93. jaclang/tests/fixtures/aott_raise.jac +25 -0
  94. jaclang/tests/fixtures/arithmetic_bug.jac +13 -0
  95. jaclang/tests/fixtures/assign_compr.jac +15 -0
  96. jaclang/tests/fixtures/assign_compr_dup.jac +15 -0
  97. jaclang/tests/fixtures/builtin_dotgen.jac +41 -0
  98. jaclang/tests/fixtures/chandra_bugs.jac +11 -0
  99. jaclang/tests/fixtures/chandra_bugs2.jac +26 -0
  100. jaclang/tests/fixtures/circle_pysolo.py +91 -0
  101. jaclang/tests/fixtures/deep/deeper/deep_outer_import.jac +9 -0
  102. jaclang/tests/fixtures/deep/deeper/deep_outer_import2.jac +9 -0
  103. jaclang/tests/fixtures/deep/deeper/snd_lev.jac +6 -0
  104. jaclang/tests/fixtures/deep/mycode.jac +4 -0
  105. jaclang/tests/fixtures/deep/one_lev.jac +6 -0
  106. jaclang/tests/fixtures/deep/one_lev_dup.jac +6 -0
  107. jaclang/tests/fixtures/deep/one_lev_dup_py.py +6 -0
  108. jaclang/tests/fixtures/deep_convert.jac +5 -0
  109. jaclang/tests/fixtures/deep_convo.py +6 -0
  110. jaclang/tests/fixtures/deep_import.jac +7 -0
  111. jaclang/tests/fixtures/deferred_field.jac +13 -0
  112. jaclang/tests/fixtures/disconn.jac +29 -0
  113. jaclang/tests/fixtures/edge_node_walk.jac +46 -0
  114. jaclang/tests/fixtures/edge_ops.jac +45 -0
  115. jaclang/tests/fixtures/edges_walk.jac +38 -0
  116. jaclang/tests/fixtures/enum_inside_archtype.jac +20 -0
  117. jaclang/tests/fixtures/err.jac +5 -0
  118. jaclang/tests/fixtures/err2.jac +5 -0
  119. jaclang/tests/fixtures/game1.jac +15 -0
  120. jaclang/tests/fixtures/gendot_bubble_sort.jac +77 -0
  121. jaclang/tests/fixtures/guess_game.jac +47 -0
  122. jaclang/tests/fixtures/has_goodness.jac +15 -0
  123. jaclang/tests/fixtures/hashcheck.jac +12 -0
  124. jaclang/tests/fixtures/hashcheck_dup.jac +12 -0
  125. jaclang/tests/fixtures/hello.jac +5 -0
  126. jaclang/tests/fixtures/hello_nc.jac +5 -0
  127. jaclang/tests/fixtures/ignore.jac +43 -0
  128. jaclang/tests/fixtures/ignore_dup.jac +43 -0
  129. jaclang/tests/fixtures/impl_grab.impl.jac +4 -0
  130. jaclang/tests/fixtures/impl_grab.jac +2 -0
  131. jaclang/tests/fixtures/inherit_check.jac +33 -0
  132. jaclang/tests/fixtures/jacsamp.jac +6 -0
  133. jaclang/tests/fixtures/jp_importer.jac +17 -0
  134. jaclang/tests/fixtures/lambda.jac +6 -0
  135. jaclang/tests/fixtures/maxfail_run_test.jac +5 -0
  136. jaclang/tests/fixtures/mtest.impl.jac +6 -0
  137. jaclang/tests/fixtures/mtest.jac +6 -0
  138. jaclang/tests/fixtures/needs_import.jac +18 -0
  139. jaclang/tests/fixtures/needs_import_1.jac +6 -0
  140. jaclang/tests/fixtures/needs_import_2.jac +6 -0
  141. jaclang/tests/fixtures/needs_import_3.jac +6 -0
  142. jaclang/tests/fixtures/needs_import_dup.jac +18 -0
  143. jaclang/tests/fixtures/package_import.jac +6 -0
  144. jaclang/tests/fixtures/pyfunc.py +11 -0
  145. jaclang/tests/fixtures/pyfunc_1.py +311 -0
  146. jaclang/tests/fixtures/pyfunc_2.py +279 -0
  147. jaclang/tests/fixtures/pyfunc_3.py +310 -0
  148. jaclang/tests/fixtures/random_check.jac +62 -0
  149. jaclang/tests/fixtures/raw_byte_string.jac +18 -0
  150. jaclang/tests/fixtures/registry.jac +37 -0
  151. jaclang/tests/fixtures/run_test.jac +5 -0
  152. jaclang/tests/fixtures/semstr.jac +33 -0
  153. jaclang/tests/fixtures/simple_archs.jac +26 -0
  154. jaclang/tests/fixtures/slice_vals.jac +7 -0
  155. jaclang/tests/fixtures/sub_abil_sep.jac +15 -0
  156. jaclang/tests/fixtures/sub_abil_sep_multilev.jac +17 -0
  157. jaclang/tests/fixtures/try_finally.jac +34 -0
  158. jaclang/tests/fixtures/tupleunpack.jac +6 -0
  159. jaclang/tests/fixtures/tuplytuples.jac +8 -0
  160. jaclang/tests/fixtures/type_info.jac +15 -0
  161. jaclang/tests/fixtures/with_context.jac +30 -0
  162. jaclang/tests/fixtures/with_llm_function.jac +33 -0
  163. jaclang/tests/fixtures/with_llm_lower.jac +45 -0
  164. jaclang/tests/fixtures/with_llm_method.jac +51 -0
  165. jaclang/tests/fixtures/with_llm_type.jac +52 -0
  166. jaclang/tests/test_cli.py +239 -0
  167. jaclang/tests/test_language.py +831 -0
  168. jaclang/tests/test_man_code.py +148 -0
  169. jaclang/tests/test_reference.py +95 -0
  170. jaclang/tests/test_settings.py +46 -0
  171. jaclang/utils/helpers.py +11 -0
  172. jaclang/utils/tests/test_lang_tools.py +17 -0
  173. jaclang/utils/treeprinter.py +12 -4
  174. jaclang/vendor/__init__.py +12 -1
  175. jaclang/vendor/attr/__init__.py +134 -0
  176. jaclang/vendor/attr/__init__.pyi +555 -0
  177. jaclang/vendor/attr/_cmp.py +150 -0
  178. jaclang/vendor/attr/_cmp.pyi +13 -0
  179. jaclang/vendor/attr/_compat.py +87 -0
  180. jaclang/vendor/attr/_config.py +31 -0
  181. jaclang/vendor/attr/_funcs.py +483 -0
  182. jaclang/vendor/attr/_make.py +3119 -0
  183. jaclang/vendor/attr/_next_gen.py +229 -0
  184. jaclang/vendor/attr/_typing_compat.pyi +15 -0
  185. jaclang/vendor/attr/_version_info.py +86 -0
  186. jaclang/vendor/attr/_version_info.pyi +9 -0
  187. jaclang/vendor/attr/converters.py +144 -0
  188. jaclang/vendor/attr/converters.pyi +13 -0
  189. jaclang/vendor/attr/exceptions.py +95 -0
  190. jaclang/vendor/attr/exceptions.pyi +17 -0
  191. jaclang/vendor/attr/filters.py +66 -0
  192. jaclang/vendor/attr/filters.pyi +6 -0
  193. jaclang/vendor/attr/setters.py +73 -0
  194. jaclang/vendor/attr/setters.pyi +19 -0
  195. jaclang/vendor/attr/validators.py +681 -0
  196. jaclang/vendor/attr/validators.pyi +88 -0
  197. jaclang/vendor/attrs/__init__.py +65 -0
  198. jaclang/vendor/attrs/__init__.pyi +67 -0
  199. jaclang/vendor/attrs/converters.py +3 -0
  200. jaclang/vendor/attrs/exceptions.py +3 -0
  201. jaclang/vendor/attrs/filters.py +3 -0
  202. jaclang/vendor/attrs/py.typed +0 -0
  203. jaclang/vendor/attrs/setters.py +3 -0
  204. jaclang/vendor/attrs/validators.py +3 -0
  205. jaclang/vendor/attrs-23.2.0.dist-info/METADATA +202 -0
  206. jaclang/vendor/attrs-23.2.0.dist-info/RECORD +35 -0
  207. jaclang/vendor/attrs-23.2.0.dist-info/WHEEL +4 -0
  208. jaclang/vendor/attrs-23.2.0.dist-info/licenses/LICENSE +21 -0
  209. jaclang/vendor/cattr/__init__.py +25 -0
  210. jaclang/vendor/cattr/converters.py +8 -0
  211. jaclang/vendor/cattr/disambiguators.py +3 -0
  212. jaclang/vendor/cattr/dispatch.py +3 -0
  213. jaclang/vendor/cattr/errors.py +15 -0
  214. jaclang/vendor/cattr/gen.py +21 -0
  215. jaclang/vendor/cattr/preconf/__init__.py +3 -0
  216. jaclang/vendor/cattr/preconf/bson.py +4 -0
  217. jaclang/vendor/cattr/preconf/json.py +4 -0
  218. jaclang/vendor/cattr/preconf/msgpack.py +4 -0
  219. jaclang/vendor/cattr/preconf/orjson.py +4 -0
  220. jaclang/vendor/cattr/preconf/pyyaml.py +4 -0
  221. jaclang/vendor/cattr/preconf/tomlkit.py +4 -0
  222. jaclang/vendor/cattr/preconf/ujson.py +4 -0
  223. jaclang/vendor/cattr/py.typed +0 -0
  224. jaclang/vendor/cattrs/__init__.py +55 -0
  225. jaclang/vendor/cattrs/_compat.py +465 -0
  226. jaclang/vendor/cattrs/_generics.py +22 -0
  227. jaclang/vendor/cattrs/converters.py +1101 -0
  228. jaclang/vendor/cattrs/disambiguators.py +132 -0
  229. jaclang/vendor/cattrs/dispatch.py +164 -0
  230. jaclang/vendor/cattrs/errors.py +129 -0
  231. jaclang/vendor/cattrs/fns.py +17 -0
  232. jaclang/vendor/cattrs/gen/__init__.py +890 -0
  233. jaclang/vendor/cattrs/gen/_consts.py +19 -0
  234. jaclang/vendor/cattrs/gen/_generics.py +43 -0
  235. jaclang/vendor/cattrs/gen/_lc.py +28 -0
  236. jaclang/vendor/cattrs/gen/_shared.py +51 -0
  237. jaclang/vendor/cattrs/gen/typeddicts.py +624 -0
  238. jaclang/vendor/cattrs/preconf/__init__.py +7 -0
  239. jaclang/vendor/cattrs/preconf/bson.py +107 -0
  240. jaclang/vendor/cattrs/preconf/cbor2.py +47 -0
  241. jaclang/vendor/cattrs/preconf/json.py +52 -0
  242. jaclang/vendor/cattrs/preconf/msgpack.py +51 -0
  243. jaclang/vendor/cattrs/preconf/orjson.py +82 -0
  244. jaclang/vendor/cattrs/preconf/pyyaml.py +60 -0
  245. jaclang/vendor/cattrs/preconf/tomlkit.py +85 -0
  246. jaclang/vendor/cattrs/preconf/ujson.py +52 -0
  247. jaclang/vendor/cattrs/py.typed +0 -0
  248. jaclang/vendor/cattrs/strategies/__init__.py +11 -0
  249. jaclang/vendor/cattrs/strategies/_class_methods.py +64 -0
  250. jaclang/vendor/cattrs/strategies/_subclasses.py +224 -0
  251. jaclang/vendor/cattrs/strategies/_unions.py +235 -0
  252. jaclang/vendor/cattrs/v.py +111 -0
  253. jaclang/vendor/cattrs-23.2.3.dist-info/METADATA +221 -0
  254. jaclang/vendor/cattrs-23.2.3.dist-info/RECORD +48 -0
  255. jaclang/vendor/cattrs-23.2.3.dist-info/WHEEL +4 -0
  256. jaclang/vendor/cattrs-23.2.3.dist-info/licenses/LICENSE +11 -0
  257. jaclang/vendor/lark/__init__.py +38 -38
  258. jaclang/vendor/lark/__pyinstaller/__init__.py +6 -7
  259. jaclang/vendor/lark/__pyinstaller/hook-lark.py +14 -14
  260. jaclang/vendor/lark/ast_utils.py +59 -70
  261. jaclang/vendor/lark/common.py +89 -113
  262. jaclang/vendor/lark/exceptions.py +292 -352
  263. jaclang/vendor/lark/grammar.py +130 -158
  264. jaclang/vendor/lark/grammars/common.lark +59 -59
  265. jaclang/vendor/lark/grammars/lark.lark +62 -62
  266. jaclang/vendor/lark/grammars/python.lark +302 -302
  267. jaclang/vendor/lark/grammars/unicode.lark +7 -7
  268. jaclang/vendor/lark/indenter.py +112 -118
  269. jaclang/vendor/lark/lark.py +661 -800
  270. jaclang/vendor/lark/lexer.py +678 -829
  271. jaclang/vendor/lark/load_grammar.py +1428 -1673
  272. jaclang/vendor/lark/parse_tree_builder.py +391 -466
  273. jaclang/vendor/lark/parser_frontends.py +257 -305
  274. jaclang/vendor/lark/parsers/cyk.py +340 -391
  275. jaclang/vendor/lark/parsers/earley.py +308 -385
  276. jaclang/vendor/lark/parsers/earley_common.py +42 -59
  277. jaclang/vendor/lark/parsers/earley_forest.py +810 -923
  278. jaclang/vendor/lark/parsers/grammar_analysis.py +203 -239
  279. jaclang/vendor/lark/parsers/lalr_analysis.py +332 -378
  280. jaclang/vendor/lark/parsers/lalr_interactive_parser.py +157 -171
  281. jaclang/vendor/lark/parsers/lalr_parser.py +122 -145
  282. jaclang/vendor/lark/parsers/lalr_parser_state.py +110 -141
  283. jaclang/vendor/lark/parsers/xearley.py +165 -209
  284. jaclang/vendor/lark/reconstruct.py +107 -131
  285. jaclang/vendor/lark/tools/__init__.py +71 -93
  286. jaclang/vendor/lark/tools/nearley.py +202 -240
  287. jaclang/vendor/lark/tools/serialize.py +32 -35
  288. jaclang/vendor/lark/tools/standalone.py +196 -225
  289. jaclang/vendor/lark/tree.py +272 -302
  290. jaclang/vendor/lark/tree_matcher.py +186 -194
  291. jaclang/vendor/lark/tree_templates.py +18 -26
  292. jaclang/vendor/lark/utils.py +361 -393
  293. jaclang/vendor/lark/visitors.py +593 -645
  294. jaclang/vendor/lark-1.1.9.dist-info/LICENSE +18 -0
  295. jaclang/vendor/lark-1.1.9.dist-info/METADATA +47 -0
  296. jaclang/vendor/lark-1.1.9.dist-info/RECORD +46 -0
  297. jaclang/vendor/lark-1.1.9.dist-info/WHEEL +5 -0
  298. jaclang/vendor/lark-1.1.9.dist-info/entry_points.txt +2 -0
  299. jaclang/vendor/lark-1.1.9.dist-info/top_level.txt +1 -0
  300. jaclang/vendor/lsprotocol/__init__.py +2 -0
  301. jaclang/vendor/lsprotocol/_hooks.py +1237 -0
  302. jaclang/vendor/lsprotocol/converters.py +17 -0
  303. jaclang/vendor/lsprotocol/py.typed +0 -0
  304. jaclang/vendor/lsprotocol/types.py +12898 -0
  305. jaclang/vendor/lsprotocol/validators.py +47 -0
  306. jaclang/vendor/lsprotocol-2023.0.1.dist-info/LICENSE +21 -0
  307. jaclang/vendor/lsprotocol-2023.0.1.dist-info/METADATA +65 -0
  308. jaclang/vendor/lsprotocol-2023.0.1.dist-info/RECORD +10 -0
  309. jaclang/vendor/lsprotocol-2023.0.1.dist-info/WHEEL +4 -0
  310. jaclang/vendor/mypy/api.py +1 -3
  311. jaclang/vendor/mypy/applytype.py +24 -24
  312. jaclang/vendor/mypy/argmap.py +5 -9
  313. jaclang/vendor/mypy/binder.py +11 -42
  314. jaclang/vendor/mypy/build.py +78 -260
  315. jaclang/vendor/mypy/checker.py +394 -930
  316. jaclang/vendor/mypy/checkexpr.py +210 -640
  317. jaclang/vendor/mypy/checkmember.py +44 -94
  318. jaclang/vendor/mypy/checkpattern.py +32 -104
  319. jaclang/vendor/mypy/checkstrformat.py +38 -131
  320. jaclang/vendor/mypy/config_parser.py +8 -31
  321. jaclang/vendor/mypy/constant_fold.py +1 -3
  322. jaclang/vendor/mypy/constraints.py +94 -253
  323. jaclang/vendor/mypy/copytype.py +3 -13
  324. jaclang/vendor/mypy/defaults.py +2 -4
  325. jaclang/vendor/mypy/dmypy/client.py +30 -102
  326. jaclang/vendor/mypy/dmypy_server.py +31 -118
  327. jaclang/vendor/mypy/erasetype.py +6 -18
  328. jaclang/vendor/mypy/errorcodes.py +26 -64
  329. jaclang/vendor/mypy/errors.py +23 -117
  330. jaclang/vendor/mypy/evalexpr.py +1 -3
  331. jaclang/vendor/mypy/expandtype.py +37 -40
  332. jaclang/vendor/mypy/exprtotype.py +14 -27
  333. jaclang/vendor/mypy/fastparse.py +66 -215
  334. jaclang/vendor/mypy/find_sources.py +4 -14
  335. jaclang/vendor/mypy/fixup.py +5 -10
  336. jaclang/vendor/mypy/indirection.py +1 -3
  337. jaclang/vendor/mypy/infer.py +2 -6
  338. jaclang/vendor/mypy/inspections.py +3 -13
  339. jaclang/vendor/mypy/ipc.py +7 -28
  340. jaclang/vendor/mypy/join.py +20 -39
  341. jaclang/vendor/mypy/literals.py +2 -10
  342. jaclang/vendor/mypy/main.py +39 -138
  343. jaclang/vendor/mypy/maptype.py +2 -6
  344. jaclang/vendor/mypy/meet.py +23 -77
  345. jaclang/vendor/mypy/message_registry.py +33 -88
  346. jaclang/vendor/mypy/messages.py +146 -447
  347. jaclang/vendor/mypy/metastore.py +2 -6
  348. jaclang/vendor/mypy/modulefinder.py +29 -76
  349. jaclang/vendor/mypy/moduleinspect.py +5 -17
  350. jaclang/vendor/mypy/mro.py +1 -3
  351. jaclang/vendor/mypy/nodes.py +35 -119
  352. jaclang/vendor/mypy/operators.py +2 -11
  353. jaclang/vendor/mypy/options.py +3 -9
  354. jaclang/vendor/mypy/parse.py +1 -3
  355. jaclang/vendor/mypy/plugin.py +25 -75
  356. jaclang/vendor/mypy/plugins/attrs.py +53 -119
  357. jaclang/vendor/mypy/plugins/common.py +9 -29
  358. jaclang/vendor/mypy/plugins/ctypes.py +5 -15
  359. jaclang/vendor/mypy/plugins/dataclasses.py +42 -107
  360. jaclang/vendor/mypy/plugins/default.py +26 -45
  361. jaclang/vendor/mypy/plugins/enums.py +4 -17
  362. jaclang/vendor/mypy/plugins/functools.py +2 -11
  363. jaclang/vendor/mypy/plugins/proper_plugin.py +2 -6
  364. jaclang/vendor/mypy/plugins/singledispatch.py +7 -33
  365. jaclang/vendor/mypy/reachability.py +2 -8
  366. jaclang/vendor/mypy/refinfo.py +1 -3
  367. jaclang/vendor/mypy/report.py +23 -52
  368. jaclang/vendor/mypy/semanal.py +385 -693
  369. jaclang/vendor/mypy/semanal_classprop.py +9 -34
  370. jaclang/vendor/mypy/semanal_enum.py +7 -19
  371. jaclang/vendor/mypy/semanal_infer.py +1 -3
  372. jaclang/vendor/mypy/semanal_main.py +5 -25
  373. jaclang/vendor/mypy/semanal_namedtuple.py +17 -56
  374. jaclang/vendor/mypy/semanal_newtype.py +8 -27
  375. jaclang/vendor/mypy/semanal_pass1.py +2 -6
  376. jaclang/vendor/mypy/semanal_shared.py +9 -27
  377. jaclang/vendor/mypy/semanal_typeargs.py +12 -41
  378. jaclang/vendor/mypy/semanal_typeddict.py +18 -59
  379. jaclang/vendor/mypy/server/astdiff.py +9 -34
  380. jaclang/vendor/mypy/server/astmerge.py +2 -6
  381. jaclang/vendor/mypy/server/deps.py +22 -71
  382. jaclang/vendor/mypy/server/mergecheck.py +1 -3
  383. jaclang/vendor/mypy/server/objgraph.py +2 -8
  384. jaclang/vendor/mypy/server/update.py +18 -54
  385. jaclang/vendor/mypy/solve.py +4 -17
  386. jaclang/vendor/mypy/split_namespace.py +1 -3
  387. jaclang/vendor/mypy/stats.py +6 -24
  388. jaclang/vendor/mypy/strconv.py +8 -31
  389. jaclang/vendor/mypy/stubdoc.py +8 -38
  390. jaclang/vendor/mypy/stubgen.py +79 -144
  391. jaclang/vendor/mypy/stubgenc.py +22 -69
  392. jaclang/vendor/mypy/stubtest.py +62 -167
  393. jaclang/vendor/mypy/stubutil.py +45 -61
  394. jaclang/vendor/mypy/subtypes.py +57 -133
  395. jaclang/vendor/mypy/suggestions.py +19 -53
  396. jaclang/vendor/mypy/test/data.py +13 -40
  397. jaclang/vendor/mypy/test/helpers.py +18 -43
  398. jaclang/vendor/mypy/test/meta/_pytest.py +2 -13
  399. jaclang/vendor/mypy/test/meta/test_parse_data.py +5 -9
  400. jaclang/vendor/mypy/test/meta/test_update_data.py +1 -3
  401. jaclang/vendor/mypy/test/test_find_sources.py +14 -32
  402. jaclang/vendor/mypy/test/test_ref_info.py +3 -9
  403. jaclang/vendor/mypy/test/testargs.py +1 -4
  404. jaclang/vendor/mypy/test/testcheck.py +14 -47
  405. jaclang/vendor/mypy/test/testcmdline.py +3 -14
  406. jaclang/vendor/mypy/test/testconstraints.py +8 -26
  407. jaclang/vendor/mypy/test/testdaemon.py +2 -9
  408. jaclang/vendor/mypy/test/testdeps.py +4 -12
  409. jaclang/vendor/mypy/test/testdiff.py +2 -6
  410. jaclang/vendor/mypy/test/testerrorstream.py +1 -3
  411. jaclang/vendor/mypy/test/testfinegrained.py +18 -56
  412. jaclang/vendor/mypy/test/testgraph.py +3 -18
  413. jaclang/vendor/mypy/test/testinfer.py +13 -55
  414. jaclang/vendor/mypy/test/testipc.py +3 -9
  415. jaclang/vendor/mypy/test/testmerge.py +5 -17
  416. jaclang/vendor/mypy/test/testmodulefinder.py +8 -30
  417. jaclang/vendor/mypy/test/testmypyc.py +1 -3
  418. jaclang/vendor/mypy/test/testparse.py +1 -3
  419. jaclang/vendor/mypy/test/testpep561.py +4 -13
  420. jaclang/vendor/mypy/test/testpythoneval.py +2 -6
  421. jaclang/vendor/mypy/test/testreports.py +1 -2
  422. jaclang/vendor/mypy/test/testsemanal.py +3 -10
  423. jaclang/vendor/mypy/test/testsolve.py +5 -15
  424. jaclang/vendor/mypy/test/teststubgen.py +69 -210
  425. jaclang/vendor/mypy/test/teststubtest.py +123 -163
  426. jaclang/vendor/mypy/test/testsubtypes.py +14 -34
  427. jaclang/vendor/mypy/test/testtransform.py +2 -8
  428. jaclang/vendor/mypy/test/testtypegen.py +2 -8
  429. jaclang/vendor/mypy/test/testtypes.py +77 -253
  430. jaclang/vendor/mypy/test/testutil.py +1 -3
  431. jaclang/vendor/mypy/test/typefixture.py +11 -38
  432. jaclang/vendor/mypy/test/update_data.py +4 -15
  433. jaclang/vendor/mypy/test/visitors.py +1 -9
  434. jaclang/vendor/mypy/treetransform.py +8 -25
  435. jaclang/vendor/mypy/tvar_scope.py +23 -3
  436. jaclang/vendor/mypy/type_visitor.py +3 -10
  437. jaclang/vendor/mypy/typeanal.py +183 -309
  438. jaclang/vendor/mypy/typeops.py +27 -73
  439. jaclang/vendor/mypy/types.py +77 -185
  440. jaclang/vendor/mypy/types_utils.py +7 -20
  441. jaclang/vendor/mypy/typeshed/LICENSE +237 -0
  442. jaclang/vendor/mypy/typeshed/stdlib/VERSIONS +309 -0
  443. jaclang/vendor/mypy/typeshed/stdlib/__future__.pyi +36 -0
  444. jaclang/vendor/mypy/typeshed/stdlib/__main__.pyi +3 -0
  445. jaclang/vendor/mypy/typeshed/stdlib/_ast.pyi +591 -0
  446. jaclang/vendor/mypy/typeshed/stdlib/_bisect.pyi +84 -0
  447. jaclang/vendor/mypy/typeshed/stdlib/_bootlocale.pyi +1 -0
  448. jaclang/vendor/mypy/typeshed/stdlib/_codecs.pyi +133 -0
  449. jaclang/vendor/mypy/typeshed/stdlib/_collections_abc.pyi +94 -0
  450. jaclang/vendor/mypy/typeshed/stdlib/_compat_pickle.pyi +8 -0
  451. jaclang/vendor/mypy/typeshed/stdlib/_compression.pyi +25 -0
  452. jaclang/vendor/mypy/typeshed/stdlib/_csv.pyi +90 -0
  453. jaclang/vendor/mypy/typeshed/stdlib/_ctypes.pyi +207 -0
  454. jaclang/vendor/mypy/typeshed/stdlib/_curses.pyi +566 -0
  455. jaclang/vendor/mypy/typeshed/stdlib/_decimal.pyi +281 -0
  456. jaclang/vendor/mypy/typeshed/stdlib/_dummy_thread.pyi +33 -0
  457. jaclang/vendor/mypy/typeshed/stdlib/_dummy_threading.pyi +164 -0
  458. jaclang/vendor/mypy/typeshed/stdlib/_heapq.pyi +11 -0
  459. jaclang/vendor/mypy/typeshed/stdlib/_imp.pyi +28 -0
  460. jaclang/vendor/mypy/typeshed/stdlib/_json.pyi +49 -0
  461. jaclang/vendor/mypy/typeshed/stdlib/_locale.pyi +100 -0
  462. jaclang/vendor/mypy/typeshed/stdlib/_lsprof.pyi +35 -0
  463. jaclang/vendor/mypy/typeshed/stdlib/_markupbase.pyi +16 -0
  464. jaclang/vendor/mypy/typeshed/stdlib/_msi.pyi +92 -0
  465. jaclang/vendor/mypy/typeshed/stdlib/_operator.pyi +147 -0
  466. jaclang/vendor/mypy/typeshed/stdlib/_osx_support.pyi +34 -0
  467. jaclang/vendor/mypy/typeshed/stdlib/_posixsubprocess.pyi +33 -0
  468. jaclang/vendor/mypy/typeshed/stdlib/_py_abc.pyi +14 -0
  469. jaclang/vendor/mypy/typeshed/stdlib/_pydecimal.pyi +43 -0
  470. jaclang/vendor/mypy/typeshed/stdlib/_random.pyi +12 -0
  471. jaclang/vendor/mypy/typeshed/stdlib/_sitebuiltins.pyi +16 -0
  472. jaclang/vendor/mypy/typeshed/stdlib/_socket.pyi +803 -0
  473. jaclang/vendor/mypy/typeshed/stdlib/_stat.pyi +103 -0
  474. jaclang/vendor/mypy/typeshed/stdlib/_thread.pyi +59 -0
  475. jaclang/vendor/mypy/typeshed/stdlib/_threading_local.pyi +17 -0
  476. jaclang/vendor/mypy/typeshed/stdlib/_tkinter.pyi +121 -0
  477. jaclang/vendor/mypy/typeshed/stdlib/_tracemalloc.pyi +17 -0
  478. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/__init__.pyi +347 -0
  479. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/dbapi.pyi +37 -0
  480. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/wsgi.pyi +44 -0
  481. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/xml.pyi +9 -0
  482. jaclang/vendor/mypy/typeshed/stdlib/_warnings.pyi +55 -0
  483. jaclang/vendor/mypy/typeshed/stdlib/_weakref.pyi +41 -0
  484. jaclang/vendor/mypy/typeshed/stdlib/_weakrefset.pyi +51 -0
  485. jaclang/vendor/mypy/typeshed/stdlib/_winapi.pyi +255 -0
  486. jaclang/vendor/mypy/typeshed/stdlib/abc.pyi +51 -0
  487. jaclang/vendor/mypy/typeshed/stdlib/aifc.pyi +91 -0
  488. jaclang/vendor/mypy/typeshed/stdlib/antigravity.pyi +3 -0
  489. jaclang/vendor/mypy/typeshed/stdlib/argparse.pyi +595 -0
  490. jaclang/vendor/mypy/typeshed/stdlib/array.pyi +92 -0
  491. jaclang/vendor/mypy/typeshed/stdlib/ast.pyi +277 -0
  492. jaclang/vendor/mypy/typeshed/stdlib/asynchat.pyi +21 -0
  493. jaclang/vendor/mypy/typeshed/stdlib/asyncio/__init__.pyi +41 -0
  494. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_events.pyi +440 -0
  495. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_futures.pyi +19 -0
  496. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_subprocess.pyi +63 -0
  497. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_tasks.pyi +9 -0
  498. jaclang/vendor/mypy/typeshed/stdlib/asyncio/constants.pyi +20 -0
  499. jaclang/vendor/mypy/typeshed/stdlib/asyncio/coroutines.pyi +26 -0
  500. jaclang/vendor/mypy/typeshed/stdlib/asyncio/events.pyi +580 -0
  501. jaclang/vendor/mypy/typeshed/stdlib/asyncio/exceptions.pyi +43 -0
  502. jaclang/vendor/mypy/typeshed/stdlib/asyncio/format_helpers.pyi +20 -0
  503. jaclang/vendor/mypy/typeshed/stdlib/asyncio/futures.pyi +57 -0
  504. jaclang/vendor/mypy/typeshed/stdlib/asyncio/locks.pyi +121 -0
  505. jaclang/vendor/mypy/typeshed/stdlib/asyncio/log.pyi +3 -0
  506. jaclang/vendor/mypy/typeshed/stdlib/asyncio/mixins.pyi +9 -0
  507. jaclang/vendor/mypy/typeshed/stdlib/asyncio/proactor_events.pyi +64 -0
  508. jaclang/vendor/mypy/typeshed/stdlib/asyncio/protocols.pyi +34 -0
  509. jaclang/vendor/mypy/typeshed/stdlib/asyncio/queues.pyi +47 -0
  510. jaclang/vendor/mypy/typeshed/stdlib/asyncio/runners.pyi +32 -0
  511. jaclang/vendor/mypy/typeshed/stdlib/asyncio/selector_events.pyi +8 -0
  512. jaclang/vendor/mypy/typeshed/stdlib/asyncio/sslproto.pyi +165 -0
  513. jaclang/vendor/mypy/typeshed/stdlib/asyncio/staggered.pyi +10 -0
  514. jaclang/vendor/mypy/typeshed/stdlib/asyncio/streams.pyi +153 -0
  515. jaclang/vendor/mypy/typeshed/stdlib/asyncio/subprocess.pyi +229 -0
  516. jaclang/vendor/mypy/typeshed/stdlib/asyncio/taskgroups.pyi +25 -0
  517. jaclang/vendor/mypy/typeshed/stdlib/asyncio/tasks.pyi +497 -0
  518. jaclang/vendor/mypy/typeshed/stdlib/asyncio/threads.pyi +9 -0
  519. jaclang/vendor/mypy/typeshed/stdlib/asyncio/timeouts.pyi +19 -0
  520. jaclang/vendor/mypy/typeshed/stdlib/asyncio/transports.pyi +47 -0
  521. jaclang/vendor/mypy/typeshed/stdlib/asyncio/trsock.pyi +94 -0
  522. jaclang/vendor/mypy/typeshed/stdlib/asyncio/unix_events.pyi +196 -0
  523. jaclang/vendor/mypy/typeshed/stdlib/asyncio/windows_events.pyi +85 -0
  524. jaclang/vendor/mypy/typeshed/stdlib/asyncio/windows_utils.pyi +49 -0
  525. jaclang/vendor/mypy/typeshed/stdlib/asyncore.pyi +90 -0
  526. jaclang/vendor/mypy/typeshed/stdlib/atexit.pyi +12 -0
  527. jaclang/vendor/mypy/typeshed/stdlib/audioop.pyi +43 -0
  528. jaclang/vendor/mypy/typeshed/stdlib/base64.pyi +59 -0
  529. jaclang/vendor/mypy/typeshed/stdlib/bdb.pyi +102 -0
  530. jaclang/vendor/mypy/typeshed/stdlib/binascii.pyi +36 -0
  531. jaclang/vendor/mypy/typeshed/stdlib/binhex.pyi +45 -0
  532. jaclang/vendor/mypy/typeshed/stdlib/bisect.pyi +4 -0
  533. jaclang/vendor/mypy/typeshed/stdlib/builtins.pyi +1936 -0
  534. jaclang/vendor/mypy/typeshed/stdlib/bz2.pyi +146 -0
  535. jaclang/vendor/mypy/typeshed/stdlib/cProfile.pyi +31 -0
  536. jaclang/vendor/mypy/typeshed/stdlib/calendar.pyi +208 -0
  537. jaclang/vendor/mypy/typeshed/stdlib/cgi.pyi +118 -0
  538. jaclang/vendor/mypy/typeshed/stdlib/cgitb.pyi +32 -0
  539. jaclang/vendor/mypy/typeshed/stdlib/chunk.pyi +20 -0
  540. jaclang/vendor/mypy/typeshed/stdlib/cmath.pyi +36 -0
  541. jaclang/vendor/mypy/typeshed/stdlib/cmd.pyi +45 -0
  542. jaclang/vendor/mypy/typeshed/stdlib/code.pyi +33 -0
  543. jaclang/vendor/mypy/typeshed/stdlib/codecs.pyi +285 -0
  544. jaclang/vendor/mypy/typeshed/stdlib/codeop.pyi +13 -0
  545. jaclang/vendor/mypy/typeshed/stdlib/collections/__init__.pyi +485 -0
  546. jaclang/vendor/mypy/typeshed/stdlib/collections/abc.pyi +2 -0
  547. jaclang/vendor/mypy/typeshed/stdlib/colorsys.pyi +13 -0
  548. jaclang/vendor/mypy/typeshed/stdlib/compileall.pyi +111 -0
  549. jaclang/vendor/mypy/typeshed/stdlib/concurrent/__init__.pyi +0 -0
  550. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/__init__.pyi +32 -0
  551. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/_base.pyi +126 -0
  552. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/process.pyi +233 -0
  553. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/thread.pyi +80 -0
  554. jaclang/vendor/mypy/typeshed/stdlib/configparser.pyi +313 -0
  555. jaclang/vendor/mypy/typeshed/stdlib/contextlib.pyi +208 -0
  556. jaclang/vendor/mypy/typeshed/stdlib/contextvars.pyi +63 -0
  557. jaclang/vendor/mypy/typeshed/stdlib/copy.pyi +16 -0
  558. jaclang/vendor/mypy/typeshed/stdlib/copyreg.pyi +21 -0
  559. jaclang/vendor/mypy/typeshed/stdlib/crypt.pyi +12 -0
  560. jaclang/vendor/mypy/typeshed/stdlib/csv.pyi +147 -0
  561. jaclang/vendor/mypy/typeshed/stdlib/ctypes/__init__.pyi +187 -0
  562. jaclang/vendor/mypy/typeshed/stdlib/ctypes/_endian.pyi +19 -0
  563. jaclang/vendor/mypy/typeshed/stdlib/ctypes/util.pyi +6 -0
  564. jaclang/vendor/mypy/typeshed/stdlib/ctypes/wintypes.pyi +298 -0
  565. jaclang/vendor/mypy/typeshed/stdlib/curses/__init__.pyi +22 -0
  566. jaclang/vendor/mypy/typeshed/stdlib/curses/ascii.pyi +62 -0
  567. jaclang/vendor/mypy/typeshed/stdlib/curses/has_key.pyi +1 -0
  568. jaclang/vendor/mypy/typeshed/stdlib/curses/panel.pyi +22 -0
  569. jaclang/vendor/mypy/typeshed/stdlib/curses/textpad.pyi +11 -0
  570. jaclang/vendor/mypy/typeshed/stdlib/dataclasses.pyi +315 -0
  571. jaclang/vendor/mypy/typeshed/stdlib/datetime.pyi +295 -0
  572. jaclang/vendor/mypy/typeshed/stdlib/dbm/__init__.pyi +95 -0
  573. jaclang/vendor/mypy/typeshed/stdlib/dbm/dumb.pyi +31 -0
  574. jaclang/vendor/mypy/typeshed/stdlib/dbm/gnu.pyi +41 -0
  575. jaclang/vendor/mypy/typeshed/stdlib/dbm/ndbm.pyi +37 -0
  576. jaclang/vendor/mypy/typeshed/stdlib/decimal.pyi +2 -0
  577. jaclang/vendor/mypy/typeshed/stdlib/difflib.pyi +140 -0
  578. jaclang/vendor/mypy/typeshed/stdlib/dis.pyi +144 -0
  579. jaclang/vendor/mypy/typeshed/stdlib/distutils/__init__.pyi +5 -0
  580. jaclang/vendor/mypy/typeshed/stdlib/distutils/archive_util.pyi +20 -0
  581. jaclang/vendor/mypy/typeshed/stdlib/distutils/bcppcompiler.pyi +3 -0
  582. jaclang/vendor/mypy/typeshed/stdlib/distutils/ccompiler.pyi +152 -0
  583. jaclang/vendor/mypy/typeshed/stdlib/distutils/cmd.pyi +66 -0
  584. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/__init__.pyi +0 -0
  585. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist.pyi +25 -0
  586. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_dumb.pyi +21 -0
  587. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_msi.pyi +45 -0
  588. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_packager.pyi +0 -0
  589. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_rpm.pyi +52 -0
  590. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_wininst.pyi +16 -0
  591. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build.pyi +31 -0
  592. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_clib.pyi +27 -0
  593. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_ext.pyi +50 -0
  594. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_py.pyi +44 -0
  595. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_scripts.pyi +24 -0
  596. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/check.pyi +39 -0
  597. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/clean.pyi +17 -0
  598. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/config.pyi +83 -0
  599. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install.pyi +63 -0
  600. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_data.pyi +19 -0
  601. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_egg_info.pyi +18 -0
  602. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_headers.pyi +16 -0
  603. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_lib.pyi +25 -0
  604. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_scripts.pyi +18 -0
  605. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/register.pyi +18 -0
  606. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/sdist.pyi +42 -0
  607. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/upload.pyi +17 -0
  608. jaclang/vendor/mypy/typeshed/stdlib/distutils/config.pyi +17 -0
  609. jaclang/vendor/mypy/typeshed/stdlib/distutils/core.pyi +57 -0
  610. jaclang/vendor/mypy/typeshed/stdlib/distutils/cygwinccompiler.pyi +20 -0
  611. jaclang/vendor/mypy/typeshed/stdlib/distutils/debug.pyi +1 -0
  612. jaclang/vendor/mypy/typeshed/stdlib/distutils/dep_util.pyi +3 -0
  613. jaclang/vendor/mypy/typeshed/stdlib/distutils/dir_util.pyi +13 -0
  614. jaclang/vendor/mypy/typeshed/stdlib/distutils/dist.pyi +146 -0
  615. jaclang/vendor/mypy/typeshed/stdlib/distutils/errors.pyi +19 -0
  616. jaclang/vendor/mypy/typeshed/stdlib/distutils/extension.pyi +36 -0
  617. jaclang/vendor/mypy/typeshed/stdlib/distutils/fancy_getopt.pyi +34 -0
  618. jaclang/vendor/mypy/typeshed/stdlib/distutils/file_util.pyi +14 -0
  619. jaclang/vendor/mypy/typeshed/stdlib/distutils/filelist.pyi +50 -0
  620. jaclang/vendor/mypy/typeshed/stdlib/distutils/log.pyi +25 -0
  621. jaclang/vendor/mypy/typeshed/stdlib/distutils/msvccompiler.pyi +3 -0
  622. jaclang/vendor/mypy/typeshed/stdlib/distutils/spawn.pyi +2 -0
  623. jaclang/vendor/mypy/typeshed/stdlib/distutils/sysconfig.pyi +31 -0
  624. jaclang/vendor/mypy/typeshed/stdlib/distutils/text_file.pyi +21 -0
  625. jaclang/vendor/mypy/typeshed/stdlib/distutils/unixccompiler.pyi +3 -0
  626. jaclang/vendor/mypy/typeshed/stdlib/distutils/util.pyi +46 -0
  627. jaclang/vendor/mypy/typeshed/stdlib/distutils/version.pyi +36 -0
  628. jaclang/vendor/mypy/typeshed/stdlib/doctest.pyi +248 -0
  629. jaclang/vendor/mypy/typeshed/stdlib/dummy_threading.pyi +2 -0
  630. jaclang/vendor/mypy/typeshed/stdlib/email/__init__.pyi +29 -0
  631. jaclang/vendor/mypy/typeshed/stdlib/email/_header_value_parser.pyi +392 -0
  632. jaclang/vendor/mypy/typeshed/stdlib/email/_policybase.pyi +51 -0
  633. jaclang/vendor/mypy/typeshed/stdlib/email/base64mime.pyi +13 -0
  634. jaclang/vendor/mypy/typeshed/stdlib/email/charset.pyi +34 -0
  635. jaclang/vendor/mypy/typeshed/stdlib/email/contentmanager.pyi +11 -0
  636. jaclang/vendor/mypy/typeshed/stdlib/email/encoders.pyi +8 -0
  637. jaclang/vendor/mypy/typeshed/stdlib/email/errors.pyi +39 -0
  638. jaclang/vendor/mypy/typeshed/stdlib/email/feedparser.pyi +23 -0
  639. jaclang/vendor/mypy/typeshed/stdlib/email/generator.pyi +40 -0
  640. jaclang/vendor/mypy/typeshed/stdlib/email/header.pyi +31 -0
  641. jaclang/vendor/mypy/typeshed/stdlib/email/headerregistry.pyi +178 -0
  642. jaclang/vendor/mypy/typeshed/stdlib/email/iterators.pyi +12 -0
  643. jaclang/vendor/mypy/typeshed/stdlib/email/message.pyi +165 -0
  644. jaclang/vendor/mypy/typeshed/stdlib/email/mime/__init__.pyi +0 -0
  645. jaclang/vendor/mypy/typeshed/stdlib/email/mime/application.pyi +17 -0
  646. jaclang/vendor/mypy/typeshed/stdlib/email/mime/audio.pyi +17 -0
  647. jaclang/vendor/mypy/typeshed/stdlib/email/mime/base.pyi +8 -0
  648. jaclang/vendor/mypy/typeshed/stdlib/email/mime/image.pyi +17 -0
  649. jaclang/vendor/mypy/typeshed/stdlib/email/mime/message.pyi +8 -0
  650. jaclang/vendor/mypy/typeshed/stdlib/email/mime/multipart.pyi +18 -0
  651. jaclang/vendor/mypy/typeshed/stdlib/email/mime/nonmultipart.pyi +5 -0
  652. jaclang/vendor/mypy/typeshed/stdlib/email/mime/text.pyi +9 -0
  653. jaclang/vendor/mypy/typeshed/stdlib/email/parser.pyi +26 -0
  654. jaclang/vendor/mypy/typeshed/stdlib/email/policy.pyi +38 -0
  655. jaclang/vendor/mypy/typeshed/stdlib/email/quoprimime.pyi +28 -0
  656. jaclang/vendor/mypy/typeshed/stdlib/email/utils.pyi +70 -0
  657. jaclang/vendor/mypy/typeshed/stdlib/encodings/__init__.pyi +10 -0
  658. jaclang/vendor/mypy/typeshed/stdlib/encodings/utf_8.pyi +21 -0
  659. jaclang/vendor/mypy/typeshed/stdlib/encodings/utf_8_sig.pyi +22 -0
  660. jaclang/vendor/mypy/typeshed/stdlib/ensurepip/__init__.pyi +12 -0
  661. jaclang/vendor/mypy/typeshed/stdlib/enum.pyi +320 -0
  662. jaclang/vendor/mypy/typeshed/stdlib/errno.pyi +222 -0
  663. jaclang/vendor/mypy/typeshed/stdlib/faulthandler.pyi +13 -0
  664. jaclang/vendor/mypy/typeshed/stdlib/fcntl.pyi +127 -0
  665. jaclang/vendor/mypy/typeshed/stdlib/filecmp.pyi +57 -0
  666. jaclang/vendor/mypy/typeshed/stdlib/fileinput.pyi +213 -0
  667. jaclang/vendor/mypy/typeshed/stdlib/fnmatch.pyi +9 -0
  668. jaclang/vendor/mypy/typeshed/stdlib/formatter.pyi +88 -0
  669. jaclang/vendor/mypy/typeshed/stdlib/fractions.pyi +150 -0
  670. jaclang/vendor/mypy/typeshed/stdlib/ftplib.pyi +178 -0
  671. jaclang/vendor/mypy/typeshed/stdlib/functools.pyi +213 -0
  672. jaclang/vendor/mypy/typeshed/stdlib/gc.pyi +37 -0
  673. jaclang/vendor/mypy/typeshed/stdlib/genericpath.pyi +52 -0
  674. jaclang/vendor/mypy/typeshed/stdlib/getopt.pyi +11 -0
  675. jaclang/vendor/mypy/typeshed/stdlib/getpass.pyi +8 -0
  676. jaclang/vendor/mypy/typeshed/stdlib/gettext.pyi +169 -0
  677. jaclang/vendor/mypy/typeshed/stdlib/glob.pyi +42 -0
  678. jaclang/vendor/mypy/typeshed/stdlib/graphlib.pyi +28 -0
  679. jaclang/vendor/mypy/typeshed/stdlib/grp.pyi +22 -0
  680. jaclang/vendor/mypy/typeshed/stdlib/gzip.pyi +160 -0
  681. jaclang/vendor/mypy/typeshed/stdlib/hashlib.pyi +167 -0
  682. jaclang/vendor/mypy/typeshed/stdlib/heapq.pyi +17 -0
  683. jaclang/vendor/mypy/typeshed/stdlib/hmac.pyi +38 -0
  684. jaclang/vendor/mypy/typeshed/stdlib/html/__init__.pyi +6 -0
  685. jaclang/vendor/mypy/typeshed/stdlib/html/entities.pyi +6 -0
  686. jaclang/vendor/mypy/typeshed/stdlib/html/parser.pyi +34 -0
  687. jaclang/vendor/mypy/typeshed/stdlib/http/__init__.pyi +105 -0
  688. jaclang/vendor/mypy/typeshed/stdlib/http/client.pyi +259 -0
  689. jaclang/vendor/mypy/typeshed/stdlib/http/cookiejar.pyi +159 -0
  690. jaclang/vendor/mypy/typeshed/stdlib/http/cookies.pyi +60 -0
  691. jaclang/vendor/mypy/typeshed/stdlib/http/server.pyi +83 -0
  692. jaclang/vendor/mypy/typeshed/stdlib/imaplib.pyi +168 -0
  693. jaclang/vendor/mypy/typeshed/stdlib/imghdr.pyi +17 -0
  694. jaclang/vendor/mypy/typeshed/stdlib/imp.pyi +62 -0
  695. jaclang/vendor/mypy/typeshed/stdlib/importlib/__init__.pyi +24 -0
  696. jaclang/vendor/mypy/typeshed/stdlib/importlib/_abc.pyi +15 -0
  697. jaclang/vendor/mypy/typeshed/stdlib/importlib/abc.pyi +172 -0
  698. jaclang/vendor/mypy/typeshed/stdlib/importlib/machinery.pyi +179 -0
  699. jaclang/vendor/mypy/typeshed/stdlib/importlib/metadata/__init__.pyi +285 -0
  700. jaclang/vendor/mypy/typeshed/stdlib/importlib/metadata/_meta.pyi +49 -0
  701. jaclang/vendor/mypy/typeshed/stdlib/importlib/readers.pyi +68 -0
  702. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/__init__.pyi +46 -0
  703. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/abc.pyi +12 -0
  704. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/readers.pyi +14 -0
  705. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/simple.pyi +56 -0
  706. jaclang/vendor/mypy/typeshed/stdlib/importlib/simple.pyi +11 -0
  707. jaclang/vendor/mypy/typeshed/stdlib/importlib/util.pyi +43 -0
  708. jaclang/vendor/mypy/typeshed/stdlib/inspect.pyi +632 -0
  709. jaclang/vendor/mypy/typeshed/stdlib/io.pyi +238 -0
  710. jaclang/vendor/mypy/typeshed/stdlib/ipaddress.pyi +208 -0
  711. jaclang/vendor/mypy/typeshed/stdlib/itertools.pyi +273 -0
  712. jaclang/vendor/mypy/typeshed/stdlib/json/__init__.pyi +61 -0
  713. jaclang/vendor/mypy/typeshed/stdlib/json/decoder.pyi +32 -0
  714. jaclang/vendor/mypy/typeshed/stdlib/json/encoder.pyi +40 -0
  715. jaclang/vendor/mypy/typeshed/stdlib/json/tool.pyi +1 -0
  716. jaclang/vendor/mypy/typeshed/stdlib/keyword.pyi +21 -0
  717. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/__init__.pyi +0 -0
  718. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/btm_matcher.pyi +28 -0
  719. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixer_base.pyi +42 -0
  720. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/__init__.pyi +0 -0
  721. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_apply.pyi +8 -0
  722. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_asserts.pyi +10 -0
  723. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_basestring.pyi +8 -0
  724. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_buffer.pyi +8 -0
  725. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_dict.pyi +16 -0
  726. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_except.pyi +14 -0
  727. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exec.pyi +8 -0
  728. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_execfile.pyi +8 -0
  729. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi +13 -0
  730. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_filter.pyi +9 -0
  731. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_funcattrs.pyi +8 -0
  732. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_future.pyi +8 -0
  733. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_getcwdu.pyi +8 -0
  734. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_has_key.pyi +8 -0
  735. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_idioms.pyi +15 -0
  736. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_import.pyi +16 -0
  737. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports.pyi +21 -0
  738. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports2.pyi +6 -0
  739. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_input.pyi +11 -0
  740. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_intern.pyi +9 -0
  741. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_isinstance.pyi +8 -0
  742. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools.pyi +9 -0
  743. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools_imports.pyi +7 -0
  744. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_long.pyi +7 -0
  745. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_map.pyi +9 -0
  746. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_metaclass.pyi +17 -0
  747. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_methodattrs.pyi +10 -0
  748. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ne.pyi +8 -0
  749. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_next.pyi +19 -0
  750. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_nonzero.pyi +8 -0
  751. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_numliterals.pyi +8 -0
  752. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_operator.pyi +12 -0
  753. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_paren.pyi +8 -0
  754. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_print.pyi +12 -0
  755. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raise.pyi +8 -0
  756. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raw_input.pyi +8 -0
  757. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reduce.pyi +8 -0
  758. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reload.pyi +9 -0
  759. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_renames.pyi +17 -0
  760. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_repr.pyi +8 -0
  761. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_set_literal.pyi +7 -0
  762. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_standarderror.pyi +8 -0
  763. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_sys_exc.pyi +9 -0
  764. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_throw.pyi +8 -0
  765. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_tuple_params.pyi +17 -0
  766. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_types.pyi +8 -0
  767. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_unicode.pyi +12 -0
  768. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_urllib.pyi +15 -0
  769. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ws_comma.pyi +12 -0
  770. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xrange.pyi +20 -0
  771. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xreadlines.pyi +8 -0
  772. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_zip.pyi +9 -0
  773. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/main.pyi +42 -0
  774. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/__init__.pyi +9 -0
  775. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/driver.pyi +27 -0
  776. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/grammar.pyi +24 -0
  777. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/literals.pyi +7 -0
  778. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/parse.pyi +30 -0
  779. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/pgen.pyi +50 -0
  780. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/token.pyi +67 -0
  781. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/tokenize.pyi +96 -0
  782. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pygram.pyi +114 -0
  783. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pytree.pyi +117 -0
  784. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/refactor.pyi +82 -0
  785. jaclang/vendor/mypy/typeshed/stdlib/linecache.pyi +23 -0
  786. jaclang/vendor/mypy/typeshed/stdlib/locale.pyi +152 -0
  787. jaclang/vendor/mypy/typeshed/stdlib/logging/__init__.pyi +658 -0
  788. jaclang/vendor/mypy/typeshed/stdlib/logging/config.pyi +134 -0
  789. jaclang/vendor/mypy/typeshed/stdlib/logging/handlers.pyi +275 -0
  790. jaclang/vendor/mypy/typeshed/stdlib/lzma.pyi +197 -0
  791. jaclang/vendor/mypy/typeshed/stdlib/mailbox.pyi +256 -0
  792. jaclang/vendor/mypy/typeshed/stdlib/mailcap.pyi +11 -0
  793. jaclang/vendor/mypy/typeshed/stdlib/marshal.pyi +33 -0
  794. jaclang/vendor/mypy/typeshed/stdlib/math.pyi +125 -0
  795. jaclang/vendor/mypy/typeshed/stdlib/mimetypes.pyi +46 -0
  796. jaclang/vendor/mypy/typeshed/stdlib/mmap.pyi +113 -0
  797. jaclang/vendor/mypy/typeshed/stdlib/modulefinder.pyi +66 -0
  798. jaclang/vendor/mypy/typeshed/stdlib/msilib/__init__.pyi +177 -0
  799. jaclang/vendor/mypy/typeshed/stdlib/msilib/schema.pyi +94 -0
  800. jaclang/vendor/mypy/typeshed/stdlib/msilib/sequence.pyi +13 -0
  801. jaclang/vendor/mypy/typeshed/stdlib/msilib/text.pyi +7 -0
  802. jaclang/vendor/mypy/typeshed/stdlib/msvcrt.pyi +32 -0
  803. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/__init__.pyi +90 -0
  804. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/connection.pyi +75 -0
  805. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/context.pyi +189 -0
  806. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/dummy/__init__.pyi +77 -0
  807. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/dummy/connection.pyi +39 -0
  808. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/forkserver.pyi +31 -0
  809. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/heap.pyi +36 -0
  810. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/managers.pyi +212 -0
  811. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/pool.pyi +103 -0
  812. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_fork.pyi +23 -0
  813. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_forkserver.pyi +16 -0
  814. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_posix.pyi +20 -0
  815. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_win32.pyi +30 -0
  816. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/process.pyi +39 -0
  817. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/queues.pyi +41 -0
  818. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/reduction.pyi +90 -0
  819. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/resource_sharer.pyi +20 -0
  820. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/resource_tracker.pyi +18 -0
  821. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/shared_memory.pyi +40 -0
  822. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/sharedctypes.pyi +107 -0
  823. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/spawn.pyi +32 -0
  824. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/synchronize.pyi +54 -0
  825. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/util.pyi +98 -0
  826. jaclang/vendor/mypy/typeshed/stdlib/netrc.pyi +23 -0
  827. jaclang/vendor/mypy/typeshed/stdlib/nis.pyi +9 -0
  828. jaclang/vendor/mypy/typeshed/stdlib/nntplib.pyi +125 -0
  829. jaclang/vendor/mypy/typeshed/stdlib/nt.pyi +111 -0
  830. jaclang/vendor/mypy/typeshed/stdlib/ntpath.pyi +119 -0
  831. jaclang/vendor/mypy/typeshed/stdlib/nturl2path.pyi +2 -0
  832. jaclang/vendor/mypy/typeshed/stdlib/numbers.pyi +209 -0
  833. jaclang/vendor/mypy/typeshed/stdlib/opcode.pyi +59 -0
  834. jaclang/vendor/mypy/typeshed/stdlib/operator.pyi +110 -0
  835. jaclang/vendor/mypy/typeshed/stdlib/optparse.pyi +255 -0
  836. jaclang/vendor/mypy/typeshed/stdlib/os/__init__.pyi +1157 -0
  837. jaclang/vendor/mypy/typeshed/stdlib/os/path.pyi +8 -0
  838. jaclang/vendor/mypy/typeshed/stdlib/ossaudiodev.pyi +131 -0
  839. jaclang/vendor/mypy/typeshed/stdlib/parser.pyi +24 -0
  840. jaclang/vendor/mypy/typeshed/stdlib/pathlib.pyi +232 -0
  841. jaclang/vendor/mypy/typeshed/stdlib/pdb.pyi +181 -0
  842. jaclang/vendor/mypy/typeshed/stdlib/pickle.pyi +271 -0
  843. jaclang/vendor/mypy/typeshed/stdlib/pickletools.pyi +167 -0
  844. jaclang/vendor/mypy/typeshed/stdlib/pipes.pyi +16 -0
  845. jaclang/vendor/mypy/typeshed/stdlib/pkgutil.pyi +53 -0
  846. jaclang/vendor/mypy/typeshed/stdlib/platform.pyi +42 -0
  847. jaclang/vendor/mypy/typeshed/stdlib/plistlib.pyi +113 -0
  848. jaclang/vendor/mypy/typeshed/stdlib/poplib.pyi +71 -0
  849. jaclang/vendor/mypy/typeshed/stdlib/posix.pyi +361 -0
  850. jaclang/vendor/mypy/typeshed/stdlib/posixpath.pyi +161 -0
  851. jaclang/vendor/mypy/typeshed/stdlib/pprint.pyi +112 -0
  852. jaclang/vendor/mypy/typeshed/stdlib/profile.pyi +31 -0
  853. jaclang/vendor/mypy/typeshed/stdlib/pstats.pyi +80 -0
  854. jaclang/vendor/mypy/typeshed/stdlib/pty.pyi +19 -0
  855. jaclang/vendor/mypy/typeshed/stdlib/pwd.pyi +28 -0
  856. jaclang/vendor/mypy/typeshed/stdlib/py_compile.pyi +34 -0
  857. jaclang/vendor/mypy/typeshed/stdlib/pyclbr.pyi +74 -0
  858. jaclang/vendor/mypy/typeshed/stdlib/pydoc.pyi +261 -0
  859. jaclang/vendor/mypy/typeshed/stdlib/pydoc_data/__init__.pyi +0 -0
  860. jaclang/vendor/mypy/typeshed/stdlib/pydoc_data/topics.pyi +1 -0
  861. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/__init__.pyi +85 -0
  862. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/errors.pyi +49 -0
  863. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/model.pyi +11 -0
  864. jaclang/vendor/mypy/typeshed/stdlib/queue.pyi +66 -0
  865. jaclang/vendor/mypy/typeshed/stdlib/quopri.pyi +11 -0
  866. jaclang/vendor/mypy/typeshed/stdlib/random.pyi +138 -0
  867. jaclang/vendor/mypy/typeshed/stdlib/re.pyi +290 -0
  868. jaclang/vendor/mypy/typeshed/stdlib/readline.pyi +36 -0
  869. jaclang/vendor/mypy/typeshed/stdlib/reprlib.pyi +65 -0
  870. jaclang/vendor/mypy/typeshed/stdlib/resource.pyi +94 -0
  871. jaclang/vendor/mypy/typeshed/stdlib/rlcompleter.pyi +9 -0
  872. jaclang/vendor/mypy/typeshed/stdlib/runpy.pyi +24 -0
  873. jaclang/vendor/mypy/typeshed/stdlib/sched.pyi +42 -0
  874. jaclang/vendor/mypy/typeshed/stdlib/secrets.pyi +15 -0
  875. jaclang/vendor/mypy/typeshed/stdlib/select.pyi +155 -0
  876. jaclang/vendor/mypy/typeshed/stdlib/selectors.pyi +67 -0
  877. jaclang/vendor/mypy/typeshed/stdlib/shelve.pyi +46 -0
  878. jaclang/vendor/mypy/typeshed/stdlib/shlex.pyi +63 -0
  879. jaclang/vendor/mypy/typeshed/stdlib/shutil.pyi +185 -0
  880. jaclang/vendor/mypy/typeshed/stdlib/signal.pyi +188 -0
  881. jaclang/vendor/mypy/typeshed/stdlib/site.pyi +27 -0
  882. jaclang/vendor/mypy/typeshed/stdlib/smtpd.pyi +91 -0
  883. jaclang/vendor/mypy/typeshed/stdlib/smtplib.pyi +204 -0
  884. jaclang/vendor/mypy/typeshed/stdlib/sndhdr.pyi +14 -0
  885. jaclang/vendor/mypy/typeshed/stdlib/socket.pyi +825 -0
  886. jaclang/vendor/mypy/typeshed/stdlib/socketserver.pyi +168 -0
  887. jaclang/vendor/mypy/typeshed/stdlib/spwd.pyi +41 -0
  888. jaclang/vendor/mypy/typeshed/stdlib/sqlite3/__init__.pyi +1 -0
  889. jaclang/vendor/mypy/typeshed/stdlib/sqlite3/dbapi2.pyi +551 -0
  890. jaclang/vendor/mypy/typeshed/stdlib/sre_compile.pyi +11 -0
  891. jaclang/vendor/mypy/typeshed/stdlib/sre_constants.pyi +130 -0
  892. jaclang/vendor/mypy/typeshed/stdlib/sre_parse.pyi +104 -0
  893. jaclang/vendor/mypy/typeshed/stdlib/ssl.pyi +537 -0
  894. jaclang/vendor/mypy/typeshed/stdlib/stat.pyi +1 -0
  895. jaclang/vendor/mypy/typeshed/stdlib/statistics.pyi +132 -0
  896. jaclang/vendor/mypy/typeshed/stdlib/string.pyi +83 -0
  897. jaclang/vendor/mypy/typeshed/stdlib/stringprep.pyi +27 -0
  898. jaclang/vendor/mypy/typeshed/stdlib/struct.pyi +26 -0
  899. jaclang/vendor/mypy/typeshed/stdlib/subprocess.pyi +2615 -0
  900. jaclang/vendor/mypy/typeshed/stdlib/sunau.pyi +86 -0
  901. jaclang/vendor/mypy/typeshed/stdlib/symbol.pyi +93 -0
  902. jaclang/vendor/mypy/typeshed/stdlib/symtable.pyi +58 -0
  903. jaclang/vendor/mypy/typeshed/stdlib/sys/__init__.pyi +373 -0
  904. jaclang/vendor/mypy/typeshed/stdlib/sys/_monitoring.pyi +52 -0
  905. jaclang/vendor/mypy/typeshed/stdlib/sysconfig.pyi +48 -0
  906. jaclang/vendor/mypy/typeshed/stdlib/syslog.pyi +46 -0
  907. jaclang/vendor/mypy/typeshed/stdlib/tabnanny.pyi +16 -0
  908. jaclang/vendor/mypy/typeshed/stdlib/tarfile.pyi +441 -0
  909. jaclang/vendor/mypy/typeshed/stdlib/telnetlib.pyi +122 -0
  910. jaclang/vendor/mypy/typeshed/stdlib/tempfile.pyi +477 -0
  911. jaclang/vendor/mypy/typeshed/stdlib/termios.pyi +267 -0
  912. jaclang/vendor/mypy/typeshed/stdlib/textwrap.pyi +103 -0
  913. jaclang/vendor/mypy/typeshed/stdlib/this.pyi +2 -0
  914. jaclang/vendor/mypy/typeshed/stdlib/threading.pyi +187 -0
  915. jaclang/vendor/mypy/typeshed/stdlib/time.pyi +108 -0
  916. jaclang/vendor/mypy/typeshed/stdlib/timeit.pyi +32 -0
  917. jaclang/vendor/mypy/typeshed/stdlib/tkinter/__init__.pyi +3654 -0
  918. jaclang/vendor/mypy/typeshed/stdlib/tkinter/colorchooser.pyi +20 -0
  919. jaclang/vendor/mypy/typeshed/stdlib/tkinter/commondialog.pyi +14 -0
  920. jaclang/vendor/mypy/typeshed/stdlib/tkinter/constants.pyi +80 -0
  921. jaclang/vendor/mypy/typeshed/stdlib/tkinter/dialog.pyi +16 -0
  922. jaclang/vendor/mypy/typeshed/stdlib/tkinter/dnd.pyi +20 -0
  923. jaclang/vendor/mypy/typeshed/stdlib/tkinter/filedialog.pyi +151 -0
  924. jaclang/vendor/mypy/typeshed/stdlib/tkinter/font.pyi +116 -0
  925. jaclang/vendor/mypy/typeshed/stdlib/tkinter/messagebox.pyi +44 -0
  926. jaclang/vendor/mypy/typeshed/stdlib/tkinter/scrolledtext.pyi +9 -0
  927. jaclang/vendor/mypy/typeshed/stdlib/tkinter/simpledialog.pyi +54 -0
  928. jaclang/vendor/mypy/typeshed/stdlib/tkinter/tix.pyi +299 -0
  929. jaclang/vendor/mypy/typeshed/stdlib/tkinter/ttk.pyi +1204 -0
  930. jaclang/vendor/mypy/typeshed/stdlib/token.pyi +159 -0
  931. jaclang/vendor/mypy/typeshed/stdlib/tokenize.pyi +177 -0
  932. jaclang/vendor/mypy/typeshed/stdlib/tomllib.pyi +10 -0
  933. jaclang/vendor/mypy/typeshed/stdlib/trace.pyi +79 -0
  934. jaclang/vendor/mypy/typeshed/stdlib/traceback.pyi +262 -0
  935. jaclang/vendor/mypy/typeshed/stdlib/tracemalloc.pyi +124 -0
  936. jaclang/vendor/mypy/typeshed/stdlib/tty.pyi +30 -0
  937. jaclang/vendor/mypy/typeshed/stdlib/turtle.pyi +713 -0
  938. jaclang/vendor/mypy/typeshed/stdlib/types.pyi +614 -0
  939. jaclang/vendor/mypy/typeshed/stdlib/typing.pyi +976 -0
  940. jaclang/vendor/mypy/typeshed/stdlib/typing_extensions.pyi +509 -0
  941. jaclang/vendor/mypy/typeshed/stdlib/unicodedata.pyi +73 -0
  942. jaclang/vendor/mypy/typeshed/stdlib/unittest/__init__.pyi +67 -0
  943. jaclang/vendor/mypy/typeshed/stdlib/unittest/_log.pyi +27 -0
  944. jaclang/vendor/mypy/typeshed/stdlib/unittest/async_case.pyi +21 -0
  945. jaclang/vendor/mypy/typeshed/stdlib/unittest/case.pyi +342 -0
  946. jaclang/vendor/mypy/typeshed/stdlib/unittest/loader.pyi +51 -0
  947. jaclang/vendor/mypy/typeshed/stdlib/unittest/main.pyi +69 -0
  948. jaclang/vendor/mypy/typeshed/stdlib/unittest/mock.pyi +430 -0
  949. jaclang/vendor/mypy/typeshed/stdlib/unittest/result.pyi +47 -0
  950. jaclang/vendor/mypy/typeshed/stdlib/unittest/runner.pyi +72 -0
  951. jaclang/vendor/mypy/typeshed/stdlib/unittest/signals.pyi +15 -0
  952. jaclang/vendor/mypy/typeshed/stdlib/unittest/suite.pyi +22 -0
  953. jaclang/vendor/mypy/typeshed/stdlib/unittest/util.pyi +23 -0
  954. jaclang/vendor/mypy/typeshed/stdlib/urllib/__init__.pyi +0 -0
  955. jaclang/vendor/mypy/typeshed/stdlib/urllib/error.pyi +23 -0
  956. jaclang/vendor/mypy/typeshed/stdlib/urllib/parse.pyi +210 -0
  957. jaclang/vendor/mypy/typeshed/stdlib/urllib/request.pyi +400 -0
  958. jaclang/vendor/mypy/typeshed/stdlib/urllib/response.pyi +43 -0
  959. jaclang/vendor/mypy/typeshed/stdlib/urllib/robotparser.pyi +20 -0
  960. jaclang/vendor/mypy/typeshed/stdlib/uu.pyi +13 -0
  961. jaclang/vendor/mypy/typeshed/stdlib/uuid.pyi +100 -0
  962. jaclang/vendor/mypy/typeshed/stdlib/warnings.pyi +112 -0
  963. jaclang/vendor/mypy/typeshed/stdlib/wave.pyi +85 -0
  964. jaclang/vendor/mypy/typeshed/stdlib/weakref.pyi +149 -0
  965. jaclang/vendor/mypy/typeshed/stdlib/webbrowser.pyi +74 -0
  966. jaclang/vendor/mypy/typeshed/stdlib/winreg.pyi +132 -0
  967. jaclang/vendor/mypy/typeshed/stdlib/winsound.pyi +28 -0
  968. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/__init__.pyi +0 -0
  969. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/handlers.pyi +91 -0
  970. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/headers.pyi +26 -0
  971. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/simple_server.pyi +37 -0
  972. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/types.pyi +32 -0
  973. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/util.pyi +24 -0
  974. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/validate.pyi +50 -0
  975. jaclang/vendor/mypy/typeshed/stdlib/xdrlib.pyi +57 -0
  976. jaclang/vendor/mypy/typeshed/stdlib/xml/__init__.pyi +1 -0
  977. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/NodeFilter.pyi +19 -0
  978. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/__init__.pyi +69 -0
  979. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/domreg.pyi +8 -0
  980. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/expatbuilder.pyi +100 -0
  981. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/minicompat.pyi +22 -0
  982. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/minidom.pyi +404 -0
  983. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/pulldom.pyi +94 -0
  984. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/xmlbuilder.pyi +108 -0
  985. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementInclude.pyi +28 -0
  986. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementPath.pyi +34 -0
  987. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementTree.pyi +327 -0
  988. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/__init__.pyi +0 -0
  989. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/cElementTree.pyi +1 -0
  990. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/__init__.pyi +1 -0
  991. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/__init__.pyi +1 -0
  992. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/errors.pyi +1 -0
  993. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/model.pyi +1 -0
  994. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/__init__.pyi +25 -0
  995. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/_exceptions.pyi +19 -0
  996. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/handler.pyi +55 -0
  997. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/saxutils.pyi +60 -0
  998. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/xmlreader.pyi +87 -0
  999. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/__init__.pyi +0 -0
  1000. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/client.pyi +296 -0
  1001. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/server.pyi +143 -0
  1002. jaclang/vendor/mypy/typeshed/stdlib/xxlimited.pyi +22 -0
  1003. jaclang/vendor/mypy/typeshed/stdlib/zipapp.pyi +20 -0
  1004. jaclang/vendor/mypy/typeshed/stdlib/zipfile/__init__.pyi +306 -0
  1005. jaclang/vendor/mypy/typeshed/stdlib/zipfile/_path.pyi +95 -0
  1006. jaclang/vendor/mypy/typeshed/stdlib/zipimport.pyi +32 -0
  1007. jaclang/vendor/mypy/typeshed/stdlib/zlib.pyi +56 -0
  1008. jaclang/vendor/mypy/typeshed/stdlib/zoneinfo/__init__.pyi +38 -0
  1009. jaclang/vendor/mypy/typeshed/stubs/mypy-extensions/mypy_extensions.pyi +218 -0
  1010. jaclang/vendor/mypy/typestate.py +5 -15
  1011. jaclang/vendor/mypy/typetraverser.py +9 -3
  1012. jaclang/vendor/mypy/typevars.py +2 -8
  1013. jaclang/vendor/mypy/util.py +14 -45
  1014. jaclang/vendor/mypy/version.py +1 -19
  1015. jaclang/vendor/mypy/visitor.py +3 -9
  1016. jaclang/vendor/mypy/xml/mypy-html.css +104 -0
  1017. jaclang/vendor/mypy/xml/mypy-html.xslt +81 -0
  1018. jaclang/vendor/mypy/xml/mypy-txt.xslt +100 -0
  1019. jaclang/vendor/mypy/xml/mypy.xsd +50 -0
  1020. jaclang/vendor/mypy-1.10.0.dist-info/LICENSE +229 -0
  1021. jaclang/vendor/mypy-1.10.0.dist-info/METADATA +48 -0
  1022. jaclang/vendor/mypy-1.10.0.dist-info/RECORD +1241 -0
  1023. jaclang/vendor/mypy-1.10.0.dist-info/WHEEL +6 -0
  1024. jaclang/vendor/mypy-1.10.0.dist-info/entry_points.txt +6 -0
  1025. jaclang/vendor/mypy-1.10.0.dist-info/top_level.txt +3 -0
  1026. jaclang/vendor/mypy_extensions-1.0.0.dist-info/LICENSE +27 -0
  1027. jaclang/vendor/mypy_extensions-1.0.0.dist-info/METADATA +29 -0
  1028. jaclang/vendor/mypy_extensions-1.0.0.dist-info/RECORD +6 -0
  1029. jaclang/vendor/mypy_extensions-1.0.0.dist-info/WHEEL +5 -0
  1030. jaclang/vendor/mypy_extensions-1.0.0.dist-info/top_level.txt +1 -0
  1031. jaclang/vendor/mypy_extensions.py +21 -40
  1032. jaclang/vendor/mypyc/README.md +133 -0
  1033. jaclang/vendor/mypyc/__main__.py +1 -3
  1034. jaclang/vendor/mypyc/analysis/attrdefined.py +6 -22
  1035. jaclang/vendor/mypyc/analysis/dataflow.py +5 -3
  1036. jaclang/vendor/mypyc/analysis/ircheck.py +13 -26
  1037. jaclang/vendor/mypyc/analysis/selfleaks.py +4 -0
  1038. jaclang/vendor/mypyc/build.py +6 -19
  1039. jaclang/vendor/mypyc/codegen/emit.py +20 -73
  1040. jaclang/vendor/mypyc/codegen/emitclass.py +22 -72
  1041. jaclang/vendor/mypyc/codegen/emitfunc.py +20 -62
  1042. jaclang/vendor/mypyc/codegen/emitmodule.py +50 -117
  1043. jaclang/vendor/mypyc/codegen/emitwrapper.py +22 -78
  1044. jaclang/vendor/mypyc/codegen/literals.py +1 -3
  1045. jaclang/vendor/mypyc/common.py +1 -3
  1046. jaclang/vendor/mypyc/doc/Makefile +20 -0
  1047. jaclang/vendor/mypyc/doc/bool_operations.rst +27 -0
  1048. jaclang/vendor/mypyc/doc/compilation_units.rst +20 -0
  1049. jaclang/vendor/mypyc/doc/conf.py +59 -0
  1050. jaclang/vendor/mypyc/doc/cpython-timings.md +25 -0
  1051. jaclang/vendor/mypyc/doc/dev-intro.md +548 -0
  1052. jaclang/vendor/mypyc/doc/dict_operations.rst +59 -0
  1053. jaclang/vendor/mypyc/doc/differences_from_python.rst +332 -0
  1054. jaclang/vendor/mypyc/doc/float_operations.rst +50 -0
  1055. jaclang/vendor/mypyc/doc/future.md +42 -0
  1056. jaclang/vendor/mypyc/doc/getting_started.rst +240 -0
  1057. jaclang/vendor/mypyc/doc/index.rst +61 -0
  1058. jaclang/vendor/mypyc/doc/int_operations.rst +162 -0
  1059. jaclang/vendor/mypyc/doc/introduction.rst +150 -0
  1060. jaclang/vendor/mypyc/doc/list_operations.rst +65 -0
  1061. jaclang/vendor/mypyc/doc/make.bat +35 -0
  1062. jaclang/vendor/mypyc/doc/native_classes.rst +206 -0
  1063. jaclang/vendor/mypyc/doc/native_operations.rst +55 -0
  1064. jaclang/vendor/mypyc/doc/performance_tips_and_tricks.rst +244 -0
  1065. jaclang/vendor/mypyc/doc/set_operations.rst +47 -0
  1066. jaclang/vendor/mypyc/doc/str_operations.rst +35 -0
  1067. jaclang/vendor/mypyc/doc/tuple_operations.rst +33 -0
  1068. jaclang/vendor/mypyc/doc/using_type_annotations.rst +398 -0
  1069. jaclang/vendor/mypyc/external/googletest/LICENSE +28 -0
  1070. jaclang/vendor/mypyc/external/googletest/README.md +280 -0
  1071. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-death-test.h +294 -0
  1072. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-message.h +250 -0
  1073. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-param-test.h +1444 -0
  1074. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-param-test.h.pump +510 -0
  1075. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-printers.h +993 -0
  1076. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-spi.h +232 -0
  1077. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-test-part.h +179 -0
  1078. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-typed-test.h +263 -0
  1079. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest.h +2236 -0
  1080. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest_pred_impl.h +358 -0
  1081. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest_prod.h +58 -0
  1082. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest-port.h +69 -0
  1083. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest-printers.h +42 -0
  1084. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest.h +41 -0
  1085. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-death-test-internal.h +319 -0
  1086. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-filepath.h +206 -0
  1087. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-internal.h +1238 -0
  1088. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-linked_ptr.h +243 -0
  1089. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h +5146 -0
  1090. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h.pump +286 -0
  1091. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util.h +731 -0
  1092. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-port-arch.h +93 -0
  1093. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-port.h +2560 -0
  1094. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-string.h +167 -0
  1095. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-tuple.h +1020 -0
  1096. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-tuple.h.pump +347 -0
  1097. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-type-util.h +3331 -0
  1098. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-type-util.h.pump +297 -0
  1099. jaclang/vendor/mypyc/external/googletest/make/Makefile +61 -0
  1100. jaclang/vendor/mypyc/external/googletest/src/gtest-all.cc +48 -0
  1101. jaclang/vendor/mypyc/external/googletest/src/gtest-death-test.cc +1342 -0
  1102. jaclang/vendor/mypyc/external/googletest/src/gtest-filepath.cc +387 -0
  1103. jaclang/vendor/mypyc/external/googletest/src/gtest-internal-inl.h +1183 -0
  1104. jaclang/vendor/mypyc/external/googletest/src/gtest-port.cc +1259 -0
  1105. jaclang/vendor/mypyc/external/googletest/src/gtest-printers.cc +373 -0
  1106. jaclang/vendor/mypyc/external/googletest/src/gtest-test-part.cc +110 -0
  1107. jaclang/vendor/mypyc/external/googletest/src/gtest-typed-test.cc +118 -0
  1108. jaclang/vendor/mypyc/external/googletest/src/gtest.cc +5388 -0
  1109. jaclang/vendor/mypyc/external/googletest/src/gtest_main.cc +38 -0
  1110. jaclang/vendor/mypyc/ir/class_ir.py +8 -24
  1111. jaclang/vendor/mypyc/ir/func_ir.py +3 -16
  1112. jaclang/vendor/mypyc/ir/module_ir.py +2 -6
  1113. jaclang/vendor/mypyc/ir/ops.py +103 -66
  1114. jaclang/vendor/mypyc/ir/pprint.py +35 -55
  1115. jaclang/vendor/mypyc/ir/rtypes.py +16 -48
  1116. jaclang/vendor/mypyc/irbuild/ast_helpers.py +4 -1
  1117. jaclang/vendor/mypyc/irbuild/builder.py +46 -148
  1118. jaclang/vendor/mypyc/irbuild/callable_class.py +5 -19
  1119. jaclang/vendor/mypyc/irbuild/classdef.py +27 -83
  1120. jaclang/vendor/mypyc/irbuild/env_class.py +3 -9
  1121. jaclang/vendor/mypyc/irbuild/expression.py +42 -100
  1122. jaclang/vendor/mypyc/irbuild/for_helpers.py +56 -105
  1123. jaclang/vendor/mypyc/irbuild/format_str_tokenizer.py +1 -4
  1124. jaclang/vendor/mypyc/irbuild/function.py +40 -132
  1125. jaclang/vendor/mypyc/irbuild/generator.py +14 -49
  1126. jaclang/vendor/mypyc/irbuild/ll_builder.py +197 -426
  1127. jaclang/vendor/mypyc/irbuild/mapper.py +2 -13
  1128. jaclang/vendor/mypyc/irbuild/match.py +11 -36
  1129. jaclang/vendor/mypyc/irbuild/nonlocalcontrol.py +2 -7
  1130. jaclang/vendor/mypyc/irbuild/prebuildvisitor.py +1 -4
  1131. jaclang/vendor/mypyc/irbuild/prepare.py +25 -83
  1132. jaclang/vendor/mypyc/irbuild/specialize.py +22 -72
  1133. jaclang/vendor/mypyc/irbuild/statement.py +30 -96
  1134. jaclang/vendor/mypyc/irbuild/targets.py +1 -3
  1135. jaclang/vendor/mypyc/irbuild/util.py +2 -8
  1136. jaclang/vendor/mypyc/irbuild/vtable.py +1 -3
  1137. jaclang/vendor/mypyc/lib-rt/CPy.h +638 -0
  1138. jaclang/vendor/mypyc/lib-rt/bytes_ops.c +143 -0
  1139. jaclang/vendor/mypyc/lib-rt/dict_ops.c +446 -0
  1140. jaclang/vendor/mypyc/lib-rt/exc_ops.c +259 -0
  1141. jaclang/vendor/mypyc/lib-rt/float_ops.c +192 -0
  1142. jaclang/vendor/mypyc/lib-rt/generic_ops.c +64 -0
  1143. jaclang/vendor/mypyc/lib-rt/getargs.c +450 -0
  1144. jaclang/vendor/mypyc/lib-rt/getargsfast.c +569 -0
  1145. jaclang/vendor/mypyc/lib-rt/init.c +13 -0
  1146. jaclang/vendor/mypyc/lib-rt/int_ops.c +803 -0
  1147. jaclang/vendor/mypyc/lib-rt/list_ops.c +335 -0
  1148. jaclang/vendor/mypyc/lib-rt/misc_ops.c +942 -0
  1149. jaclang/vendor/mypyc/lib-rt/module_shim.tmpl +18 -0
  1150. jaclang/vendor/mypyc/lib-rt/mypyc_util.h +118 -0
  1151. jaclang/vendor/mypyc/lib-rt/pythoncapi_compat.h +497 -0
  1152. jaclang/vendor/mypyc/lib-rt/pythonsupport.h +533 -0
  1153. jaclang/vendor/mypyc/lib-rt/set_ops.c +17 -0
  1154. jaclang/vendor/mypyc/lib-rt/setup.py +70 -0
  1155. jaclang/vendor/mypyc/lib-rt/str_ops.c +241 -0
  1156. jaclang/vendor/mypyc/lib-rt/test_capi.cc +585 -0
  1157. jaclang/vendor/mypyc/lib-rt/tuple_ops.c +61 -0
  1158. jaclang/vendor/mypyc/lower/__init__.py +0 -0
  1159. jaclang/vendor/mypyc/lower/int_ops.py +113 -0
  1160. jaclang/vendor/mypyc/lower/list_ops.py +45 -0
  1161. jaclang/vendor/mypyc/lower/misc_ops.py +12 -0
  1162. jaclang/vendor/mypyc/lower/registry.py +26 -0
  1163. jaclang/vendor/mypyc/options.py +1 -3
  1164. jaclang/vendor/mypyc/primitives/dict_ops.py +1 -4
  1165. jaclang/vendor/mypyc/primitives/exc_ops.py +3 -12
  1166. jaclang/vendor/mypyc/primitives/int_ops.py +22 -32
  1167. jaclang/vendor/mypyc/primitives/list_ops.py +10 -0
  1168. jaclang/vendor/mypyc/primitives/misc_ops.py +28 -22
  1169. jaclang/vendor/mypyc/primitives/registry.py +56 -19
  1170. jaclang/vendor/mypyc/primitives/set_ops.py +1 -3
  1171. jaclang/vendor/mypyc/rt_subtype.py +1 -2
  1172. jaclang/vendor/mypyc/sametype.py +2 -5
  1173. jaclang/vendor/mypyc/subtype.py +3 -12
  1174. jaclang/vendor/mypyc/test/test_alwaysdefined.py +2 -6
  1175. jaclang/vendor/mypyc/test/test_analysis.py +8 -24
  1176. jaclang/vendor/mypyc/test/test_cheader.py +12 -4
  1177. jaclang/vendor/mypyc/test/test_emit.py +4 -14
  1178. jaclang/vendor/mypyc/test/test_emitclass.py +1 -8
  1179. jaclang/vendor/mypyc/test/test_emitfunc.py +30 -77
  1180. jaclang/vendor/mypyc/test/test_emitwrapper.py +1 -3
  1181. jaclang/vendor/mypyc/test/test_exceptions.py +4 -12
  1182. jaclang/vendor/mypyc/test/test_external.py +1 -5
  1183. jaclang/vendor/mypyc/test/test_irbuild.py +2 -6
  1184. jaclang/vendor/mypyc/test/test_ircheck.py +6 -17
  1185. jaclang/vendor/mypyc/test/test_literals.py +1 -4
  1186. jaclang/vendor/mypyc/test/test_lowering.py +56 -0
  1187. jaclang/vendor/mypyc/test/test_namegen.py +1 -4
  1188. jaclang/vendor/mypyc/test/test_optimizations.py +68 -0
  1189. jaclang/vendor/mypyc/test/test_refcount.py +3 -9
  1190. jaclang/vendor/mypyc/test/test_run.py +12 -38
  1191. jaclang/vendor/mypyc/test/test_serialization.py +1 -3
  1192. jaclang/vendor/mypyc/test/test_struct.py +3 -11
  1193. jaclang/vendor/mypyc/test/test_tuplename.py +4 -13
  1194. jaclang/vendor/mypyc/test/test_typeops.py +1 -4
  1195. jaclang/vendor/mypyc/test/testutil.py +2 -6
  1196. jaclang/vendor/mypyc/test-data/alwaysdefined.test +732 -0
  1197. jaclang/vendor/mypyc/test-data/analysis.test +470 -0
  1198. jaclang/vendor/mypyc/test-data/commandline.test +245 -0
  1199. jaclang/vendor/mypyc/test-data/driver/driver.py +48 -0
  1200. jaclang/vendor/mypyc/test-data/exceptions-freq.test +125 -0
  1201. jaclang/vendor/mypyc/test-data/exceptions.test +699 -0
  1202. jaclang/vendor/mypyc/test-data/fixtures/ir.py +373 -0
  1203. jaclang/vendor/mypyc/test-data/fixtures/testutil.py +103 -0
  1204. jaclang/vendor/mypyc/test-data/fixtures/typing-full.pyi +169 -0
  1205. jaclang/vendor/mypyc/test-data/irbuild-any.test +236 -0
  1206. jaclang/vendor/mypyc/test-data/irbuild-basic.test +3399 -0
  1207. jaclang/vendor/mypyc/test-data/irbuild-bool.test +424 -0
  1208. jaclang/vendor/mypyc/test-data/irbuild-bytes.test +181 -0
  1209. jaclang/vendor/mypyc/test-data/irbuild-classes.test +1302 -0
  1210. jaclang/vendor/mypyc/test-data/irbuild-constant-fold.test +480 -0
  1211. jaclang/vendor/mypyc/test-data/irbuild-dict.test +584 -0
  1212. jaclang/vendor/mypyc/test-data/irbuild-dunders.test +215 -0
  1213. jaclang/vendor/mypyc/test-data/irbuild-float.test +497 -0
  1214. jaclang/vendor/mypyc/test-data/irbuild-generics.test +150 -0
  1215. jaclang/vendor/mypyc/test-data/irbuild-glue-methods.test +437 -0
  1216. jaclang/vendor/mypyc/test-data/irbuild-i16.test +526 -0
  1217. jaclang/vendor/mypyc/test-data/irbuild-i32.test +598 -0
  1218. jaclang/vendor/mypyc/test-data/irbuild-i64.test +2144 -0
  1219. jaclang/vendor/mypyc/test-data/irbuild-int.test +194 -0
  1220. jaclang/vendor/mypyc/test-data/irbuild-isinstance.test +109 -0
  1221. jaclang/vendor/mypyc/test-data/irbuild-lists.test +513 -0
  1222. jaclang/vendor/mypyc/test-data/irbuild-match.test +1717 -0
  1223. jaclang/vendor/mypyc/test-data/irbuild-math.test +64 -0
  1224. jaclang/vendor/mypyc/test-data/irbuild-nested.test +807 -0
  1225. jaclang/vendor/mypyc/test-data/irbuild-optional.test +536 -0
  1226. jaclang/vendor/mypyc/test-data/irbuild-set.test +806 -0
  1227. jaclang/vendor/mypyc/test-data/irbuild-singledispatch.test +257 -0
  1228. jaclang/vendor/mypyc/test-data/irbuild-statements.test +1060 -0
  1229. jaclang/vendor/mypyc/test-data/irbuild-str.test +312 -0
  1230. jaclang/vendor/mypyc/test-data/irbuild-strip-asserts.test +12 -0
  1231. jaclang/vendor/mypyc/test-data/irbuild-try.test +523 -0
  1232. jaclang/vendor/mypyc/test-data/irbuild-tuple.test +386 -0
  1233. jaclang/vendor/mypyc/test-data/irbuild-u8.test +543 -0
  1234. jaclang/vendor/mypyc/test-data/irbuild-unreachable.test +241 -0
  1235. jaclang/vendor/mypyc/test-data/irbuild-vectorcall.test +153 -0
  1236. jaclang/vendor/mypyc/test-data/lowering-int.test +377 -0
  1237. jaclang/vendor/mypyc/test-data/lowering-list.test +33 -0
  1238. jaclang/vendor/mypyc/test-data/opt-copy-propagation.test +400 -0
  1239. jaclang/vendor/mypyc/test-data/opt-flag-elimination.test +296 -0
  1240. jaclang/vendor/mypyc/test-data/refcount.test +1482 -0
  1241. jaclang/vendor/mypyc/test-data/run-async.test +173 -0
  1242. jaclang/vendor/mypyc/test-data/run-attrs.test +318 -0
  1243. jaclang/vendor/mypyc/test-data/run-bench.test +196 -0
  1244. jaclang/vendor/mypyc/test-data/run-bools.test +229 -0
  1245. jaclang/vendor/mypyc/test-data/run-bytes.test +302 -0
  1246. jaclang/vendor/mypyc/test-data/run-classes.test +2505 -0
  1247. jaclang/vendor/mypyc/test-data/run-dicts.test +334 -0
  1248. jaclang/vendor/mypyc/test-data/run-dunders.test +945 -0
  1249. jaclang/vendor/mypyc/test-data/run-exceptions.test +448 -0
  1250. jaclang/vendor/mypyc/test-data/run-floats.test +516 -0
  1251. jaclang/vendor/mypyc/test-data/run-functions.test +1310 -0
  1252. jaclang/vendor/mypyc/test-data/run-generators.test +682 -0
  1253. jaclang/vendor/mypyc/test-data/run-i16.test +338 -0
  1254. jaclang/vendor/mypyc/test-data/run-i32.test +336 -0
  1255. jaclang/vendor/mypyc/test-data/run-i64.test +1519 -0
  1256. jaclang/vendor/mypyc/test-data/run-imports.test +265 -0
  1257. jaclang/vendor/mypyc/test-data/run-integers.test +540 -0
  1258. jaclang/vendor/mypyc/test-data/run-lists.test +411 -0
  1259. jaclang/vendor/mypyc/test-data/run-loops.test +485 -0
  1260. jaclang/vendor/mypyc/test-data/run-match.test +283 -0
  1261. jaclang/vendor/mypyc/test-data/run-math.test +106 -0
  1262. jaclang/vendor/mypyc/test-data/run-misc.test +1170 -0
  1263. jaclang/vendor/mypyc/test-data/run-multimodule.test +887 -0
  1264. jaclang/vendor/mypyc/test-data/run-mypy-sim.test +138 -0
  1265. jaclang/vendor/mypyc/test-data/run-primitives.test +375 -0
  1266. jaclang/vendor/mypyc/test-data/run-python37.test +159 -0
  1267. jaclang/vendor/mypyc/test-data/run-python38.test +88 -0
  1268. jaclang/vendor/mypyc/test-data/run-sets.test +150 -0
  1269. jaclang/vendor/mypyc/test-data/run-singledispatch.test +698 -0
  1270. jaclang/vendor/mypyc/test-data/run-strings.test +641 -0
  1271. jaclang/vendor/mypyc/test-data/run-traits.test +411 -0
  1272. jaclang/vendor/mypyc/test-data/run-tuples.test +258 -0
  1273. jaclang/vendor/mypyc/test-data/run-u8.test +303 -0
  1274. jaclang/vendor/mypyc/transform/copy_propagation.py +94 -0
  1275. jaclang/vendor/mypyc/transform/exceptions.py +1 -5
  1276. jaclang/vendor/mypyc/transform/flag_elimination.py +108 -0
  1277. jaclang/vendor/mypyc/transform/ir_transform.py +368 -0
  1278. jaclang/vendor/mypyc/transform/lower.py +33 -0
  1279. jaclang/vendor/mypyc/transform/refcount.py +7 -30
  1280. jaclang/vendor/mypyc/transform/uninit.py +4 -15
  1281. jaclang/vendor/pluggy/__init__.py +15 -11
  1282. jaclang/vendor/pluggy/_callers.py +34 -5
  1283. jaclang/vendor/pluggy/_hooks.py +35 -7
  1284. jaclang/vendor/pluggy/_manager.py +26 -3
  1285. jaclang/vendor/pluggy/_result.py +0 -15
  1286. jaclang/vendor/pluggy/_version.py +16 -0
  1287. jaclang/vendor/pluggy/_warnings.py +27 -0
  1288. jaclang/vendor/pluggy-1.5.0.dist-info/LICENSE +21 -0
  1289. jaclang/vendor/pluggy-1.5.0.dist-info/METADATA +155 -0
  1290. jaclang/vendor/pluggy-1.5.0.dist-info/RECORD +14 -0
  1291. jaclang/vendor/pluggy-1.5.0.dist-info/top_level.txt +1 -0
  1292. jaclang/vendor/pygls/__init__.py +25 -0
  1293. jaclang/vendor/pygls/capabilities.py +460 -0
  1294. jaclang/vendor/pygls/client.py +176 -0
  1295. jaclang/vendor/pygls/constants.py +26 -0
  1296. jaclang/vendor/pygls/exceptions.py +215 -0
  1297. jaclang/vendor/pygls/feature_manager.py +244 -0
  1298. jaclang/vendor/pygls/lsp/__init__.py +139 -0
  1299. jaclang/vendor/pygls/lsp/client.py +1961 -0
  1300. jaclang/vendor/pygls/progress.py +79 -0
  1301. jaclang/vendor/pygls/protocol/__init__.py +78 -0
  1302. jaclang/vendor/pygls/protocol/json_rpc.py +560 -0
  1303. jaclang/vendor/pygls/protocol/language_server.py +569 -0
  1304. jaclang/vendor/pygls/protocol/lsp_meta.py +51 -0
  1305. jaclang/vendor/pygls/py.typed +2 -0
  1306. jaclang/vendor/pygls/server.py +616 -0
  1307. jaclang/vendor/pygls/uris.py +184 -0
  1308. jaclang/vendor/pygls/workspace/__init__.py +97 -0
  1309. jaclang/vendor/pygls/workspace/position_codec.py +206 -0
  1310. jaclang/vendor/pygls/workspace/text_document.py +238 -0
  1311. jaclang/vendor/pygls/workspace/workspace.py +323 -0
  1312. jaclang/vendor/pygls-1.3.1.dist-info/LICENSE.txt +201 -0
  1313. jaclang/vendor/pygls-1.3.1.dist-info/METADATA +105 -0
  1314. jaclang/vendor/pygls-1.3.1.dist-info/RECORD +24 -0
  1315. jaclang/vendor/pygls-1.3.1.dist-info/WHEEL +4 -0
  1316. jaclang/vendor/typing_extensions-4.12.2.dist-info/LICENSE +279 -0
  1317. jaclang/vendor/typing_extensions-4.12.2.dist-info/METADATA +67 -0
  1318. jaclang/vendor/typing_extensions-4.12.2.dist-info/RECORD +5 -0
  1319. jaclang/vendor/typing_extensions-4.12.2.dist-info/WHEEL +4 -0
  1320. jaclang/vendor/typing_extensions.py +1209 -641
  1321. jaclang-0.6.5.dist-info/METADATA +106 -0
  1322. jaclang-0.6.5.dist-info/RECORD +1476 -0
  1323. jaclang-0.6.5.dist-info/WHEEL +4 -0
  1324. jaclang-0.6.5.dist-info/entry_points.txt +3 -0
  1325. jaclang/compiler/generated/jac_parser.py +0 -4069
  1326. jaclang-0.6.1.dist-info/METADATA +0 -17
  1327. jaclang-0.6.1.dist-info/RECORD +0 -430
  1328. jaclang-0.6.1.dist-info/entry_points.txt +0 -2
  1329. jaclang-0.6.1.dist-info/top_level.txt +0 -1
  1330. /jaclang/{compiler/generated/__init__.py → vendor/attr/py.typed} +0 -0
  1331. {jaclang-0.6.1.dist-info → jaclang/vendor/pluggy-1.5.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,59 @@
1
+ .. _dict-ops:
2
+
3
+ Native dict operations
4
+ ======================
5
+
6
+ These ``dict`` operations have fast, optimized implementations. Other
7
+ dictionary operations use generic implementations that are often slower.
8
+
9
+ Construction
10
+ ------------
11
+
12
+ Construct dict from keys and values:
13
+
14
+ * ``{key: value, ...}``
15
+
16
+ Construct empty dict:
17
+
18
+ * ``{}``
19
+ * ``dict()``
20
+
21
+ Construct dict from another object:
22
+
23
+ * ``dict(d: dict)``
24
+ * ``dict(x: Iterable)``
25
+
26
+ Dict comprehensions:
27
+
28
+ * ``{...: ... for ... in ...}``
29
+ * ``{...: ... for ... in ... if ...}``
30
+
31
+ Operators
32
+ ---------
33
+
34
+ * ``d[key]``
35
+ * ``value in d``
36
+
37
+ Statements
38
+ ----------
39
+
40
+ * ``d[key] = value``
41
+ * ``for key in d:``
42
+
43
+ Methods
44
+ -------
45
+
46
+ * ``d.get(key)``
47
+ * ``d.get(key, default)``
48
+ * ``d.keys()``
49
+ * ``d.values()``
50
+ * ``d.items()``
51
+ * ``d.copy()``
52
+ * ``d.clear()``
53
+ * ``d1.update(d2: dict)``
54
+ * ``d.update(x: Iterable)``
55
+
56
+ Functions
57
+ ---------
58
+
59
+ * ``len(d: dict)``
@@ -0,0 +1,332 @@
1
+ .. _differences-from-python:
2
+
3
+ Differences from Python
4
+ =======================
5
+
6
+ Mypyc aims to be sufficiently compatible with Python semantics so that
7
+ migrating code to mypyc often doesn't require major code
8
+ changes. There are various differences to enable performance gains
9
+ that you need to be aware of, however.
10
+
11
+ This section documents notable differences from Python. We discuss
12
+ many of them also elsewhere, but it's convenient to have them here in
13
+ one place.
14
+
15
+ Running compiled modules
16
+ ------------------------
17
+
18
+ You can't use ``python3 <module>.py`` or ``python3 -m <module>``
19
+ to run compiled modules. Use ``python3 -c "import <module>"`` instead,
20
+ or write a wrapper script that imports your module.
21
+
22
+ As a side effect, you can't rely on checking the ``__name__`` attribute in compiled
23
+ code, like this::
24
+
25
+ if __name__ == "__main__": # Can't be used in compiled code
26
+ main()
27
+
28
+ Type errors prevent compilation
29
+ -------------------------------
30
+
31
+ You can't compile code that generates mypy type check errors. You can
32
+ sometimes ignore these with a ``# type: ignore`` comment, but this can
33
+ result in bad code being generated, and it's considered dangerous.
34
+
35
+ .. note::
36
+
37
+ In the future, mypyc may reject ``# type: ignore`` comments that
38
+ may be unsafe.
39
+
40
+ Runtime type checking
41
+ ---------------------
42
+
43
+ Non-erased types in annotations will be type checked at runtime. For example,
44
+ consider this function::
45
+
46
+ def twice(x: int) -> int:
47
+ return x * 2
48
+
49
+ If you try to call this function with a ``float`` or ``str`` argument,
50
+ you'll get a type error on the call site, even if the call site is not
51
+ being type checked::
52
+
53
+ twice(5) # OK
54
+ twice(2.2) # TypeError
55
+ twice("blah") # TypeError
56
+
57
+ Also, values with *inferred* types will be type checked. For example,
58
+ consider a call to the stdlib function ``socket.gethostname()`` in
59
+ compiled code. This function is not compiled (no stdlib modules are
60
+ compiled with mypyc), but mypyc uses a *library stub file* to infer
61
+ the return type as ``str``. Compiled code calling ``gethostname()``
62
+ will fail with ``TypeError`` if ``gethostname()`` would return an
63
+ incompatible value, such as ``None``::
64
+
65
+ import socket
66
+
67
+ # Fail if returned value is not a str
68
+ name = socket.gethostname()
69
+
70
+ Note that ``gethostname()`` is defined like this in the stub file for
71
+ ``socket`` (in typeshed)::
72
+
73
+ def gethostname() -> str: ...
74
+
75
+ Thus mypyc verifies that library stub files and annotations in
76
+ non-compiled code match runtime values. This adds an extra layer of
77
+ type safety.
78
+
79
+ Casts such as ``cast(str, x)`` will also result in strict type
80
+ checks. Consider this example::
81
+
82
+ from typing import cast
83
+ ...
84
+ x = cast(str, y)
85
+
86
+ The last line is essentially equivalent to this Python code when compiled::
87
+
88
+ if not isinstance(y, str):
89
+ raise TypeError(...)
90
+ x = y
91
+
92
+ In interpreted mode ``cast`` does not perform a runtime type check.
93
+
94
+ Native classes
95
+ --------------
96
+
97
+ Native classes behave differently from Python classes. See
98
+ :ref:`native-classes` for the details.
99
+
100
+ Primitive types
101
+ ---------------
102
+
103
+ Some primitive types behave differently in compiled code to improve
104
+ performance.
105
+
106
+ ``int`` objects use an unboxed (non-heap-allocated) representation for small
107
+ integer values. A side effect of this is that the exact runtime type of
108
+ ``int`` values is lost. For example, consider this simple function::
109
+
110
+ def first_int(x: List[int]) -> int:
111
+ return x[0]
112
+
113
+ print(first_int([True])) # Output is 1, instead of True!
114
+
115
+ ``bool`` is a subclass of ``int``, so the above code is
116
+ valid. However, when the list value is converted to ``int``, ``True``
117
+ is converted to the corresponding ``int`` value, which is ``1``.
118
+
119
+ Note that integers still have an arbitrary precision in compiled code,
120
+ similar to normal Python integers.
121
+
122
+ Fixed-length tuples are unboxed, similar to integers. The exact type
123
+ and identity of fixed-length tuples is not preserved, and you can't
124
+ reliably use ``is`` checks to compare tuples that are used in compiled
125
+ code.
126
+
127
+ .. _early-binding:
128
+
129
+ Early binding
130
+ -------------
131
+
132
+ References to functions, types, most attributes, and methods in the
133
+ same :ref:`compilation unit <compilation-units>` use *early binding*:
134
+ the target of the reference is decided at compile time, whenever
135
+ possible. This contrasts with normal Python behavior of *late
136
+ binding*, where the target is found by a namespace lookup at
137
+ runtime. Omitting these namespace lookups improves performance, but
138
+ some Python idioms don't work without changes.
139
+
140
+ Note that non-final module-level variables still use late binding.
141
+ You may want to avoid these in very performance-critical code.
142
+
143
+ Examples of early and late binding::
144
+
145
+ from typing import Final
146
+
147
+ import lib # "lib" is not compiled
148
+
149
+ x = 0
150
+ y: Final = 1
151
+
152
+ def func() -> None:
153
+ pass
154
+
155
+ class Cls:
156
+ def __init__(self, attr: int) -> None:
157
+ self.attr = attr
158
+
159
+ def method(self) -> None:
160
+ pass
161
+
162
+ def example() -> None:
163
+ # Early binding:
164
+ var = y
165
+ func()
166
+ o = Cls()
167
+ o.x
168
+ o.method()
169
+
170
+ # Late binding:
171
+ var = x # Module-level variable
172
+ lib.func() # Accessing library that is not compiled
173
+
174
+ Pickling and copying objects
175
+ ----------------------------
176
+
177
+ Mypyc tries to enforce that instances native classes are properly
178
+ initialized by calling ``__init__`` implicitly when constructing
179
+ objects, even if objects are constructed through ``pickle``,
180
+ ``copy.copy`` or ``copy.deepcopy``, for example.
181
+
182
+ If a native class doesn't support calling ``__init__`` without arguments,
183
+ you can't pickle or copy instances of the class. Use the
184
+ ``mypy_extensions.mypyc_attr`` class decorator to override this behavior
185
+ and enable pickling through the ``serializable`` flag::
186
+
187
+ from mypy_extensions import mypyc_attr
188
+ import pickle
189
+
190
+ @mypyc_attr(serializable=True)
191
+ class Cls:
192
+ def __init__(self, n: int) -> None:
193
+ self.n = n
194
+
195
+ data = pickle.dumps(Cls(5))
196
+ obj = pickle.loads(data) # OK
197
+
198
+ Additional notes:
199
+
200
+ * All subclasses inherit the ``serializable`` flag.
201
+ * If a class has the ``allow_interpreted_subclasses`` attribute, it
202
+ implicitly supports serialization.
203
+ * Enabling serialization may slow down attribute access, since compiled
204
+ code has to be always prepared to raise ``AttributeError`` in case an
205
+ attribute is not defined at runtime.
206
+ * If you try to pickle an object without setting the ``serializable``
207
+ flag, you'll get a ``TypeError`` about missing arguments to
208
+ ``__init__``.
209
+
210
+
211
+ Monkey patching
212
+ ---------------
213
+
214
+ Since mypyc function and class definitions are immutable, you can't
215
+ perform arbitrary monkey patching, such as replacing functions or
216
+ methods with mocks in tests.
217
+
218
+ .. note::
219
+
220
+ Each compiled module has a Python namespace that is initialized to
221
+ point to compiled functions and type objects. This namespace is a
222
+ regular ``dict`` object, and it *can* be modified. However,
223
+ compiled code generally doesn't use this namespace, so any changes
224
+ will only be visible to non-compiled code.
225
+
226
+ Stack overflows
227
+ ---------------
228
+
229
+ Compiled code currently doesn't check for stack overflows. Your
230
+ program may crash in an unrecoverable fashion if you have too many
231
+ nested function calls, typically due to out-of-control recursion.
232
+
233
+ .. note::
234
+
235
+ This limitation will be fixed in the future.
236
+
237
+ Final values
238
+ ------------
239
+
240
+ Compiled code replaces a reference to an attribute declared ``Final`` with
241
+ the value of the attribute computed at compile time. This is an example of
242
+ :ref:`early binding <early-binding>`. Example::
243
+
244
+ MAX: Final = 100
245
+
246
+ def limit_to_max(x: int) -> int:
247
+ if x > MAX:
248
+ return MAX
249
+ return x
250
+
251
+ The two references to ``MAX`` don't involve any module namespace lookups,
252
+ and are equivalent to this code::
253
+
254
+ def limit_to_max(x: int) -> int:
255
+ if x > 100:
256
+ return 100
257
+ return x
258
+
259
+ When run as interpreted, the first example will execute slower due to
260
+ the extra namespace lookups. In interpreted code final attributes can
261
+ also be modified.
262
+
263
+ Unsupported features
264
+ --------------------
265
+
266
+ Some Python features are not supported by mypyc (yet). They can't be
267
+ used in compiled code, or there are some limitations. You can
268
+ partially work around some of these limitations by running your code
269
+ in interpreted mode.
270
+
271
+ Nested classes
272
+ **************
273
+
274
+ Nested classes are not supported.
275
+
276
+ Conditional functions or classes
277
+ ********************************
278
+
279
+ Function and class definitions guarded by an if-statement are not supported.
280
+
281
+ Dunder methods
282
+ **************
283
+
284
+ Native classes **cannot** use these dunders. If defined, they will not
285
+ work as expected.
286
+
287
+ * ``__del__``
288
+ * ``__index__``
289
+ * ``__getattr__``, ``__getattribute__``
290
+ * ``__setattr__``
291
+ * ``__delattr__``
292
+
293
+ Generator expressions
294
+ *********************
295
+
296
+ Generator expressions are not supported. To make it easier to compile
297
+ existing code, they are implicitly replaced with list comprehensions.
298
+ *This does not always produce the same behavior.*
299
+
300
+ To work around this limitation, you can usually use a generator
301
+ function instead. You can sometimes replace the generator expression
302
+ with an explicit list comprehension.
303
+
304
+ Descriptors
305
+ ***********
306
+
307
+ Native classes can't contain arbitrary descriptors. Properties, static
308
+ methods and class methods are supported.
309
+
310
+ Introspection
311
+ *************
312
+
313
+ Various methods of introspection may break by using mypyc. Here's an
314
+ non-exhaustive list of what won't work:
315
+
316
+ - Instance ``__annotations__`` is usually not kept
317
+ - Frames of compiled functions can't be inspected using ``inspect``
318
+ - Compiled methods aren't considered methods by ``inspect.ismethod``
319
+ - ``inspect.signature`` chokes on compiled functions
320
+
321
+ Profiling hooks and tracing
322
+ ***************************
323
+
324
+ Compiled functions don't trigger profiling and tracing hooks, such as
325
+ when using the ``profile``, ``cProfile``, or ``trace`` modules.
326
+
327
+ Debuggers
328
+ *********
329
+
330
+ You can't set breakpoints in compiled functions or step through
331
+ compiled functions using ``pdb``. Often you can debug your code in
332
+ interpreted mode instead.
@@ -0,0 +1,50 @@
1
+ .. _float-ops:
2
+
3
+ Native float operations
4
+ ========================
5
+
6
+ These ``float`` operations have fast, optimized implementations. Other
7
+ floating point operations use generic implementations that are often
8
+ slower.
9
+
10
+ Construction
11
+ ------------
12
+
13
+ * Float literal
14
+ * ``float(x: int)``
15
+ * ``float(x: i64)``
16
+ * ``float(x: i32)``
17
+ * ``float(x: i16)``
18
+ * ``float(x: u8)``
19
+ * ``float(x: str)``
20
+ * ``float(x: float)`` (no-op)
21
+
22
+ Operators
23
+ ---------
24
+
25
+ * Arithmetic (``+``, ``-``, ``*``, ``/``, ``//``, ``%``)
26
+ * Comparisons (``==``, ``!=``, ``<``, etc.)
27
+ * Augmented assignment (``x += y``, etc.)
28
+
29
+ Functions
30
+ ---------
31
+
32
+ * ``int(f)``
33
+ * ``i64(f)`` (convert to 64-bit signed integer)
34
+ * ``i32(f)`` (convert to 32-bit signed integer)
35
+ * ``i16(f)`` (convert to 16-bit signed integer)
36
+ * ``u8(f)`` (convert to 8-bit unsigned integer)
37
+ * ``abs(f)``
38
+ * ``math.sin(f)``
39
+ * ``math.cos(f)``
40
+ * ``math.tan(f)``
41
+ * ``math.sqrt(f)``
42
+ * ``math.exp(f)``
43
+ * ``math.log(f)``
44
+ * ``math.floor(f)``
45
+ * ``math.ceil(f)``
46
+ * ``math.fabs(f)``
47
+ * ``math.pow(x, y)``
48
+ * ``math.copysign(x, y)``
49
+ * ``math.isinf(f)``
50
+ * ``math.isnan(f)``
@@ -0,0 +1,42 @@
1
+ # Future
2
+
3
+ This document introduces some ideas for future improvements.
4
+
5
+ ## Basic Optimizations
6
+
7
+ Implement basic optimizations such as common subexpression elimination and
8
+ loop invariant code motion.
9
+
10
+ Importantly, common subexpression elimination could be used to avoid
11
+ redundant type checks.
12
+
13
+ ## Operation-specific Optimizations
14
+
15
+ Some operations or combinations of successive operations can be
16
+ replaced with more efficient operations. Examples:
17
+
18
+ * If `s` is a string, `s[i] == 'x'` doesn't need to construct the
19
+ intermediate single-character string object `s[i]` but just compare
20
+ the character value to `ord('x')`.
21
+
22
+ * `a + ':' + b` (two string concetenations) can be implemented as
23
+ single three-operand concatenation that doesn't construct an
24
+ intermediate object.
25
+
26
+ * `x in {1, 3}` can be translated into `x == 1 or x == 3` (more
27
+ generally we need to evaluate all right-hand-side items).
28
+
29
+ ## Integer Range Analysis
30
+
31
+ Implement integer range analysis. This can be used in various ways:
32
+
33
+ * Use untagged representations for some registers.
34
+ * Use faster integer arithmetic operations for operations that
35
+ only deal with short integers or that can't overflow.
36
+ * Remove redundant list and string index checks.
37
+
38
+ ## Always Defined Attributes
39
+
40
+ Somehow make it possible to enforce that attributes in a class are always
41
+ defined. This makes attribute access faster since we don't need to explicitly
42
+ check if the attribute is defined.