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,2144 @@
1
+ [case testI64Basics]
2
+ from mypy_extensions import i64
3
+
4
+ def f() -> i64:
5
+ x: i64 = 5
6
+ y = x
7
+ return y
8
+ [out]
9
+ def f():
10
+ x, y :: i64
11
+ L0:
12
+ x = 5
13
+ y = x
14
+ return y
15
+
16
+ [case testI64Compare]
17
+ from mypy_extensions import i64
18
+
19
+ def min(x: i64, y: i64) -> i64:
20
+ if x < y:
21
+ return x
22
+ else:
23
+ return y
24
+
25
+ def all_comparisons(x: i64) -> int:
26
+ if x == 2:
27
+ y = 10
28
+ elif 3 != x:
29
+ y = 11
30
+ elif x > 4:
31
+ y = 12
32
+ elif 6 >= x:
33
+ y = 13
34
+ elif x < 5:
35
+ y = 14
36
+ elif 6 <= x:
37
+ y = 15
38
+ else:
39
+ y = 16
40
+ return y
41
+ [out]
42
+ def min(x, y):
43
+ x, y :: i64
44
+ r0 :: bit
45
+ L0:
46
+ r0 = x < y :: signed
47
+ if r0 goto L1 else goto L2 :: bool
48
+ L1:
49
+ return x
50
+ L2:
51
+ return y
52
+ L3:
53
+ unreachable
54
+ def all_comparisons(x):
55
+ x :: i64
56
+ r0 :: bit
57
+ y :: int
58
+ r1, r2, r3, r4, r5 :: bit
59
+ L0:
60
+ r0 = x == 2
61
+ if r0 goto L1 else goto L2 :: bool
62
+ L1:
63
+ y = 20
64
+ goto L18
65
+ L2:
66
+ r1 = 3 != x
67
+ if r1 goto L3 else goto L4 :: bool
68
+ L3:
69
+ y = 22
70
+ goto L17
71
+ L4:
72
+ r2 = x > 4 :: signed
73
+ if r2 goto L5 else goto L6 :: bool
74
+ L5:
75
+ y = 24
76
+ goto L16
77
+ L6:
78
+ r3 = 6 >= x :: signed
79
+ if r3 goto L7 else goto L8 :: bool
80
+ L7:
81
+ y = 26
82
+ goto L15
83
+ L8:
84
+ r4 = x < 5 :: signed
85
+ if r4 goto L9 else goto L10 :: bool
86
+ L9:
87
+ y = 28
88
+ goto L14
89
+ L10:
90
+ r5 = 6 <= x :: signed
91
+ if r5 goto L11 else goto L12 :: bool
92
+ L11:
93
+ y = 30
94
+ goto L13
95
+ L12:
96
+ y = 32
97
+ L13:
98
+ L14:
99
+ L15:
100
+ L16:
101
+ L17:
102
+ L18:
103
+ return y
104
+
105
+ [case testI64Arithmetic]
106
+ from mypy_extensions import i64
107
+
108
+ def f(x: i64, y: i64) -> i64:
109
+ z = x + y
110
+ return y - z
111
+ [out]
112
+ def f(x, y):
113
+ x, y, r0, z, r1 :: i64
114
+ L0:
115
+ r0 = x + y
116
+ z = r0
117
+ r1 = y - z
118
+ return r1
119
+
120
+ [case testI64Negation]
121
+ from mypy_extensions import i64
122
+
123
+ def f() -> i64:
124
+ i: i64 = -3
125
+ return -i
126
+ [out]
127
+ def f():
128
+ i, r0 :: i64
129
+ L0:
130
+ i = -3
131
+ r0 = 0 - i
132
+ return r0
133
+
134
+ [case testI64MoreUnaryOps]
135
+ from mypy_extensions import i64
136
+
137
+ def unary(x: i64) -> i64:
138
+ y = ~x
139
+ x = +y
140
+ return x
141
+ [out]
142
+ def unary(x):
143
+ x, r0, y :: i64
144
+ L0:
145
+ r0 = x ^ -1
146
+ y = r0
147
+ x = y
148
+ return x
149
+
150
+ [case testI64BoxingAndUnboxing]
151
+ from typing import Any
152
+ from mypy_extensions import i64
153
+
154
+ def f(a: Any) -> None:
155
+ b: i64 = a
156
+ a = b
157
+ [out]
158
+ def f(a):
159
+ a :: object
160
+ r0, b :: i64
161
+ r1 :: object
162
+ L0:
163
+ r0 = unbox(i64, a)
164
+ b = r0
165
+ r1 = box(i64, b)
166
+ a = r1
167
+ return 1
168
+
169
+ [case testI64ListGetSetItem]
170
+ from typing import List
171
+ from mypy_extensions import i64
172
+
173
+ def get(a: List[i64], i: i64) -> i64:
174
+ return a[i]
175
+ def set(a: List[i64], i: i64, x: i64) -> None:
176
+ a[i] = x
177
+ [out]
178
+ def get(a, i):
179
+ a :: list
180
+ i :: i64
181
+ r0 :: object
182
+ r1 :: i64
183
+ L0:
184
+ r0 = CPyList_GetItemInt64(a, i)
185
+ r1 = unbox(i64, r0)
186
+ return r1
187
+ def set(a, i, x):
188
+ a :: list
189
+ i, x :: i64
190
+ r0 :: object
191
+ r1 :: bit
192
+ L0:
193
+ r0 = box(i64, x)
194
+ r1 = CPyList_SetItemInt64(a, i, r0)
195
+ return 1
196
+
197
+ [case testI64MixedArithmetic]
198
+ from mypy_extensions import i64
199
+
200
+ def f() -> i64:
201
+ a: i64 = 1
202
+ b = a + 2
203
+ return 3 - b
204
+ [out]
205
+ def f():
206
+ a, r0, b, r1 :: i64
207
+ L0:
208
+ a = 1
209
+ r0 = a + 2
210
+ b = r0
211
+ r1 = 3 - b
212
+ return r1
213
+
214
+ [case testI64MixedComparison]
215
+ from mypy_extensions import i64
216
+
217
+ def f(a: i64) -> i64:
218
+ if a < 3:
219
+ return 1
220
+ elif 3 < a:
221
+ return 2
222
+ return 3
223
+ [out]
224
+ def f(a):
225
+ a :: i64
226
+ r0, r1 :: bit
227
+ L0:
228
+ r0 = a < 3 :: signed
229
+ if r0 goto L1 else goto L2 :: bool
230
+ L1:
231
+ return 1
232
+ L2:
233
+ r1 = 3 < a :: signed
234
+ if r1 goto L3 else goto L4 :: bool
235
+ L3:
236
+ return 2
237
+ L4:
238
+ L5:
239
+ return 3
240
+
241
+ [case testI64InplaceOperations]
242
+ from mypy_extensions import i64
243
+
244
+ def add(a: i64) -> i64:
245
+ b = a
246
+ b += 1
247
+ a += b
248
+ return a
249
+ def others(a: i64, b: i64) -> i64:
250
+ a -= b
251
+ a *= b
252
+ a &= b
253
+ a |= b
254
+ a ^= b
255
+ a <<= b
256
+ a >>= b
257
+ return a
258
+ [out]
259
+ def add(a):
260
+ a, b, r0, r1 :: i64
261
+ L0:
262
+ b = a
263
+ r0 = b + 1
264
+ b = r0
265
+ r1 = a + b
266
+ a = r1
267
+ return a
268
+ def others(a, b):
269
+ a, b, r0, r1, r2, r3, r4, r5, r6 :: i64
270
+ L0:
271
+ r0 = a - b
272
+ a = r0
273
+ r1 = a * b
274
+ a = r1
275
+ r2 = a & b
276
+ a = r2
277
+ r3 = a | b
278
+ a = r3
279
+ r4 = a ^ b
280
+ a = r4
281
+ r5 = a << b
282
+ a = r5
283
+ r6 = a >> b
284
+ a = r6
285
+ return a
286
+
287
+ [case testI64BitwiseOps]
288
+ from mypy_extensions import i64
289
+
290
+ def forward(a: i64, b: i64) -> i64:
291
+ b = a & 1
292
+ a = b | 2
293
+ b = a ^ 3
294
+ a = b << 4
295
+ b = a >> 5
296
+ return b
297
+
298
+ def reverse(a: i64, b: i64) -> i64:
299
+ b = 1 & a
300
+ a = 2 | b
301
+ b = 3 ^ a
302
+ a = 4 << b
303
+ b = 5 >> a
304
+ return b
305
+
306
+ def unary(a: i64) -> i64:
307
+ return ~a
308
+ [out]
309
+ def forward(a, b):
310
+ a, b, r0, r1, r2, r3, r4 :: i64
311
+ L0:
312
+ r0 = a & 1
313
+ b = r0
314
+ r1 = b | 2
315
+ a = r1
316
+ r2 = a ^ 3
317
+ b = r2
318
+ r3 = b << 4
319
+ a = r3
320
+ r4 = a >> 5
321
+ b = r4
322
+ return b
323
+ def reverse(a, b):
324
+ a, b, r0, r1, r2, r3, r4 :: i64
325
+ L0:
326
+ r0 = 1 & a
327
+ b = r0
328
+ r1 = 2 | b
329
+ a = r1
330
+ r2 = 3 ^ a
331
+ b = r2
332
+ r3 = 4 << b
333
+ a = r3
334
+ r4 = 5 >> a
335
+ b = r4
336
+ return b
337
+ def unary(a):
338
+ a, r0 :: i64
339
+ L0:
340
+ r0 = a ^ -1
341
+ return r0
342
+
343
+ [case testI64Division]
344
+ from mypy_extensions import i64
345
+
346
+ def constant_divisor(x: i64) -> i64:
347
+ return x // 7
348
+ def variable_divisor(x: i64, y: i64) -> i64:
349
+ return x // y
350
+ def constant_lhs(x: i64) -> i64:
351
+ return 27 // x
352
+ def divide_by_neg_one(x: i64) -> i64:
353
+ return x // -1
354
+ def divide_by_zero(x: i64) -> i64:
355
+ return x // 0
356
+ [out]
357
+ def constant_divisor(x):
358
+ x, r0, r1 :: i64
359
+ r2, r3, r4 :: bit
360
+ r5 :: i64
361
+ r6 :: bit
362
+ r7 :: i64
363
+ L0:
364
+ r0 = x / 7
365
+ r1 = r0
366
+ r2 = x < 0 :: signed
367
+ r3 = 7 < 0 :: signed
368
+ r4 = r2 == r3
369
+ if r4 goto L3 else goto L1 :: bool
370
+ L1:
371
+ r5 = r1 * 7
372
+ r6 = r5 == x
373
+ if r6 goto L3 else goto L2 :: bool
374
+ L2:
375
+ r7 = r1 - 1
376
+ r1 = r7
377
+ L3:
378
+ return r1
379
+ def variable_divisor(x, y):
380
+ x, y, r0 :: i64
381
+ L0:
382
+ r0 = CPyInt64_Divide(x, y)
383
+ return r0
384
+ def constant_lhs(x):
385
+ x, r0 :: i64
386
+ L0:
387
+ r0 = CPyInt64_Divide(27, x)
388
+ return r0
389
+ def divide_by_neg_one(x):
390
+ x, r0 :: i64
391
+ L0:
392
+ r0 = CPyInt64_Divide(x, -1)
393
+ return r0
394
+ def divide_by_zero(x):
395
+ x, r0 :: i64
396
+ L0:
397
+ r0 = CPyInt64_Divide(x, 0)
398
+ return r0
399
+
400
+ [case testI64Mod]
401
+ from mypy_extensions import i64
402
+
403
+ def constant_divisor(x: i64) -> i64:
404
+ return x % 7
405
+ def variable_divisor(x: i64, y: i64) -> i64:
406
+ return x % y
407
+ def constant_lhs(x: i64) -> i64:
408
+ return 27 % x
409
+ def mod_by_zero(x: i64) -> i64:
410
+ return x % 0
411
+ [out]
412
+ def constant_divisor(x):
413
+ x, r0, r1 :: i64
414
+ r2, r3, r4, r5 :: bit
415
+ r6 :: i64
416
+ L0:
417
+ r0 = x % 7
418
+ r1 = r0
419
+ r2 = x < 0 :: signed
420
+ r3 = 7 < 0 :: signed
421
+ r4 = r2 == r3
422
+ if r4 goto L3 else goto L1 :: bool
423
+ L1:
424
+ r5 = r1 == 0
425
+ if r5 goto L3 else goto L2 :: bool
426
+ L2:
427
+ r6 = r1 + 7
428
+ r1 = r6
429
+ L3:
430
+ return r1
431
+ def variable_divisor(x, y):
432
+ x, y, r0 :: i64
433
+ L0:
434
+ r0 = CPyInt64_Remainder(x, y)
435
+ return r0
436
+ def constant_lhs(x):
437
+ x, r0 :: i64
438
+ L0:
439
+ r0 = CPyInt64_Remainder(27, x)
440
+ return r0
441
+ def mod_by_zero(x):
442
+ x, r0 :: i64
443
+ L0:
444
+ r0 = CPyInt64_Remainder(x, 0)
445
+ return r0
446
+
447
+ [case testI64InPlaceDiv]
448
+ from mypy_extensions import i64
449
+
450
+ def by_constant(x: i64) -> i64:
451
+ x //= 7
452
+ return x
453
+ def by_variable(x: i64, y: i64) -> i64:
454
+ x //= y
455
+ return x
456
+ [out]
457
+ def by_constant(x):
458
+ x, r0, r1 :: i64
459
+ r2, r3, r4 :: bit
460
+ r5 :: i64
461
+ r6 :: bit
462
+ r7 :: i64
463
+ L0:
464
+ r0 = x / 7
465
+ r1 = r0
466
+ r2 = x < 0 :: signed
467
+ r3 = 7 < 0 :: signed
468
+ r4 = r2 == r3
469
+ if r4 goto L3 else goto L1 :: bool
470
+ L1:
471
+ r5 = r1 * 7
472
+ r6 = r5 == x
473
+ if r6 goto L3 else goto L2 :: bool
474
+ L2:
475
+ r7 = r1 - 1
476
+ r1 = r7
477
+ L3:
478
+ x = r1
479
+ return x
480
+ def by_variable(x, y):
481
+ x, y, r0 :: i64
482
+ L0:
483
+ r0 = CPyInt64_Divide(x, y)
484
+ x = r0
485
+ return x
486
+
487
+ [case testI64InPlaceMod]
488
+ from mypy_extensions import i64
489
+
490
+ def by_constant(x: i64) -> i64:
491
+ x %= 7
492
+ return x
493
+ def by_variable(x: i64, y: i64) -> i64:
494
+ x %= y
495
+ return x
496
+ [out]
497
+ def by_constant(x):
498
+ x, r0, r1 :: i64
499
+ r2, r3, r4, r5 :: bit
500
+ r6 :: i64
501
+ L0:
502
+ r0 = x % 7
503
+ r1 = r0
504
+ r2 = x < 0 :: signed
505
+ r3 = 7 < 0 :: signed
506
+ r4 = r2 == r3
507
+ if r4 goto L3 else goto L1 :: bool
508
+ L1:
509
+ r5 = r1 == 0
510
+ if r5 goto L3 else goto L2 :: bool
511
+ L2:
512
+ r6 = r1 + 7
513
+ r1 = r6
514
+ L3:
515
+ x = r1
516
+ return x
517
+ def by_variable(x, y):
518
+ x, y, r0 :: i64
519
+ L0:
520
+ r0 = CPyInt64_Remainder(x, y)
521
+ x = r0
522
+ return x
523
+
524
+ [case testI64ForRange]
525
+ from mypy_extensions import i64
526
+
527
+ def g(a: i64) -> None: pass
528
+
529
+ def f(x: i64) -> None:
530
+ n: i64 # TODO: Infer the type
531
+ for n in range(x):
532
+ g(n)
533
+ [out]
534
+ def g(a):
535
+ a :: i64
536
+ L0:
537
+ return 1
538
+ def f(x):
539
+ x, r0, n :: i64
540
+ r1 :: bit
541
+ r2 :: None
542
+ r3 :: i64
543
+ L0:
544
+ r0 = 0
545
+ n = r0
546
+ L1:
547
+ r1 = r0 < x :: signed
548
+ if r1 goto L2 else goto L4 :: bool
549
+ L2:
550
+ r2 = g(n)
551
+ L3:
552
+ r3 = r0 + 1
553
+ r0 = r3
554
+ n = r3
555
+ goto L1
556
+ L4:
557
+ return 1
558
+
559
+ [case testI64ConvertFromInt_64bit]
560
+ from mypy_extensions import i64
561
+
562
+ def int_to_i64(a: int) -> i64:
563
+ return a
564
+ [out]
565
+ def int_to_i64(a):
566
+ a :: int
567
+ r0 :: native_int
568
+ r1 :: bit
569
+ r2, r3 :: i64
570
+ r4 :: ptr
571
+ r5 :: c_ptr
572
+ r6 :: i64
573
+ L0:
574
+ r0 = a & 1
575
+ r1 = r0 == 0
576
+ if r1 goto L1 else goto L2 :: bool
577
+ L1:
578
+ r2 = a >> 1
579
+ r3 = r2
580
+ goto L3
581
+ L2:
582
+ r4 = a ^ 1
583
+ r5 = r4
584
+ r6 = CPyLong_AsInt64(r5)
585
+ r3 = r6
586
+ keep_alive a
587
+ L3:
588
+ return r3
589
+
590
+ [case testI64ConvertToInt_64bit]
591
+ from mypy_extensions import i64
592
+
593
+ def i64_to_int(a: i64) -> int:
594
+ return a
595
+ [out]
596
+ def i64_to_int(a):
597
+ a :: i64
598
+ r0, r1 :: bit
599
+ r2, r3, r4 :: int
600
+ L0:
601
+ r0 = a <= 4611686018427387903 :: signed
602
+ if r0 goto L1 else goto L2 :: bool
603
+ L1:
604
+ r1 = a >= -4611686018427387904 :: signed
605
+ if r1 goto L3 else goto L2 :: bool
606
+ L2:
607
+ r2 = CPyTagged_FromInt64(a)
608
+ r3 = r2
609
+ goto L4
610
+ L3:
611
+ r4 = a << 1
612
+ r3 = r4
613
+ L4:
614
+ return r3
615
+
616
+ [case testI64ConvertToInt_32bit]
617
+ from mypy_extensions import i64
618
+
619
+ def i64_to_int(a: i64) -> int:
620
+ return a
621
+ [out]
622
+ def i64_to_int(a):
623
+ a :: i64
624
+ r0, r1 :: bit
625
+ r2, r3 :: int
626
+ r4 :: native_int
627
+ r5 :: int
628
+ L0:
629
+ r0 = a <= 1073741823 :: signed
630
+ if r0 goto L1 else goto L2 :: bool
631
+ L1:
632
+ r1 = a >= -1073741824 :: signed
633
+ if r1 goto L3 else goto L2 :: bool
634
+ L2:
635
+ r2 = CPyTagged_FromInt64(a)
636
+ r3 = r2
637
+ goto L4
638
+ L3:
639
+ r4 = truncate a: i64 to native_int
640
+ r5 = r4 << 1
641
+ r3 = r5
642
+ L4:
643
+ return r3
644
+
645
+ [case testI64Tuple]
646
+ from typing import Tuple
647
+ from mypy_extensions import i64
648
+
649
+ def f(x: i64, y: i64) -> Tuple[i64, i64]:
650
+ return x, y
651
+
652
+ def g() -> Tuple[i64, i64]:
653
+ return 1, 2
654
+
655
+ def h() -> i64:
656
+ x, y = g()
657
+ t = g()
658
+ return x + y + t[0]
659
+ [out]
660
+ def f(x, y):
661
+ x, y :: i64
662
+ r0 :: tuple[i64, i64]
663
+ L0:
664
+ r0 = (x, y)
665
+ return r0
666
+ def g():
667
+ r0 :: tuple[int, int]
668
+ r1 :: tuple[i64, i64]
669
+ L0:
670
+ r0 = (2, 4)
671
+ r1 = (1, 2)
672
+ return r1
673
+ def h():
674
+ r0 :: tuple[i64, i64]
675
+ r1, x, r2, y :: i64
676
+ r3, t :: tuple[i64, i64]
677
+ r4, r5, r6 :: i64
678
+ L0:
679
+ r0 = g()
680
+ r1 = r0[0]
681
+ x = r1
682
+ r2 = r0[1]
683
+ y = r2
684
+ r3 = g()
685
+ t = r3
686
+ r4 = x + y
687
+ r5 = t[0]
688
+ r6 = r4 + r5
689
+ return r6
690
+
691
+ [case testI64MixWithTagged1_64bit]
692
+ from mypy_extensions import i64
693
+ def f(x: i64, y: int) -> i64:
694
+ return x + y
695
+ [out]
696
+ def f(x, y):
697
+ x :: i64
698
+ y :: int
699
+ r0 :: native_int
700
+ r1 :: bit
701
+ r2, r3 :: i64
702
+ r4 :: ptr
703
+ r5 :: c_ptr
704
+ r6, r7 :: i64
705
+ L0:
706
+ r0 = y & 1
707
+ r1 = r0 == 0
708
+ if r1 goto L1 else goto L2 :: bool
709
+ L1:
710
+ r2 = y >> 1
711
+ r3 = r2
712
+ goto L3
713
+ L2:
714
+ r4 = y ^ 1
715
+ r5 = r4
716
+ r6 = CPyLong_AsInt64(r5)
717
+ r3 = r6
718
+ keep_alive y
719
+ L3:
720
+ r7 = x + r3
721
+ return r7
722
+
723
+ [case testI64MixWithTagged2_64bit]
724
+ from mypy_extensions import i64
725
+ def f(x: int, y: i64) -> i64:
726
+ return x + y
727
+ [out]
728
+ def f(x, y):
729
+ x :: int
730
+ y :: i64
731
+ r0 :: native_int
732
+ r1 :: bit
733
+ r2, r3 :: i64
734
+ r4 :: ptr
735
+ r5 :: c_ptr
736
+ r6, r7 :: i64
737
+ L0:
738
+ r0 = x & 1
739
+ r1 = r0 == 0
740
+ if r1 goto L1 else goto L2 :: bool
741
+ L1:
742
+ r2 = x >> 1
743
+ r3 = r2
744
+ goto L3
745
+ L2:
746
+ r4 = x ^ 1
747
+ r5 = r4
748
+ r6 = CPyLong_AsInt64(r5)
749
+ r3 = r6
750
+ keep_alive x
751
+ L3:
752
+ r7 = r3 + y
753
+ return r7
754
+
755
+ [case testI64MixWithTaggedInPlace1_64bit]
756
+ from mypy_extensions import i64
757
+ def f(y: i64) -> int:
758
+ x = 0
759
+ x += y
760
+ return x
761
+ [out]
762
+ def f(y):
763
+ y :: i64
764
+ x :: int
765
+ r0 :: native_int
766
+ r1 :: bit
767
+ r2, r3 :: i64
768
+ r4 :: ptr
769
+ r5 :: c_ptr
770
+ r6, r7 :: i64
771
+ r8, r9 :: bit
772
+ r10, r11, r12 :: int
773
+ L0:
774
+ x = 0
775
+ r0 = x & 1
776
+ r1 = r0 == 0
777
+ if r1 goto L1 else goto L2 :: bool
778
+ L1:
779
+ r2 = x >> 1
780
+ r3 = r2
781
+ goto L3
782
+ L2:
783
+ r4 = x ^ 1
784
+ r5 = r4
785
+ r6 = CPyLong_AsInt64(r5)
786
+ r3 = r6
787
+ keep_alive x
788
+ L3:
789
+ r7 = r3 + y
790
+ r8 = r7 <= 4611686018427387903 :: signed
791
+ if r8 goto L4 else goto L5 :: bool
792
+ L4:
793
+ r9 = r7 >= -4611686018427387904 :: signed
794
+ if r9 goto L6 else goto L5 :: bool
795
+ L5:
796
+ r10 = CPyTagged_FromInt64(r7)
797
+ r11 = r10
798
+ goto L7
799
+ L6:
800
+ r12 = r7 << 1
801
+ r11 = r12
802
+ L7:
803
+ x = r11
804
+ return x
805
+
806
+ [case testI64MixWithTaggedInPlace2_64bit]
807
+ from mypy_extensions import i64
808
+ def f(y: int) -> i64:
809
+ x: i64 = 0
810
+ x += y
811
+ return x
812
+ [out]
813
+ def f(y):
814
+ y :: int
815
+ x :: i64
816
+ r0 :: native_int
817
+ r1 :: bit
818
+ r2, r3 :: i64
819
+ r4 :: ptr
820
+ r5 :: c_ptr
821
+ r6, r7 :: i64
822
+ L0:
823
+ x = 0
824
+ r0 = y & 1
825
+ r1 = r0 == 0
826
+ if r1 goto L1 else goto L2 :: bool
827
+ L1:
828
+ r2 = y >> 1
829
+ r3 = r2
830
+ goto L3
831
+ L2:
832
+ r4 = y ^ 1
833
+ r5 = r4
834
+ r6 = CPyLong_AsInt64(r5)
835
+ r3 = r6
836
+ keep_alive y
837
+ L3:
838
+ r7 = x + r3
839
+ x = r7
840
+ return x
841
+
842
+ [case testI64MixedCompare1_64bit]
843
+ from mypy_extensions import i64
844
+ def f(x: int, y: i64) -> bool:
845
+ return x == y
846
+ [out]
847
+ def f(x, y):
848
+ x :: int
849
+ y :: i64
850
+ r0 :: native_int
851
+ r1 :: bit
852
+ r2, r3 :: i64
853
+ r4 :: ptr
854
+ r5 :: c_ptr
855
+ r6 :: i64
856
+ r7 :: bit
857
+ L0:
858
+ r0 = x & 1
859
+ r1 = r0 == 0
860
+ if r1 goto L1 else goto L2 :: bool
861
+ L1:
862
+ r2 = x >> 1
863
+ r3 = r2
864
+ goto L3
865
+ L2:
866
+ r4 = x ^ 1
867
+ r5 = r4
868
+ r6 = CPyLong_AsInt64(r5)
869
+ r3 = r6
870
+ keep_alive x
871
+ L3:
872
+ r7 = r3 == y
873
+ return r7
874
+
875
+ [case testI64MixedCompare2_64bit]
876
+ from mypy_extensions import i64
877
+ def f(x: i64, y: int) -> bool:
878
+ return x == y
879
+ [out]
880
+ def f(x, y):
881
+ x :: i64
882
+ y :: int
883
+ r0 :: native_int
884
+ r1 :: bit
885
+ r2, r3 :: i64
886
+ r4 :: ptr
887
+ r5 :: c_ptr
888
+ r6 :: i64
889
+ r7 :: bit
890
+ L0:
891
+ r0 = y & 1
892
+ r1 = r0 == 0
893
+ if r1 goto L1 else goto L2 :: bool
894
+ L1:
895
+ r2 = y >> 1
896
+ r3 = r2
897
+ goto L3
898
+ L2:
899
+ r4 = y ^ 1
900
+ r5 = r4
901
+ r6 = CPyLong_AsInt64(r5)
902
+ r3 = r6
903
+ keep_alive y
904
+ L3:
905
+ r7 = x == r3
906
+ return r7
907
+
908
+ [case testI64MixedCompare_32bit]
909
+ from mypy_extensions import i64
910
+ def f(x: int, y: i64) -> bool:
911
+ return x == y
912
+ [out]
913
+ def f(x, y):
914
+ x :: int
915
+ y :: i64
916
+ r0 :: native_int
917
+ r1 :: bit
918
+ r2, r3, r4 :: i64
919
+ r5 :: ptr
920
+ r6 :: c_ptr
921
+ r7 :: i64
922
+ r8 :: bit
923
+ L0:
924
+ r0 = x & 1
925
+ r1 = r0 == 0
926
+ if r1 goto L1 else goto L2 :: bool
927
+ L1:
928
+ r2 = extend signed x: builtins.int to i64
929
+ r3 = r2 >> 1
930
+ r4 = r3
931
+ goto L3
932
+ L2:
933
+ r5 = x ^ 1
934
+ r6 = r5
935
+ r7 = CPyLong_AsInt64(r6)
936
+ r4 = r7
937
+ keep_alive x
938
+ L3:
939
+ r8 = r4 == y
940
+ return r8
941
+
942
+ [case testI64AsBool]
943
+ from mypy_extensions import i64
944
+ def f(x: i64) -> i64:
945
+ if x:
946
+ return 5
947
+ elif not x:
948
+ return 6
949
+ return 3
950
+ [out]
951
+ def f(x):
952
+ x :: i64
953
+ r0, r1 :: bit
954
+ L0:
955
+ r0 = x != 0
956
+ if r0 goto L1 else goto L2 :: bool
957
+ L1:
958
+ return 5
959
+ L2:
960
+ r1 = x != 0
961
+ if r1 goto L4 else goto L3 :: bool
962
+ L3:
963
+ return 6
964
+ L4:
965
+ L5:
966
+ return 3
967
+
968
+ [case testI64AssignMixed_64bit]
969
+ from mypy_extensions import i64
970
+ def f(x: i64, y: int) -> i64:
971
+ x = y
972
+ return x
973
+ def g(x: i64, y: int) -> int:
974
+ y = x
975
+ return y
976
+ [out]
977
+ def f(x, y):
978
+ x :: i64
979
+ y :: int
980
+ r0 :: native_int
981
+ r1 :: bit
982
+ r2, r3 :: i64
983
+ r4 :: ptr
984
+ r5 :: c_ptr
985
+ r6 :: i64
986
+ L0:
987
+ r0 = y & 1
988
+ r1 = r0 == 0
989
+ if r1 goto L1 else goto L2 :: bool
990
+ L1:
991
+ r2 = y >> 1
992
+ r3 = r2
993
+ goto L3
994
+ L2:
995
+ r4 = y ^ 1
996
+ r5 = r4
997
+ r6 = CPyLong_AsInt64(r5)
998
+ r3 = r6
999
+ keep_alive y
1000
+ L3:
1001
+ x = r3
1002
+ return x
1003
+ def g(x, y):
1004
+ x :: i64
1005
+ y :: int
1006
+ r0, r1 :: bit
1007
+ r2, r3, r4 :: int
1008
+ L0:
1009
+ r0 = x <= 4611686018427387903 :: signed
1010
+ if r0 goto L1 else goto L2 :: bool
1011
+ L1:
1012
+ r1 = x >= -4611686018427387904 :: signed
1013
+ if r1 goto L3 else goto L2 :: bool
1014
+ L2:
1015
+ r2 = CPyTagged_FromInt64(x)
1016
+ r3 = r2
1017
+ goto L4
1018
+ L3:
1019
+ r4 = x << 1
1020
+ r3 = r4
1021
+ L4:
1022
+ y = r3
1023
+ return y
1024
+
1025
+ [case testBorrowOverI64Arithmetic]
1026
+ from mypy_extensions import i64
1027
+
1028
+ def add_simple(c: C) -> i64:
1029
+ return c.x + c.y
1030
+
1031
+ def inplace_add_simple(c: C) -> None:
1032
+ c.x += c.y
1033
+
1034
+ def add_borrow(d: D) -> i64:
1035
+ return d.c.x + d.c.y
1036
+
1037
+ class D:
1038
+ c: C
1039
+
1040
+ class C:
1041
+ x: i64
1042
+ y: i64
1043
+ [out]
1044
+ def add_simple(c):
1045
+ c :: __main__.C
1046
+ r0, r1, r2 :: i64
1047
+ L0:
1048
+ r0 = c.x
1049
+ r1 = c.y
1050
+ r2 = r0 + r1
1051
+ return r2
1052
+ def inplace_add_simple(c):
1053
+ c :: __main__.C
1054
+ r0, r1, r2 :: i64
1055
+ r3 :: bool
1056
+ L0:
1057
+ r0 = c.x
1058
+ r1 = c.y
1059
+ r2 = r0 + r1
1060
+ c.x = r2; r3 = is_error
1061
+ return 1
1062
+ def add_borrow(d):
1063
+ d :: __main__.D
1064
+ r0 :: __main__.C
1065
+ r1 :: i64
1066
+ r2 :: __main__.C
1067
+ r3, r4 :: i64
1068
+ L0:
1069
+ r0 = borrow d.c
1070
+ r1 = r0.x
1071
+ r2 = borrow d.c
1072
+ r3 = r2.y
1073
+ r4 = r1 + r3
1074
+ keep_alive d, d
1075
+ return r4
1076
+
1077
+ [case testBorrowOverI64Bitwise]
1078
+ from mypy_extensions import i64
1079
+
1080
+ def bitwise_simple(c: C) -> i64:
1081
+ return c.x | c.y
1082
+
1083
+ def inplace_bitwide_simple(c: C) -> None:
1084
+ c.x &= c.y
1085
+
1086
+ def bitwise_borrow(d: D) -> i64:
1087
+ return d.c.x ^ d.c.y
1088
+
1089
+ class D:
1090
+ c: C
1091
+
1092
+ class C:
1093
+ x: i64
1094
+ y: i64
1095
+ [out]
1096
+ def bitwise_simple(c):
1097
+ c :: __main__.C
1098
+ r0, r1, r2 :: i64
1099
+ L0:
1100
+ r0 = c.x
1101
+ r1 = c.y
1102
+ r2 = r0 | r1
1103
+ return r2
1104
+ def inplace_bitwide_simple(c):
1105
+ c :: __main__.C
1106
+ r0, r1, r2 :: i64
1107
+ r3 :: bool
1108
+ L0:
1109
+ r0 = c.x
1110
+ r1 = c.y
1111
+ r2 = r0 & r1
1112
+ c.x = r2; r3 = is_error
1113
+ return 1
1114
+ def bitwise_borrow(d):
1115
+ d :: __main__.D
1116
+ r0 :: __main__.C
1117
+ r1 :: i64
1118
+ r2 :: __main__.C
1119
+ r3, r4 :: i64
1120
+ L0:
1121
+ r0 = borrow d.c
1122
+ r1 = r0.x
1123
+ r2 = borrow d.c
1124
+ r3 = r2.y
1125
+ r4 = r1 ^ r3
1126
+ keep_alive d, d
1127
+ return r4
1128
+
1129
+ [case testBorrowOverI64ListGetItem1]
1130
+ from mypy_extensions import i64
1131
+
1132
+ def f(n: i64) -> str:
1133
+ a = [C()]
1134
+ return a[n].s
1135
+
1136
+ class C:
1137
+ s: str
1138
+ [out]
1139
+ def f(n):
1140
+ n :: i64
1141
+ r0 :: __main__.C
1142
+ r1 :: list
1143
+ r2 :: ptr
1144
+ a :: list
1145
+ r3 :: object
1146
+ r4 :: __main__.C
1147
+ r5 :: str
1148
+ L0:
1149
+ r0 = C()
1150
+ r1 = PyList_New(1)
1151
+ r2 = list_items r1
1152
+ buf_init_item r2, 0, r0
1153
+ keep_alive r1
1154
+ a = r1
1155
+ r3 = CPyList_GetItemInt64Borrow(a, n)
1156
+ r4 = borrow cast(__main__.C, r3)
1157
+ r5 = r4.s
1158
+ keep_alive a, n, r3
1159
+ return r5
1160
+
1161
+ [case testBorrowOverI64ListGetItem2]
1162
+ from typing import List
1163
+ from mypy_extensions import i64
1164
+
1165
+ def f(a: List[i64], n: i64) -> bool:
1166
+ if a[n] == 0:
1167
+ return True
1168
+ return False
1169
+ [out]
1170
+ def f(a, n):
1171
+ a :: list
1172
+ n :: i64
1173
+ r0 :: object
1174
+ r1 :: i64
1175
+ r2 :: bit
1176
+ L0:
1177
+ r0 = CPyList_GetItemInt64Borrow(a, n)
1178
+ r1 = unbox(i64, r0)
1179
+ r2 = r1 == 0
1180
+ keep_alive a, n
1181
+ if r2 goto L1 else goto L2 :: bool
1182
+ L1:
1183
+ return 1
1184
+ L2:
1185
+ return 0
1186
+
1187
+ [case testCoerceShortIntToI64]
1188
+ from mypy_extensions import i64
1189
+ from typing import List
1190
+
1191
+ def f(a: List[i64], y: i64) -> bool:
1192
+ if len(a) < y:
1193
+ return True
1194
+ return False
1195
+
1196
+ def g(a: List[i64], y: i64) -> bool:
1197
+ if y < len(a):
1198
+ return True
1199
+ return False
1200
+ [out]
1201
+ def f(a, y):
1202
+ a :: list
1203
+ y :: i64
1204
+ r0 :: native_int
1205
+ r1 :: short_int
1206
+ r2 :: i64
1207
+ r3 :: bit
1208
+ L0:
1209
+ r0 = var_object_size a
1210
+ r1 = r0 << 1
1211
+ r2 = r1 >> 1
1212
+ r3 = r2 < y :: signed
1213
+ if r3 goto L1 else goto L2 :: bool
1214
+ L1:
1215
+ return 1
1216
+ L2:
1217
+ return 0
1218
+ def g(a, y):
1219
+ a :: list
1220
+ y :: i64
1221
+ r0 :: native_int
1222
+ r1 :: short_int
1223
+ r2 :: i64
1224
+ r3 :: bit
1225
+ L0:
1226
+ r0 = var_object_size a
1227
+ r1 = r0 << 1
1228
+ r2 = r1 >> 1
1229
+ r3 = y < r2 :: signed
1230
+ if r3 goto L1 else goto L2 :: bool
1231
+ L1:
1232
+ return 1
1233
+ L2:
1234
+ return 0
1235
+
1236
+ [case testMultiplyListByI64_64bit]
1237
+ from mypy_extensions import i64
1238
+ from typing import List
1239
+
1240
+ def f(n: i64) -> List[i64]:
1241
+ return [n] * n
1242
+ [out]
1243
+ def f(n):
1244
+ n :: i64
1245
+ r0 :: list
1246
+ r1 :: object
1247
+ r2 :: ptr
1248
+ r3, r4 :: bit
1249
+ r5, r6, r7 :: int
1250
+ r8 :: list
1251
+ L0:
1252
+ r0 = PyList_New(1)
1253
+ r1 = box(i64, n)
1254
+ r2 = list_items r0
1255
+ buf_init_item r2, 0, r1
1256
+ keep_alive r0
1257
+ r3 = n <= 4611686018427387903 :: signed
1258
+ if r3 goto L1 else goto L2 :: bool
1259
+ L1:
1260
+ r4 = n >= -4611686018427387904 :: signed
1261
+ if r4 goto L3 else goto L2 :: bool
1262
+ L2:
1263
+ r5 = CPyTagged_FromInt64(n)
1264
+ r6 = r5
1265
+ goto L4
1266
+ L3:
1267
+ r7 = n << 1
1268
+ r6 = r7
1269
+ L4:
1270
+ r8 = CPySequence_Multiply(r0, r6)
1271
+ return r8
1272
+
1273
+ [case testShortIntAndI64Op]
1274
+ from mypy_extensions import i64
1275
+ from typing import List
1276
+
1277
+ def add_i64(a: List[i64], n: i64) -> i64:
1278
+ return len(a) + n
1279
+ def add_i64_2(a: List[i64], n: i64) -> i64:
1280
+ return n + len(a)
1281
+ def eq_i64(a: List[i64], n: i64) -> bool:
1282
+ if len(a) == n:
1283
+ return True
1284
+ return False
1285
+ def lt_i64(a: List[i64], n: i64) -> bool:
1286
+ if n < len(a):
1287
+ return True
1288
+ return False
1289
+ [out]
1290
+ def add_i64(a, n):
1291
+ a :: list
1292
+ n :: i64
1293
+ r0 :: native_int
1294
+ r1 :: short_int
1295
+ r2, r3 :: i64
1296
+ L0:
1297
+ r0 = var_object_size a
1298
+ r1 = r0 << 1
1299
+ r2 = r1 >> 1
1300
+ r3 = r2 + n
1301
+ return r3
1302
+ def add_i64_2(a, n):
1303
+ a :: list
1304
+ n :: i64
1305
+ r0 :: native_int
1306
+ r1 :: short_int
1307
+ r2, r3 :: i64
1308
+ L0:
1309
+ r0 = var_object_size a
1310
+ r1 = r0 << 1
1311
+ r2 = r1 >> 1
1312
+ r3 = n + r2
1313
+ return r3
1314
+ def eq_i64(a, n):
1315
+ a :: list
1316
+ n :: i64
1317
+ r0 :: native_int
1318
+ r1 :: short_int
1319
+ r2 :: i64
1320
+ r3 :: bit
1321
+ L0:
1322
+ r0 = var_object_size a
1323
+ r1 = r0 << 1
1324
+ r2 = r1 >> 1
1325
+ r3 = r2 == n
1326
+ if r3 goto L1 else goto L2 :: bool
1327
+ L1:
1328
+ return 1
1329
+ L2:
1330
+ return 0
1331
+ def lt_i64(a, n):
1332
+ a :: list
1333
+ n :: i64
1334
+ r0 :: native_int
1335
+ r1 :: short_int
1336
+ r2 :: i64
1337
+ r3 :: bit
1338
+ L0:
1339
+ r0 = var_object_size a
1340
+ r1 = r0 << 1
1341
+ r2 = r1 >> 1
1342
+ r3 = n < r2 :: signed
1343
+ if r3 goto L1 else goto L2 :: bool
1344
+ L1:
1345
+ return 1
1346
+ L2:
1347
+ return 0
1348
+
1349
+ [case testOptionalI64_64bit]
1350
+ from typing import Optional
1351
+ from mypy_extensions import i64
1352
+
1353
+ def f(x: Optional[i64]) -> i64:
1354
+ if x is None:
1355
+ return 1
1356
+ return x
1357
+ [out]
1358
+ def f(x):
1359
+ x :: union[i64, None]
1360
+ r0 :: object
1361
+ r1 :: bit
1362
+ r2 :: i64
1363
+ L0:
1364
+ r0 = load_address _Py_NoneStruct
1365
+ r1 = x == r0
1366
+ if r1 goto L1 else goto L2 :: bool
1367
+ L1:
1368
+ return 1
1369
+ L2:
1370
+ r2 = unbox(i64, x)
1371
+ return r2
1372
+
1373
+ [case testI64DefaultValueSingle]
1374
+ from mypy_extensions import i64
1375
+
1376
+ def f(x: i64, y: i64 = 0) -> i64:
1377
+ return x + y
1378
+
1379
+ def g() -> i64:
1380
+ return f(7) + f(8, 9)
1381
+ [out]
1382
+ def f(x, y, __bitmap):
1383
+ x, y :: i64
1384
+ __bitmap, r0 :: u32
1385
+ r1 :: bit
1386
+ r2 :: i64
1387
+ L0:
1388
+ r0 = __bitmap & 1
1389
+ r1 = r0 == 0
1390
+ if r1 goto L1 else goto L2 :: bool
1391
+ L1:
1392
+ y = 0
1393
+ L2:
1394
+ r2 = x + y
1395
+ return r2
1396
+ def g():
1397
+ r0, r1, r2 :: i64
1398
+ L0:
1399
+ r0 = f(7, 0, 0)
1400
+ r1 = f(8, 9, 1)
1401
+ r2 = r0 + r1
1402
+ return r2
1403
+
1404
+ [case testI64DefaultValueWithMultipleArgs]
1405
+ from mypy_extensions import i64
1406
+
1407
+ def f(a: i64, b: i64 = 1, c: int = 2, d: i64 = 3) -> i64:
1408
+ return 0
1409
+
1410
+ def g() -> i64:
1411
+ return f(7) + f(8, 9) + f(1, 2, 3) + f(4, 5, 6, 7)
1412
+ [out]
1413
+ def f(a, b, c, d, __bitmap):
1414
+ a, b :: i64
1415
+ c :: int
1416
+ d :: i64
1417
+ __bitmap, r0 :: u32
1418
+ r1 :: bit
1419
+ r2 :: u32
1420
+ r3 :: bit
1421
+ L0:
1422
+ r0 = __bitmap & 1
1423
+ r1 = r0 == 0
1424
+ if r1 goto L1 else goto L2 :: bool
1425
+ L1:
1426
+ b = 1
1427
+ L2:
1428
+ if is_error(c) goto L3 else goto L4
1429
+ L3:
1430
+ c = 4
1431
+ L4:
1432
+ r2 = __bitmap & 2
1433
+ r3 = r2 == 0
1434
+ if r3 goto L5 else goto L6 :: bool
1435
+ L5:
1436
+ d = 3
1437
+ L6:
1438
+ return 0
1439
+ def g():
1440
+ r0 :: int
1441
+ r1 :: i64
1442
+ r2 :: int
1443
+ r3, r4, r5, r6, r7, r8 :: i64
1444
+ L0:
1445
+ r0 = <error> :: int
1446
+ r1 = f(7, 0, r0, 0, 0)
1447
+ r2 = <error> :: int
1448
+ r3 = f(8, 9, r2, 0, 1)
1449
+ r4 = r1 + r3
1450
+ r5 = f(1, 2, 6, 0, 1)
1451
+ r6 = r4 + r5
1452
+ r7 = f(4, 5, 12, 7, 3)
1453
+ r8 = r6 + r7
1454
+ return r8
1455
+
1456
+ [case testI64MethodDefaultValue]
1457
+ from mypy_extensions import i64
1458
+
1459
+ class C:
1460
+ def m(self, x: i64 = 5) -> None:
1461
+ pass
1462
+
1463
+ def f(c: C) -> None:
1464
+ c.m()
1465
+ c.m(6)
1466
+ [out]
1467
+ def C.m(self, x, __bitmap):
1468
+ self :: __main__.C
1469
+ x :: i64
1470
+ __bitmap, r0 :: u32
1471
+ r1 :: bit
1472
+ L0:
1473
+ r0 = __bitmap & 1
1474
+ r1 = r0 == 0
1475
+ if r1 goto L1 else goto L2 :: bool
1476
+ L1:
1477
+ x = 5
1478
+ L2:
1479
+ return 1
1480
+ def f(c):
1481
+ c :: __main__.C
1482
+ r0, r1 :: None
1483
+ L0:
1484
+ r0 = c.m(0, 0)
1485
+ r1 = c.m(6, 1)
1486
+ return 1
1487
+
1488
+ [case testI64ExplicitConversionFromNativeInt]
1489
+ from mypy_extensions import i64, i32, i16
1490
+
1491
+ def from_i16(x: i16) -> i64:
1492
+ return i64(x)
1493
+
1494
+ def from_i32(x: i32) -> i64:
1495
+ return i64(x)
1496
+
1497
+ def from_i64(x: i64) -> i64:
1498
+ return i64(x)
1499
+ [out]
1500
+ def from_i16(x):
1501
+ x :: i16
1502
+ r0 :: i64
1503
+ L0:
1504
+ r0 = extend signed x: i16 to i64
1505
+ return r0
1506
+ def from_i32(x):
1507
+ x :: i32
1508
+ r0 :: i64
1509
+ L0:
1510
+ r0 = extend signed x: i32 to i64
1511
+ return r0
1512
+ def from_i64(x):
1513
+ x :: i64
1514
+ L0:
1515
+ return x
1516
+
1517
+ [case testI64ExplicitConversionFromInt_64bit]
1518
+ from mypy_extensions import i64
1519
+
1520
+ def f(x: int) -> i64:
1521
+ return i64(x)
1522
+ [out]
1523
+ def f(x):
1524
+ x :: int
1525
+ r0 :: native_int
1526
+ r1 :: bit
1527
+ r2, r3 :: i64
1528
+ r4 :: ptr
1529
+ r5 :: c_ptr
1530
+ r6 :: i64
1531
+ L0:
1532
+ r0 = x & 1
1533
+ r1 = r0 == 0
1534
+ if r1 goto L1 else goto L2 :: bool
1535
+ L1:
1536
+ r2 = x >> 1
1537
+ r3 = r2
1538
+ goto L3
1539
+ L2:
1540
+ r4 = x ^ 1
1541
+ r5 = r4
1542
+ r6 = CPyLong_AsInt64(r5)
1543
+ r3 = r6
1544
+ keep_alive x
1545
+ L3:
1546
+ return r3
1547
+
1548
+ [case testI64ExplicitConversionToInt_64bit]
1549
+ from mypy_extensions import i64
1550
+
1551
+ def f(x: i64) -> int:
1552
+ return int(x)
1553
+ [out]
1554
+ def f(x):
1555
+ x :: i64
1556
+ r0, r1 :: bit
1557
+ r2, r3, r4 :: int
1558
+ L0:
1559
+ r0 = x <= 4611686018427387903 :: signed
1560
+ if r0 goto L1 else goto L2 :: bool
1561
+ L1:
1562
+ r1 = x >= -4611686018427387904 :: signed
1563
+ if r1 goto L3 else goto L2 :: bool
1564
+ L2:
1565
+ r2 = CPyTagged_FromInt64(x)
1566
+ r3 = r2
1567
+ goto L4
1568
+ L3:
1569
+ r4 = x << 1
1570
+ r3 = r4
1571
+ L4:
1572
+ return r3
1573
+
1574
+ [case testI64ExplicitConversionFromLiteral]
1575
+ from mypy_extensions import i64
1576
+
1577
+ def f() -> None:
1578
+ x = i64(0)
1579
+ y = i64(11)
1580
+ z = i64(-3)
1581
+ [out]
1582
+ def f():
1583
+ x, y, z :: i64
1584
+ L0:
1585
+ x = 0
1586
+ y = 11
1587
+ z = -3
1588
+ return 1
1589
+
1590
+ [case testI64ForLoopOverRange]
1591
+ from mypy_extensions import i64
1592
+
1593
+ def f() -> None:
1594
+ for x in range(i64(4)):
1595
+ y = x
1596
+ [out]
1597
+ def f():
1598
+ r0, x :: i64
1599
+ r1 :: bit
1600
+ y, r2 :: i64
1601
+ L0:
1602
+ r0 = 0
1603
+ x = r0
1604
+ L1:
1605
+ r1 = r0 < 4 :: signed
1606
+ if r1 goto L2 else goto L4 :: bool
1607
+ L2:
1608
+ y = x
1609
+ L3:
1610
+ r2 = r0 + 1
1611
+ r0 = r2
1612
+ x = r2
1613
+ goto L1
1614
+ L4:
1615
+ return 1
1616
+
1617
+ [case testI64ForLoopOverRange2]
1618
+ from mypy_extensions import i64
1619
+
1620
+ def f() -> None:
1621
+ for x in range(0, i64(4)):
1622
+ y = x
1623
+ [out]
1624
+ def f():
1625
+ r0, x :: i64
1626
+ r1 :: bit
1627
+ y, r2 :: i64
1628
+ L0:
1629
+ r0 = 0
1630
+ x = r0
1631
+ L1:
1632
+ r1 = r0 < 4 :: signed
1633
+ if r1 goto L2 else goto L4 :: bool
1634
+ L2:
1635
+ y = x
1636
+ L3:
1637
+ r2 = r0 + 1
1638
+ r0 = r2
1639
+ x = r2
1640
+ goto L1
1641
+ L4:
1642
+ return 1
1643
+
1644
+ [case testI64MethodDefaultValueOverride]
1645
+ from mypy_extensions import i64
1646
+
1647
+ class C:
1648
+ def f(self, x: i64 = 11) -> None: pass
1649
+ class D(C):
1650
+ def f(self, x: i64 = 12) -> None: pass
1651
+ [out]
1652
+ def C.f(self, x, __bitmap):
1653
+ self :: __main__.C
1654
+ x :: i64
1655
+ __bitmap, r0 :: u32
1656
+ r1 :: bit
1657
+ L0:
1658
+ r0 = __bitmap & 1
1659
+ r1 = r0 == 0
1660
+ if r1 goto L1 else goto L2 :: bool
1661
+ L1:
1662
+ x = 11
1663
+ L2:
1664
+ return 1
1665
+ def D.f(self, x, __bitmap):
1666
+ self :: __main__.D
1667
+ x :: i64
1668
+ __bitmap, r0 :: u32
1669
+ r1 :: bit
1670
+ L0:
1671
+ r0 = __bitmap & 1
1672
+ r1 = r0 == 0
1673
+ if r1 goto L1 else goto L2 :: bool
1674
+ L1:
1675
+ x = 12
1676
+ L2:
1677
+ return 1
1678
+
1679
+ [case testI64FinalConstants]
1680
+ from typing_extensions import Final
1681
+ from mypy_extensions import i64
1682
+
1683
+ A: Final = -1
1684
+ B: Final = -(1 + 3*2)
1685
+ C: Final = 0
1686
+ D: Final = A - B
1687
+ E: Final[i64] = 1 + 3
1688
+
1689
+ def f1() -> i64:
1690
+ return A
1691
+
1692
+ def f2() -> i64:
1693
+ return A + B
1694
+
1695
+ def f3() -> i64:
1696
+ return C
1697
+
1698
+ def f4() -> i64:
1699
+ return D
1700
+
1701
+ def f5() -> i64:
1702
+ return E
1703
+ [out]
1704
+ def f1():
1705
+ L0:
1706
+ return -1
1707
+ def f2():
1708
+ L0:
1709
+ return -8
1710
+ def f3():
1711
+ L0:
1712
+ return 0
1713
+ def f4():
1714
+ L0:
1715
+ return 6
1716
+ def f5():
1717
+ L0:
1718
+ return 4
1719
+
1720
+ [case testI64OperationsWithBools]
1721
+ from mypy_extensions import i64
1722
+
1723
+ # TODO: Other mixed operations
1724
+
1725
+ def add_bool_to_int(n: i64, b: bool) -> i64:
1726
+ return n + b
1727
+
1728
+ def compare_bool_to_i64(n: i64, b: bool) -> bool:
1729
+ if n == b:
1730
+ return b != n
1731
+ return True
1732
+ [out]
1733
+ def add_bool_to_int(n, b):
1734
+ n :: i64
1735
+ b :: bool
1736
+ r0, r1 :: i64
1737
+ L0:
1738
+ r0 = extend b: builtins.bool to i64
1739
+ r1 = n + r0
1740
+ return r1
1741
+ def compare_bool_to_i64(n, b):
1742
+ n :: i64
1743
+ b :: bool
1744
+ r0 :: i64
1745
+ r1 :: bit
1746
+ r2 :: i64
1747
+ r3 :: bit
1748
+ L0:
1749
+ r0 = extend b: builtins.bool to i64
1750
+ r1 = n == r0
1751
+ if r1 goto L1 else goto L2 :: bool
1752
+ L1:
1753
+ r2 = extend b: builtins.bool to i64
1754
+ r3 = r2 != n
1755
+ return r3
1756
+ L2:
1757
+ return 1
1758
+
1759
+ [case testI64Cast_64bit]
1760
+ from typing import cast
1761
+ from mypy_extensions import i64
1762
+
1763
+ def cast_object(o: object) -> i64:
1764
+ return cast(i64, o)
1765
+
1766
+ def cast_int(x: int) -> i64:
1767
+ return cast(i64, x)
1768
+ [out]
1769
+ def cast_object(o):
1770
+ o :: object
1771
+ r0 :: i64
1772
+ L0:
1773
+ r0 = unbox(i64, o)
1774
+ return r0
1775
+ def cast_int(x):
1776
+ x :: int
1777
+ r0 :: native_int
1778
+ r1 :: bit
1779
+ r2, r3 :: i64
1780
+ r4 :: ptr
1781
+ r5 :: c_ptr
1782
+ r6 :: i64
1783
+ L0:
1784
+ r0 = x & 1
1785
+ r1 = r0 == 0
1786
+ if r1 goto L1 else goto L2 :: bool
1787
+ L1:
1788
+ r2 = x >> 1
1789
+ r3 = r2
1790
+ goto L3
1791
+ L2:
1792
+ r4 = x ^ 1
1793
+ r5 = r4
1794
+ r6 = CPyLong_AsInt64(r5)
1795
+ r3 = r6
1796
+ keep_alive x
1797
+ L3:
1798
+ return r3
1799
+
1800
+ [case testI64Cast_32bit]
1801
+ from typing import cast
1802
+ from mypy_extensions import i64
1803
+
1804
+ def cast_int(x: int) -> i64:
1805
+ return cast(i64, x)
1806
+ [out]
1807
+ def cast_int(x):
1808
+ x :: int
1809
+ r0 :: native_int
1810
+ r1 :: bit
1811
+ r2, r3, r4 :: i64
1812
+ r5 :: ptr
1813
+ r6 :: c_ptr
1814
+ r7 :: i64
1815
+ L0:
1816
+ r0 = x & 1
1817
+ r1 = r0 == 0
1818
+ if r1 goto L1 else goto L2 :: bool
1819
+ L1:
1820
+ r2 = extend signed x: builtins.int to i64
1821
+ r3 = r2 >> 1
1822
+ r4 = r3
1823
+ goto L3
1824
+ L2:
1825
+ r5 = x ^ 1
1826
+ r6 = r5
1827
+ r7 = CPyLong_AsInt64(r6)
1828
+ r4 = r7
1829
+ keep_alive x
1830
+ L3:
1831
+ return r4
1832
+
1833
+ [case testI64ExplicitConversionFromVariousTypes_64bit]
1834
+ from mypy_extensions import i64
1835
+
1836
+ def bool_to_i64(b: bool) -> i64:
1837
+ return i64(b)
1838
+
1839
+ def str_to_i64(s: str) -> i64:
1840
+ return i64(s)
1841
+
1842
+ def str_to_i64_with_base(s: str) -> i64:
1843
+ return i64(s, 2)
1844
+
1845
+ class C:
1846
+ def __int__(self) -> i64:
1847
+ return 5
1848
+
1849
+ def instance_to_i64(c: C) -> i64:
1850
+ return i64(c)
1851
+
1852
+ def float_to_i64(x: float) -> i64:
1853
+ return i64(x)
1854
+ [out]
1855
+ def bool_to_i64(b):
1856
+ b :: bool
1857
+ r0 :: i64
1858
+ L0:
1859
+ r0 = extend b: builtins.bool to i64
1860
+ return r0
1861
+ def str_to_i64(s):
1862
+ s :: str
1863
+ r0 :: object
1864
+ r1 :: i64
1865
+ L0:
1866
+ r0 = CPyLong_FromStr(s)
1867
+ r1 = unbox(i64, r0)
1868
+ return r1
1869
+ def str_to_i64_with_base(s):
1870
+ s :: str
1871
+ r0 :: object
1872
+ r1 :: i64
1873
+ L0:
1874
+ r0 = CPyLong_FromStrWithBase(s, 4)
1875
+ r1 = unbox(i64, r0)
1876
+ return r1
1877
+ def C.__int__(self):
1878
+ self :: __main__.C
1879
+ L0:
1880
+ return 5
1881
+ def instance_to_i64(c):
1882
+ c :: __main__.C
1883
+ r0 :: i64
1884
+ L0:
1885
+ r0 = c.__int__()
1886
+ return r0
1887
+ def float_to_i64(x):
1888
+ x :: float
1889
+ r0 :: int
1890
+ r1 :: native_int
1891
+ r2 :: bit
1892
+ r3, r4 :: i64
1893
+ r5 :: ptr
1894
+ r6 :: c_ptr
1895
+ r7 :: i64
1896
+ L0:
1897
+ r0 = CPyTagged_FromFloat(x)
1898
+ r1 = r0 & 1
1899
+ r2 = r1 == 0
1900
+ if r2 goto L1 else goto L2 :: bool
1901
+ L1:
1902
+ r3 = r0 >> 1
1903
+ r4 = r3
1904
+ goto L3
1905
+ L2:
1906
+ r5 = r0 ^ 1
1907
+ r6 = r5
1908
+ r7 = CPyLong_AsInt64(r6)
1909
+ r4 = r7
1910
+ keep_alive r0
1911
+ L3:
1912
+ return r4
1913
+
1914
+ [case testI64ExplicitConversionFromFloat_32bit]
1915
+ from mypy_extensions import i64
1916
+
1917
+ def float_to_i64(x: float) -> i64:
1918
+ return i64(x)
1919
+ [out]
1920
+ def float_to_i64(x):
1921
+ x :: float
1922
+ r0 :: int
1923
+ r1 :: native_int
1924
+ r2 :: bit
1925
+ r3, r4, r5 :: i64
1926
+ r6 :: ptr
1927
+ r7 :: c_ptr
1928
+ r8 :: i64
1929
+ L0:
1930
+ r0 = CPyTagged_FromFloat(x)
1931
+ r1 = r0 & 1
1932
+ r2 = r1 == 0
1933
+ if r2 goto L1 else goto L2 :: bool
1934
+ L1:
1935
+ r3 = extend signed r0: builtins.int to i64
1936
+ r4 = r3 >> 1
1937
+ r5 = r4
1938
+ goto L3
1939
+ L2:
1940
+ r6 = r0 ^ 1
1941
+ r7 = r6
1942
+ r8 = CPyLong_AsInt64(r7)
1943
+ r5 = r8
1944
+ keep_alive r0
1945
+ L3:
1946
+ return r5
1947
+
1948
+ [case testI64ConvertToFloat_64bit]
1949
+ from mypy_extensions import i64
1950
+
1951
+ def i64_to_float(x: i64) -> float:
1952
+ return float(x)
1953
+ [out]
1954
+ def i64_to_float(x):
1955
+ x :: i64
1956
+ r0, r1 :: bit
1957
+ r2, r3, r4 :: int
1958
+ r5 :: float
1959
+ L0:
1960
+ r0 = x <= 4611686018427387903 :: signed
1961
+ if r0 goto L1 else goto L2 :: bool
1962
+ L1:
1963
+ r1 = x >= -4611686018427387904 :: signed
1964
+ if r1 goto L3 else goto L2 :: bool
1965
+ L2:
1966
+ r2 = CPyTagged_FromInt64(x)
1967
+ r3 = r2
1968
+ goto L4
1969
+ L3:
1970
+ r4 = x << 1
1971
+ r3 = r4
1972
+ L4:
1973
+ r5 = CPyFloat_FromTagged(r3)
1974
+ return r5
1975
+
1976
+ [case testI64ConvertToFloat_32bit]
1977
+ from mypy_extensions import i64
1978
+
1979
+ def i64_to_float(x: i64) -> float:
1980
+ return float(x)
1981
+ [out]
1982
+ def i64_to_float(x):
1983
+ x :: i64
1984
+ r0, r1 :: bit
1985
+ r2, r3 :: int
1986
+ r4 :: native_int
1987
+ r5 :: int
1988
+ r6 :: float
1989
+ L0:
1990
+ r0 = x <= 1073741823 :: signed
1991
+ if r0 goto L1 else goto L2 :: bool
1992
+ L1:
1993
+ r1 = x >= -1073741824 :: signed
1994
+ if r1 goto L3 else goto L2 :: bool
1995
+ L2:
1996
+ r2 = CPyTagged_FromInt64(x)
1997
+ r3 = r2
1998
+ goto L4
1999
+ L3:
2000
+ r4 = truncate x: i64 to native_int
2001
+ r5 = r4 << 1
2002
+ r3 = r5
2003
+ L4:
2004
+ r6 = CPyFloat_FromTagged(r3)
2005
+ return r6
2006
+
2007
+ [case testI64IsinstanceNarrowing]
2008
+ from typing import Union
2009
+ from mypy_extensions import i64
2010
+
2011
+ class C:
2012
+ a: i64
2013
+
2014
+ def narrow1(x: Union[C, i64]) -> i64:
2015
+ if isinstance(x, i64):
2016
+ return x
2017
+ return x.a
2018
+
2019
+ def narrow2(x: Union[C, i64]) -> i64:
2020
+ if isinstance(x, int):
2021
+ return x
2022
+ return x.a
2023
+ [out]
2024
+ def narrow1(x):
2025
+ x :: union[__main__.C, i64]
2026
+ r0 :: object
2027
+ r1 :: i32
2028
+ r2 :: bit
2029
+ r3 :: bool
2030
+ r4 :: i64
2031
+ r5 :: __main__.C
2032
+ r6 :: i64
2033
+ L0:
2034
+ r0 = load_address PyLong_Type
2035
+ r1 = PyObject_IsInstance(x, r0)
2036
+ r2 = r1 >= 0 :: signed
2037
+ r3 = truncate r1: i32 to builtins.bool
2038
+ if r3 goto L1 else goto L2 :: bool
2039
+ L1:
2040
+ r4 = unbox(i64, x)
2041
+ return r4
2042
+ L2:
2043
+ r5 = borrow cast(__main__.C, x)
2044
+ r6 = r5.a
2045
+ keep_alive x
2046
+ return r6
2047
+ def narrow2(x):
2048
+ x :: union[__main__.C, i64]
2049
+ r0 :: object
2050
+ r1 :: i32
2051
+ r2 :: bit
2052
+ r3 :: bool
2053
+ r4 :: i64
2054
+ r5 :: __main__.C
2055
+ r6 :: i64
2056
+ L0:
2057
+ r0 = load_address PyLong_Type
2058
+ r1 = PyObject_IsInstance(x, r0)
2059
+ r2 = r1 >= 0 :: signed
2060
+ r3 = truncate r1: i32 to builtins.bool
2061
+ if r3 goto L1 else goto L2 :: bool
2062
+ L1:
2063
+ r4 = unbox(i64, x)
2064
+ return r4
2065
+ L2:
2066
+ r5 = borrow cast(__main__.C, x)
2067
+ r6 = r5.a
2068
+ keep_alive x
2069
+ return r6
2070
+
2071
+ [case testI64ConvertBetweenTuples_64bit]
2072
+ from __future__ import annotations
2073
+ from mypy_extensions import i64
2074
+
2075
+ def f(t: tuple[int, i64, int]) -> None:
2076
+ tt: tuple[int, i64, i64] = t
2077
+
2078
+ def g(n: int) -> None:
2079
+ t: tuple[i64, i64] = (1, n)
2080
+ [out]
2081
+ def f(t):
2082
+ t :: tuple[int, i64, int]
2083
+ r0 :: int
2084
+ r1 :: i64
2085
+ r2 :: int
2086
+ r3 :: native_int
2087
+ r4 :: bit
2088
+ r5, r6 :: i64
2089
+ r7 :: ptr
2090
+ r8 :: c_ptr
2091
+ r9 :: i64
2092
+ r10, tt :: tuple[int, i64, i64]
2093
+ L0:
2094
+ r0 = t[0]
2095
+ r1 = t[1]
2096
+ r2 = t[2]
2097
+ r3 = r2 & 1
2098
+ r4 = r3 == 0
2099
+ if r4 goto L1 else goto L2 :: bool
2100
+ L1:
2101
+ r5 = r2 >> 1
2102
+ r6 = r5
2103
+ goto L3
2104
+ L2:
2105
+ r7 = r2 ^ 1
2106
+ r8 = r7
2107
+ r9 = CPyLong_AsInt64(r8)
2108
+ r6 = r9
2109
+ keep_alive r2
2110
+ L3:
2111
+ r10 = (r0, r1, r6)
2112
+ tt = r10
2113
+ return 1
2114
+ def g(n):
2115
+ n :: int
2116
+ r0 :: tuple[int, int]
2117
+ r1 :: int
2118
+ r2 :: native_int
2119
+ r3 :: bit
2120
+ r4, r5 :: i64
2121
+ r6 :: ptr
2122
+ r7 :: c_ptr
2123
+ r8 :: i64
2124
+ r9, t :: tuple[i64, i64]
2125
+ L0:
2126
+ r0 = (2, n)
2127
+ r1 = r0[1]
2128
+ r2 = r1 & 1
2129
+ r3 = r2 == 0
2130
+ if r3 goto L1 else goto L2 :: bool
2131
+ L1:
2132
+ r4 = r1 >> 1
2133
+ r5 = r4
2134
+ goto L3
2135
+ L2:
2136
+ r6 = r1 ^ 1
2137
+ r7 = r6
2138
+ r8 = CPyLong_AsInt64(r7)
2139
+ r5 = r8
2140
+ keep_alive r1
2141
+ L3:
2142
+ r9 = (1, r5)
2143
+ t = r9
2144
+ return 1