jaclang 0.6.1__py3-none-any.whl → 0.7.0__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (1337) 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 +9 -7
  8. jaclang/compiler/compile.py +4 -4
  9. jaclang/compiler/jac.lark +1 -0
  10. jaclang/compiler/parser.py +28 -6
  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/jac_formatter_pass.py +2 -2
  37. jaclang/compiler/passes/tool/tests/fixtures/corelib.jac +480 -0
  38. jaclang/compiler/passes/tool/tests/fixtures/corelib_fmt.jac +480 -0
  39. jaclang/compiler/passes/tool/tests/fixtures/genai/essay_review.jac +36 -0
  40. jaclang/compiler/passes/tool/tests/fixtures/genai/expert_answer.jac +17 -0
  41. jaclang/compiler/passes/tool/tests/fixtures/genai/joke_gen.jac +32 -0
  42. jaclang/compiler/passes/tool/tests/fixtures/genai/odd_word_out.jac +27 -0
  43. jaclang/compiler/passes/tool/tests/fixtures/genai/personality_finder.jac +35 -0
  44. jaclang/compiler/passes/tool/tests/fixtures/genai/text_to_type.jac +25 -0
  45. jaclang/compiler/passes/tool/tests/fixtures/genai/translator.jac +13 -0
  46. jaclang/compiler/passes/tool/tests/fixtures/genai/wikipedia.jac +63 -0
  47. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.dot +39 -0
  48. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.jac +7 -0
  49. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.txt +20 -0
  50. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/ability_impl_long_comprehension.jac +15 -0
  51. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/call_with_many_parameters.jac +24 -0
  52. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/entry_main.jac +4 -0
  53. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/long_line_nested_dict_access.jac +10 -0
  54. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/multiline_fstrings.jac +16 -0
  55. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/nested_dict.jac +15 -0
  56. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/nested_loop_and_incrementer.jac +13 -0
  57. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/simple_walker.jac +25 -0
  58. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/try_block_and_walker_spawn_and_fstrings.jac +26 -0
  59. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/tuple_iteration_and_not_negation.jac +20 -0
  60. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/type_annotation.jac +3 -0
  61. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_decl_only.jac +12 -0
  62. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_with_default_values_types_and_docstrings.jac +18 -0
  63. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_with_inline_ability_impl.jac +8 -0
  64. jaclang/compiler/passes/tool/tests/fixtures/simple_walk.jac +47 -0
  65. jaclang/compiler/passes/tool/tests/fixtures/simple_walk_fmt.jac +47 -0
  66. jaclang/compiler/passes/transform.py +13 -4
  67. jaclang/compiler/passes/utils/mypy_ast_build.py +8 -0
  68. jaclang/compiler/tests/fixtures/fam.jac +67 -0
  69. jaclang/compiler/tests/fixtures/hello_world.jac +5 -0
  70. jaclang/compiler/tests/fixtures/kwesc.jac +5 -0
  71. jaclang/compiler/tests/fixtures/mod_doc_test.jac +3 -0
  72. jaclang/compiler/tests/fixtures/staticcheck.jac +20 -0
  73. jaclang/compiler/tests/fixtures/stuff.jac +6 -0
  74. jaclang/langserve/__init__.py +1 -0
  75. jaclang/langserve/engine.py +287 -0
  76. jaclang/langserve/server.py +139 -0
  77. jaclang/langserve/tests/__init__.py +1 -0
  78. jaclang/langserve/tests/defaults.py +226 -0
  79. jaclang/langserve/tests/fixtures/hello.jac +1 -0
  80. jaclang/langserve/tests/pylsp_jsonrpc/__init__.py +2 -0
  81. jaclang/langserve/tests/pylsp_jsonrpc/dispatchers.py +37 -0
  82. jaclang/langserve/tests/pylsp_jsonrpc/endpoint.py +294 -0
  83. jaclang/langserve/tests/pylsp_jsonrpc/exceptions.py +114 -0
  84. jaclang/langserve/tests/pylsp_jsonrpc/streams.py +113 -0
  85. jaclang/langserve/tests/session.py +255 -0
  86. jaclang/langserve/tests/test_server.py +36 -0
  87. jaclang/langserve/utils.py +55 -0
  88. jaclang/plugin/default.py +1 -1
  89. jaclang/plugin/tests/fixtures/impl_match.jac +9 -0
  90. jaclang/plugin/tests/fixtures/impl_match_impl.jac +3 -0
  91. jaclang/plugin/tests/fixtures/simple_node_connection.jac +55 -0
  92. jaclang/plugin/tests/fixtures/simple_persistent.jac +41 -0
  93. jaclang/settings.py +5 -0
  94. jaclang/tests/fixtures/abc.jac +73 -0
  95. jaclang/tests/fixtures/access_checker.jac +19 -0
  96. jaclang/tests/fixtures/access_modifier.jac +49 -0
  97. jaclang/tests/fixtures/aott_raise.jac +25 -0
  98. jaclang/tests/fixtures/arithmetic_bug.jac +13 -0
  99. jaclang/tests/fixtures/assign_compr.jac +15 -0
  100. jaclang/tests/fixtures/assign_compr_dup.jac +15 -0
  101. jaclang/tests/fixtures/builtin_dotgen.jac +41 -0
  102. jaclang/tests/fixtures/chandra_bugs.jac +11 -0
  103. jaclang/tests/fixtures/chandra_bugs2.jac +26 -0
  104. jaclang/tests/fixtures/circle_pysolo.py +91 -0
  105. jaclang/tests/fixtures/deep/deeper/deep_outer_import.jac +9 -0
  106. jaclang/tests/fixtures/deep/deeper/deep_outer_import2.jac +9 -0
  107. jaclang/tests/fixtures/deep/deeper/snd_lev.jac +6 -0
  108. jaclang/tests/fixtures/deep/mycode.jac +4 -0
  109. jaclang/tests/fixtures/deep/one_lev.jac +6 -0
  110. jaclang/tests/fixtures/deep/one_lev_dup.jac +6 -0
  111. jaclang/tests/fixtures/deep/one_lev_dup_py.py +6 -0
  112. jaclang/tests/fixtures/deep_convert.jac +5 -0
  113. jaclang/tests/fixtures/deep_convo.py +6 -0
  114. jaclang/tests/fixtures/deep_import.jac +7 -0
  115. jaclang/tests/fixtures/deferred_field.jac +13 -0
  116. jaclang/tests/fixtures/disconn.jac +29 -0
  117. jaclang/tests/fixtures/edge_node_walk.jac +46 -0
  118. jaclang/tests/fixtures/edge_ops.jac +45 -0
  119. jaclang/tests/fixtures/edges_walk.jac +38 -0
  120. jaclang/tests/fixtures/enum_inside_archtype.jac +20 -0
  121. jaclang/tests/fixtures/err.jac +5 -0
  122. jaclang/tests/fixtures/err2.jac +5 -0
  123. jaclang/tests/fixtures/game1.jac +15 -0
  124. jaclang/tests/fixtures/gendot_bubble_sort.jac +77 -0
  125. jaclang/tests/fixtures/guess_game.jac +47 -0
  126. jaclang/tests/fixtures/has_goodness.jac +15 -0
  127. jaclang/tests/fixtures/hashcheck.jac +12 -0
  128. jaclang/tests/fixtures/hashcheck_dup.jac +12 -0
  129. jaclang/tests/fixtures/hello.jac +5 -0
  130. jaclang/tests/fixtures/hello_nc.jac +5 -0
  131. jaclang/tests/fixtures/ignore.jac +43 -0
  132. jaclang/tests/fixtures/ignore_dup.jac +43 -0
  133. jaclang/tests/fixtures/impl_grab.impl.jac +4 -0
  134. jaclang/tests/fixtures/impl_grab.jac +2 -0
  135. jaclang/tests/fixtures/inherit_check.jac +33 -0
  136. jaclang/tests/fixtures/jacsamp.jac +6 -0
  137. jaclang/tests/fixtures/jp_importer.jac +17 -0
  138. jaclang/tests/fixtures/lambda.jac +6 -0
  139. jaclang/tests/fixtures/maxfail_run_test.jac +5 -0
  140. jaclang/tests/fixtures/mtest.impl.jac +6 -0
  141. jaclang/tests/fixtures/mtest.jac +6 -0
  142. jaclang/tests/fixtures/needs_import.jac +18 -0
  143. jaclang/tests/fixtures/needs_import_1.jac +6 -0
  144. jaclang/tests/fixtures/needs_import_2.jac +6 -0
  145. jaclang/tests/fixtures/needs_import_3.jac +6 -0
  146. jaclang/tests/fixtures/needs_import_dup.jac +18 -0
  147. jaclang/tests/fixtures/package_import.jac +6 -0
  148. jaclang/tests/fixtures/pyfunc.py +11 -0
  149. jaclang/tests/fixtures/pyfunc_1.py +311 -0
  150. jaclang/tests/fixtures/pyfunc_2.py +279 -0
  151. jaclang/tests/fixtures/pyfunc_3.py +310 -0
  152. jaclang/tests/fixtures/random_check.jac +62 -0
  153. jaclang/tests/fixtures/raw_byte_string.jac +18 -0
  154. jaclang/tests/fixtures/registry.jac +37 -0
  155. jaclang/tests/fixtures/run_test.jac +5 -0
  156. jaclang/tests/fixtures/semstr.jac +33 -0
  157. jaclang/tests/fixtures/simple_archs.jac +26 -0
  158. jaclang/tests/fixtures/slice_vals.jac +7 -0
  159. jaclang/tests/fixtures/sub_abil_sep.jac +15 -0
  160. jaclang/tests/fixtures/sub_abil_sep_multilev.jac +17 -0
  161. jaclang/tests/fixtures/try_finally.jac +34 -0
  162. jaclang/tests/fixtures/tupleunpack.jac +6 -0
  163. jaclang/tests/fixtures/tuplytuples.jac +8 -0
  164. jaclang/tests/fixtures/type_info.jac +15 -0
  165. jaclang/tests/fixtures/with_context.jac +30 -0
  166. jaclang/tests/fixtures/with_llm_function.jac +33 -0
  167. jaclang/tests/fixtures/with_llm_lower.jac +45 -0
  168. jaclang/tests/fixtures/with_llm_method.jac +51 -0
  169. jaclang/tests/fixtures/with_llm_type.jac +52 -0
  170. jaclang/tests/test_cli.py +239 -0
  171. jaclang/tests/test_language.py +831 -0
  172. jaclang/tests/test_man_code.py +148 -0
  173. jaclang/tests/test_reference.py +95 -0
  174. jaclang/tests/test_settings.py +46 -0
  175. jaclang/utils/helpers.py +11 -0
  176. jaclang/utils/tests/test_lang_tools.py +17 -0
  177. jaclang/utils/treeprinter.py +12 -4
  178. jaclang/vendor/__init__.py +12 -1
  179. jaclang/vendor/attr/__init__.py +134 -0
  180. jaclang/vendor/attr/__init__.pyi +555 -0
  181. jaclang/vendor/attr/_cmp.py +150 -0
  182. jaclang/vendor/attr/_cmp.pyi +13 -0
  183. jaclang/vendor/attr/_compat.py +87 -0
  184. jaclang/vendor/attr/_config.py +31 -0
  185. jaclang/vendor/attr/_funcs.py +483 -0
  186. jaclang/vendor/attr/_make.py +3119 -0
  187. jaclang/vendor/attr/_next_gen.py +229 -0
  188. jaclang/vendor/attr/_typing_compat.pyi +15 -0
  189. jaclang/vendor/attr/_version_info.py +86 -0
  190. jaclang/vendor/attr/_version_info.pyi +9 -0
  191. jaclang/vendor/attr/converters.py +144 -0
  192. jaclang/vendor/attr/converters.pyi +13 -0
  193. jaclang/vendor/attr/exceptions.py +95 -0
  194. jaclang/vendor/attr/exceptions.pyi +17 -0
  195. jaclang/vendor/attr/filters.py +66 -0
  196. jaclang/vendor/attr/filters.pyi +6 -0
  197. jaclang/vendor/attr/setters.py +73 -0
  198. jaclang/vendor/attr/setters.pyi +19 -0
  199. jaclang/vendor/attr/validators.py +681 -0
  200. jaclang/vendor/attr/validators.pyi +88 -0
  201. jaclang/vendor/attrs/__init__.py +65 -0
  202. jaclang/vendor/attrs/__init__.pyi +67 -0
  203. jaclang/vendor/attrs/converters.py +3 -0
  204. jaclang/vendor/attrs/exceptions.py +3 -0
  205. jaclang/vendor/attrs/filters.py +3 -0
  206. jaclang/vendor/attrs/py.typed +0 -0
  207. jaclang/vendor/attrs/setters.py +3 -0
  208. jaclang/vendor/attrs/validators.py +3 -0
  209. jaclang/vendor/attrs-23.2.0.dist-info/METADATA +202 -0
  210. jaclang/vendor/attrs-23.2.0.dist-info/RECORD +35 -0
  211. jaclang/vendor/attrs-23.2.0.dist-info/WHEEL +4 -0
  212. jaclang/vendor/attrs-23.2.0.dist-info/licenses/LICENSE +21 -0
  213. jaclang/vendor/cattr/__init__.py +25 -0
  214. jaclang/vendor/cattr/converters.py +8 -0
  215. jaclang/vendor/cattr/disambiguators.py +3 -0
  216. jaclang/vendor/cattr/dispatch.py +3 -0
  217. jaclang/vendor/cattr/errors.py +15 -0
  218. jaclang/vendor/cattr/gen.py +21 -0
  219. jaclang/vendor/cattr/preconf/__init__.py +3 -0
  220. jaclang/vendor/cattr/preconf/bson.py +4 -0
  221. jaclang/vendor/cattr/preconf/json.py +4 -0
  222. jaclang/vendor/cattr/preconf/msgpack.py +4 -0
  223. jaclang/vendor/cattr/preconf/orjson.py +4 -0
  224. jaclang/vendor/cattr/preconf/pyyaml.py +4 -0
  225. jaclang/vendor/cattr/preconf/tomlkit.py +4 -0
  226. jaclang/vendor/cattr/preconf/ujson.py +4 -0
  227. jaclang/vendor/cattr/py.typed +0 -0
  228. jaclang/vendor/cattrs/__init__.py +55 -0
  229. jaclang/vendor/cattrs/_compat.py +465 -0
  230. jaclang/vendor/cattrs/_generics.py +22 -0
  231. jaclang/vendor/cattrs/converters.py +1101 -0
  232. jaclang/vendor/cattrs/disambiguators.py +132 -0
  233. jaclang/vendor/cattrs/dispatch.py +164 -0
  234. jaclang/vendor/cattrs/errors.py +129 -0
  235. jaclang/vendor/cattrs/fns.py +17 -0
  236. jaclang/vendor/cattrs/gen/__init__.py +890 -0
  237. jaclang/vendor/cattrs/gen/_consts.py +19 -0
  238. jaclang/vendor/cattrs/gen/_generics.py +43 -0
  239. jaclang/vendor/cattrs/gen/_lc.py +28 -0
  240. jaclang/vendor/cattrs/gen/_shared.py +51 -0
  241. jaclang/vendor/cattrs/gen/typeddicts.py +624 -0
  242. jaclang/vendor/cattrs/preconf/__init__.py +7 -0
  243. jaclang/vendor/cattrs/preconf/bson.py +107 -0
  244. jaclang/vendor/cattrs/preconf/cbor2.py +47 -0
  245. jaclang/vendor/cattrs/preconf/json.py +52 -0
  246. jaclang/vendor/cattrs/preconf/msgpack.py +51 -0
  247. jaclang/vendor/cattrs/preconf/orjson.py +82 -0
  248. jaclang/vendor/cattrs/preconf/pyyaml.py +60 -0
  249. jaclang/vendor/cattrs/preconf/tomlkit.py +85 -0
  250. jaclang/vendor/cattrs/preconf/ujson.py +52 -0
  251. jaclang/vendor/cattrs/py.typed +0 -0
  252. jaclang/vendor/cattrs/strategies/__init__.py +11 -0
  253. jaclang/vendor/cattrs/strategies/_class_methods.py +64 -0
  254. jaclang/vendor/cattrs/strategies/_subclasses.py +224 -0
  255. jaclang/vendor/cattrs/strategies/_unions.py +235 -0
  256. jaclang/vendor/cattrs/v.py +111 -0
  257. jaclang/vendor/cattrs-23.2.3.dist-info/METADATA +221 -0
  258. jaclang/vendor/cattrs-23.2.3.dist-info/RECORD +48 -0
  259. jaclang/vendor/cattrs-23.2.3.dist-info/WHEEL +4 -0
  260. jaclang/vendor/cattrs-23.2.3.dist-info/licenses/LICENSE +11 -0
  261. jaclang/vendor/lark/__init__.py +38 -38
  262. jaclang/vendor/lark/__pyinstaller/__init__.py +6 -7
  263. jaclang/vendor/lark/__pyinstaller/hook-lark.py +14 -14
  264. jaclang/vendor/lark/ast_utils.py +59 -70
  265. jaclang/vendor/lark/common.py +89 -113
  266. jaclang/vendor/lark/exceptions.py +292 -352
  267. jaclang/vendor/lark/grammar.py +130 -158
  268. jaclang/vendor/lark/grammars/common.lark +59 -59
  269. jaclang/vendor/lark/grammars/lark.lark +62 -62
  270. jaclang/vendor/lark/grammars/python.lark +302 -302
  271. jaclang/vendor/lark/grammars/unicode.lark +7 -7
  272. jaclang/vendor/lark/indenter.py +112 -118
  273. jaclang/vendor/lark/lark.py +661 -800
  274. jaclang/vendor/lark/lexer.py +678 -829
  275. jaclang/vendor/lark/load_grammar.py +1428 -1673
  276. jaclang/vendor/lark/parse_tree_builder.py +391 -466
  277. jaclang/vendor/lark/parser_frontends.py +257 -305
  278. jaclang/vendor/lark/parsers/cyk.py +340 -391
  279. jaclang/vendor/lark/parsers/earley.py +308 -385
  280. jaclang/vendor/lark/parsers/earley_common.py +42 -59
  281. jaclang/vendor/lark/parsers/earley_forest.py +810 -923
  282. jaclang/vendor/lark/parsers/grammar_analysis.py +203 -239
  283. jaclang/vendor/lark/parsers/lalr_analysis.py +332 -378
  284. jaclang/vendor/lark/parsers/lalr_interactive_parser.py +157 -171
  285. jaclang/vendor/lark/parsers/lalr_parser.py +122 -145
  286. jaclang/vendor/lark/parsers/lalr_parser_state.py +110 -141
  287. jaclang/vendor/lark/parsers/xearley.py +165 -209
  288. jaclang/vendor/lark/reconstruct.py +107 -131
  289. jaclang/vendor/lark/tools/__init__.py +71 -93
  290. jaclang/vendor/lark/tools/nearley.py +202 -240
  291. jaclang/vendor/lark/tools/serialize.py +32 -35
  292. jaclang/vendor/lark/tools/standalone.py +196 -225
  293. jaclang/vendor/lark/tree.py +272 -302
  294. jaclang/vendor/lark/tree_matcher.py +186 -194
  295. jaclang/vendor/lark/tree_templates.py +18 -26
  296. jaclang/vendor/lark/utils.py +361 -393
  297. jaclang/vendor/lark/visitors.py +593 -645
  298. jaclang/vendor/lark-1.1.9.dist-info/LICENSE +18 -0
  299. jaclang/vendor/lark-1.1.9.dist-info/METADATA +47 -0
  300. jaclang/vendor/lark-1.1.9.dist-info/RECORD +46 -0
  301. jaclang/vendor/lark-1.1.9.dist-info/WHEEL +5 -0
  302. jaclang/vendor/lark-1.1.9.dist-info/entry_points.txt +2 -0
  303. jaclang/vendor/lark-1.1.9.dist-info/top_level.txt +1 -0
  304. jaclang/vendor/lsprotocol/__init__.py +2 -0
  305. jaclang/vendor/lsprotocol/_hooks.py +1237 -0
  306. jaclang/vendor/lsprotocol/converters.py +17 -0
  307. jaclang/vendor/lsprotocol/py.typed +0 -0
  308. jaclang/vendor/lsprotocol/types.py +12898 -0
  309. jaclang/vendor/lsprotocol/validators.py +47 -0
  310. jaclang/vendor/lsprotocol-2023.0.1.dist-info/LICENSE +21 -0
  311. jaclang/vendor/lsprotocol-2023.0.1.dist-info/METADATA +65 -0
  312. jaclang/vendor/lsprotocol-2023.0.1.dist-info/RECORD +10 -0
  313. jaclang/vendor/lsprotocol-2023.0.1.dist-info/WHEEL +4 -0
  314. jaclang/vendor/mypy/api.py +1 -3
  315. jaclang/vendor/mypy/applytype.py +24 -24
  316. jaclang/vendor/mypy/argmap.py +5 -9
  317. jaclang/vendor/mypy/binder.py +11 -42
  318. jaclang/vendor/mypy/build.py +78 -260
  319. jaclang/vendor/mypy/checker.py +394 -930
  320. jaclang/vendor/mypy/checkexpr.py +210 -640
  321. jaclang/vendor/mypy/checkmember.py +44 -94
  322. jaclang/vendor/mypy/checkpattern.py +32 -104
  323. jaclang/vendor/mypy/checkstrformat.py +38 -131
  324. jaclang/vendor/mypy/config_parser.py +8 -31
  325. jaclang/vendor/mypy/constant_fold.py +1 -3
  326. jaclang/vendor/mypy/constraints.py +94 -253
  327. jaclang/vendor/mypy/copytype.py +3 -13
  328. jaclang/vendor/mypy/defaults.py +2 -4
  329. jaclang/vendor/mypy/dmypy/client.py +30 -102
  330. jaclang/vendor/mypy/dmypy_server.py +31 -118
  331. jaclang/vendor/mypy/erasetype.py +6 -18
  332. jaclang/vendor/mypy/errorcodes.py +26 -64
  333. jaclang/vendor/mypy/errors.py +23 -117
  334. jaclang/vendor/mypy/evalexpr.py +1 -3
  335. jaclang/vendor/mypy/expandtype.py +37 -40
  336. jaclang/vendor/mypy/exprtotype.py +14 -27
  337. jaclang/vendor/mypy/fastparse.py +66 -215
  338. jaclang/vendor/mypy/find_sources.py +4 -14
  339. jaclang/vendor/mypy/fixup.py +5 -10
  340. jaclang/vendor/mypy/indirection.py +1 -3
  341. jaclang/vendor/mypy/infer.py +2 -6
  342. jaclang/vendor/mypy/inspections.py +3 -13
  343. jaclang/vendor/mypy/ipc.py +7 -28
  344. jaclang/vendor/mypy/join.py +20 -39
  345. jaclang/vendor/mypy/literals.py +2 -10
  346. jaclang/vendor/mypy/main.py +39 -138
  347. jaclang/vendor/mypy/maptype.py +2 -6
  348. jaclang/vendor/mypy/meet.py +23 -77
  349. jaclang/vendor/mypy/message_registry.py +33 -88
  350. jaclang/vendor/mypy/messages.py +146 -447
  351. jaclang/vendor/mypy/metastore.py +2 -6
  352. jaclang/vendor/mypy/modulefinder.py +29 -76
  353. jaclang/vendor/mypy/moduleinspect.py +5 -17
  354. jaclang/vendor/mypy/mro.py +1 -3
  355. jaclang/vendor/mypy/nodes.py +35 -119
  356. jaclang/vendor/mypy/operators.py +2 -11
  357. jaclang/vendor/mypy/options.py +3 -9
  358. jaclang/vendor/mypy/parse.py +1 -3
  359. jaclang/vendor/mypy/plugin.py +25 -75
  360. jaclang/vendor/mypy/plugins/attrs.py +53 -119
  361. jaclang/vendor/mypy/plugins/common.py +9 -29
  362. jaclang/vendor/mypy/plugins/ctypes.py +5 -15
  363. jaclang/vendor/mypy/plugins/dataclasses.py +42 -107
  364. jaclang/vendor/mypy/plugins/default.py +26 -45
  365. jaclang/vendor/mypy/plugins/enums.py +4 -17
  366. jaclang/vendor/mypy/plugins/functools.py +2 -11
  367. jaclang/vendor/mypy/plugins/proper_plugin.py +2 -6
  368. jaclang/vendor/mypy/plugins/singledispatch.py +7 -33
  369. jaclang/vendor/mypy/reachability.py +2 -8
  370. jaclang/vendor/mypy/refinfo.py +1 -3
  371. jaclang/vendor/mypy/report.py +23 -52
  372. jaclang/vendor/mypy/semanal.py +385 -693
  373. jaclang/vendor/mypy/semanal_classprop.py +9 -34
  374. jaclang/vendor/mypy/semanal_enum.py +7 -19
  375. jaclang/vendor/mypy/semanal_infer.py +1 -3
  376. jaclang/vendor/mypy/semanal_main.py +5 -25
  377. jaclang/vendor/mypy/semanal_namedtuple.py +17 -56
  378. jaclang/vendor/mypy/semanal_newtype.py +8 -27
  379. jaclang/vendor/mypy/semanal_pass1.py +2 -6
  380. jaclang/vendor/mypy/semanal_shared.py +9 -27
  381. jaclang/vendor/mypy/semanal_typeargs.py +12 -41
  382. jaclang/vendor/mypy/semanal_typeddict.py +18 -59
  383. jaclang/vendor/mypy/server/astdiff.py +9 -34
  384. jaclang/vendor/mypy/server/astmerge.py +2 -6
  385. jaclang/vendor/mypy/server/deps.py +22 -71
  386. jaclang/vendor/mypy/server/mergecheck.py +1 -3
  387. jaclang/vendor/mypy/server/objgraph.py +2 -8
  388. jaclang/vendor/mypy/server/update.py +18 -54
  389. jaclang/vendor/mypy/solve.py +4 -17
  390. jaclang/vendor/mypy/split_namespace.py +1 -3
  391. jaclang/vendor/mypy/stats.py +6 -24
  392. jaclang/vendor/mypy/strconv.py +8 -31
  393. jaclang/vendor/mypy/stubdoc.py +8 -38
  394. jaclang/vendor/mypy/stubgen.py +79 -144
  395. jaclang/vendor/mypy/stubgenc.py +22 -69
  396. jaclang/vendor/mypy/stubtest.py +62 -167
  397. jaclang/vendor/mypy/stubutil.py +45 -61
  398. jaclang/vendor/mypy/subtypes.py +57 -133
  399. jaclang/vendor/mypy/suggestions.py +19 -53
  400. jaclang/vendor/mypy/test/data.py +13 -40
  401. jaclang/vendor/mypy/test/helpers.py +18 -43
  402. jaclang/vendor/mypy/test/meta/_pytest.py +2 -13
  403. jaclang/vendor/mypy/test/meta/test_parse_data.py +5 -9
  404. jaclang/vendor/mypy/test/meta/test_update_data.py +1 -3
  405. jaclang/vendor/mypy/test/test_find_sources.py +14 -32
  406. jaclang/vendor/mypy/test/test_ref_info.py +3 -9
  407. jaclang/vendor/mypy/test/testargs.py +1 -4
  408. jaclang/vendor/mypy/test/testcheck.py +14 -47
  409. jaclang/vendor/mypy/test/testcmdline.py +3 -14
  410. jaclang/vendor/mypy/test/testconstraints.py +8 -26
  411. jaclang/vendor/mypy/test/testdaemon.py +2 -9
  412. jaclang/vendor/mypy/test/testdeps.py +4 -12
  413. jaclang/vendor/mypy/test/testdiff.py +2 -6
  414. jaclang/vendor/mypy/test/testerrorstream.py +1 -3
  415. jaclang/vendor/mypy/test/testfinegrained.py +18 -56
  416. jaclang/vendor/mypy/test/testgraph.py +3 -18
  417. jaclang/vendor/mypy/test/testinfer.py +13 -55
  418. jaclang/vendor/mypy/test/testipc.py +3 -9
  419. jaclang/vendor/mypy/test/testmerge.py +5 -17
  420. jaclang/vendor/mypy/test/testmodulefinder.py +8 -30
  421. jaclang/vendor/mypy/test/testmypyc.py +1 -3
  422. jaclang/vendor/mypy/test/testparse.py +1 -3
  423. jaclang/vendor/mypy/test/testpep561.py +4 -13
  424. jaclang/vendor/mypy/test/testpythoneval.py +2 -6
  425. jaclang/vendor/mypy/test/testreports.py +1 -2
  426. jaclang/vendor/mypy/test/testsemanal.py +3 -10
  427. jaclang/vendor/mypy/test/testsolve.py +5 -15
  428. jaclang/vendor/mypy/test/teststubgen.py +69 -210
  429. jaclang/vendor/mypy/test/teststubtest.py +123 -163
  430. jaclang/vendor/mypy/test/testsubtypes.py +14 -34
  431. jaclang/vendor/mypy/test/testtransform.py +2 -8
  432. jaclang/vendor/mypy/test/testtypegen.py +2 -8
  433. jaclang/vendor/mypy/test/testtypes.py +77 -253
  434. jaclang/vendor/mypy/test/testutil.py +1 -3
  435. jaclang/vendor/mypy/test/typefixture.py +11 -38
  436. jaclang/vendor/mypy/test/update_data.py +4 -15
  437. jaclang/vendor/mypy/test/visitors.py +1 -9
  438. jaclang/vendor/mypy/treetransform.py +8 -25
  439. jaclang/vendor/mypy/tvar_scope.py +23 -3
  440. jaclang/vendor/mypy/type_visitor.py +3 -10
  441. jaclang/vendor/mypy/typeanal.py +183 -309
  442. jaclang/vendor/mypy/typeops.py +27 -73
  443. jaclang/vendor/mypy/types.py +77 -185
  444. jaclang/vendor/mypy/types_utils.py +7 -20
  445. jaclang/vendor/mypy/typeshed/LICENSE +237 -0
  446. jaclang/vendor/mypy/typeshed/stdlib/VERSIONS +309 -0
  447. jaclang/vendor/mypy/typeshed/stdlib/__future__.pyi +36 -0
  448. jaclang/vendor/mypy/typeshed/stdlib/__main__.pyi +3 -0
  449. jaclang/vendor/mypy/typeshed/stdlib/_ast.pyi +591 -0
  450. jaclang/vendor/mypy/typeshed/stdlib/_bisect.pyi +84 -0
  451. jaclang/vendor/mypy/typeshed/stdlib/_bootlocale.pyi +1 -0
  452. jaclang/vendor/mypy/typeshed/stdlib/_codecs.pyi +133 -0
  453. jaclang/vendor/mypy/typeshed/stdlib/_collections_abc.pyi +94 -0
  454. jaclang/vendor/mypy/typeshed/stdlib/_compat_pickle.pyi +8 -0
  455. jaclang/vendor/mypy/typeshed/stdlib/_compression.pyi +25 -0
  456. jaclang/vendor/mypy/typeshed/stdlib/_csv.pyi +90 -0
  457. jaclang/vendor/mypy/typeshed/stdlib/_ctypes.pyi +207 -0
  458. jaclang/vendor/mypy/typeshed/stdlib/_curses.pyi +566 -0
  459. jaclang/vendor/mypy/typeshed/stdlib/_decimal.pyi +281 -0
  460. jaclang/vendor/mypy/typeshed/stdlib/_dummy_thread.pyi +33 -0
  461. jaclang/vendor/mypy/typeshed/stdlib/_dummy_threading.pyi +164 -0
  462. jaclang/vendor/mypy/typeshed/stdlib/_heapq.pyi +11 -0
  463. jaclang/vendor/mypy/typeshed/stdlib/_imp.pyi +28 -0
  464. jaclang/vendor/mypy/typeshed/stdlib/_json.pyi +49 -0
  465. jaclang/vendor/mypy/typeshed/stdlib/_locale.pyi +100 -0
  466. jaclang/vendor/mypy/typeshed/stdlib/_lsprof.pyi +35 -0
  467. jaclang/vendor/mypy/typeshed/stdlib/_markupbase.pyi +16 -0
  468. jaclang/vendor/mypy/typeshed/stdlib/_msi.pyi +92 -0
  469. jaclang/vendor/mypy/typeshed/stdlib/_operator.pyi +147 -0
  470. jaclang/vendor/mypy/typeshed/stdlib/_osx_support.pyi +34 -0
  471. jaclang/vendor/mypy/typeshed/stdlib/_posixsubprocess.pyi +33 -0
  472. jaclang/vendor/mypy/typeshed/stdlib/_py_abc.pyi +14 -0
  473. jaclang/vendor/mypy/typeshed/stdlib/_pydecimal.pyi +43 -0
  474. jaclang/vendor/mypy/typeshed/stdlib/_random.pyi +12 -0
  475. jaclang/vendor/mypy/typeshed/stdlib/_sitebuiltins.pyi +16 -0
  476. jaclang/vendor/mypy/typeshed/stdlib/_socket.pyi +803 -0
  477. jaclang/vendor/mypy/typeshed/stdlib/_stat.pyi +103 -0
  478. jaclang/vendor/mypy/typeshed/stdlib/_thread.pyi +59 -0
  479. jaclang/vendor/mypy/typeshed/stdlib/_threading_local.pyi +17 -0
  480. jaclang/vendor/mypy/typeshed/stdlib/_tkinter.pyi +121 -0
  481. jaclang/vendor/mypy/typeshed/stdlib/_tracemalloc.pyi +17 -0
  482. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/__init__.pyi +347 -0
  483. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/dbapi.pyi +37 -0
  484. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/wsgi.pyi +44 -0
  485. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/xml.pyi +9 -0
  486. jaclang/vendor/mypy/typeshed/stdlib/_warnings.pyi +55 -0
  487. jaclang/vendor/mypy/typeshed/stdlib/_weakref.pyi +41 -0
  488. jaclang/vendor/mypy/typeshed/stdlib/_weakrefset.pyi +51 -0
  489. jaclang/vendor/mypy/typeshed/stdlib/_winapi.pyi +255 -0
  490. jaclang/vendor/mypy/typeshed/stdlib/abc.pyi +51 -0
  491. jaclang/vendor/mypy/typeshed/stdlib/aifc.pyi +91 -0
  492. jaclang/vendor/mypy/typeshed/stdlib/antigravity.pyi +3 -0
  493. jaclang/vendor/mypy/typeshed/stdlib/argparse.pyi +595 -0
  494. jaclang/vendor/mypy/typeshed/stdlib/array.pyi +92 -0
  495. jaclang/vendor/mypy/typeshed/stdlib/ast.pyi +277 -0
  496. jaclang/vendor/mypy/typeshed/stdlib/asynchat.pyi +21 -0
  497. jaclang/vendor/mypy/typeshed/stdlib/asyncio/__init__.pyi +41 -0
  498. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_events.pyi +440 -0
  499. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_futures.pyi +19 -0
  500. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_subprocess.pyi +63 -0
  501. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_tasks.pyi +9 -0
  502. jaclang/vendor/mypy/typeshed/stdlib/asyncio/constants.pyi +20 -0
  503. jaclang/vendor/mypy/typeshed/stdlib/asyncio/coroutines.pyi +26 -0
  504. jaclang/vendor/mypy/typeshed/stdlib/asyncio/events.pyi +580 -0
  505. jaclang/vendor/mypy/typeshed/stdlib/asyncio/exceptions.pyi +43 -0
  506. jaclang/vendor/mypy/typeshed/stdlib/asyncio/format_helpers.pyi +20 -0
  507. jaclang/vendor/mypy/typeshed/stdlib/asyncio/futures.pyi +57 -0
  508. jaclang/vendor/mypy/typeshed/stdlib/asyncio/locks.pyi +121 -0
  509. jaclang/vendor/mypy/typeshed/stdlib/asyncio/log.pyi +3 -0
  510. jaclang/vendor/mypy/typeshed/stdlib/asyncio/mixins.pyi +9 -0
  511. jaclang/vendor/mypy/typeshed/stdlib/asyncio/proactor_events.pyi +64 -0
  512. jaclang/vendor/mypy/typeshed/stdlib/asyncio/protocols.pyi +34 -0
  513. jaclang/vendor/mypy/typeshed/stdlib/asyncio/queues.pyi +47 -0
  514. jaclang/vendor/mypy/typeshed/stdlib/asyncio/runners.pyi +32 -0
  515. jaclang/vendor/mypy/typeshed/stdlib/asyncio/selector_events.pyi +8 -0
  516. jaclang/vendor/mypy/typeshed/stdlib/asyncio/sslproto.pyi +165 -0
  517. jaclang/vendor/mypy/typeshed/stdlib/asyncio/staggered.pyi +10 -0
  518. jaclang/vendor/mypy/typeshed/stdlib/asyncio/streams.pyi +153 -0
  519. jaclang/vendor/mypy/typeshed/stdlib/asyncio/subprocess.pyi +229 -0
  520. jaclang/vendor/mypy/typeshed/stdlib/asyncio/taskgroups.pyi +25 -0
  521. jaclang/vendor/mypy/typeshed/stdlib/asyncio/tasks.pyi +497 -0
  522. jaclang/vendor/mypy/typeshed/stdlib/asyncio/threads.pyi +9 -0
  523. jaclang/vendor/mypy/typeshed/stdlib/asyncio/timeouts.pyi +19 -0
  524. jaclang/vendor/mypy/typeshed/stdlib/asyncio/transports.pyi +47 -0
  525. jaclang/vendor/mypy/typeshed/stdlib/asyncio/trsock.pyi +94 -0
  526. jaclang/vendor/mypy/typeshed/stdlib/asyncio/unix_events.pyi +196 -0
  527. jaclang/vendor/mypy/typeshed/stdlib/asyncio/windows_events.pyi +85 -0
  528. jaclang/vendor/mypy/typeshed/stdlib/asyncio/windows_utils.pyi +49 -0
  529. jaclang/vendor/mypy/typeshed/stdlib/asyncore.pyi +90 -0
  530. jaclang/vendor/mypy/typeshed/stdlib/atexit.pyi +12 -0
  531. jaclang/vendor/mypy/typeshed/stdlib/audioop.pyi +43 -0
  532. jaclang/vendor/mypy/typeshed/stdlib/base64.pyi +59 -0
  533. jaclang/vendor/mypy/typeshed/stdlib/bdb.pyi +102 -0
  534. jaclang/vendor/mypy/typeshed/stdlib/binascii.pyi +36 -0
  535. jaclang/vendor/mypy/typeshed/stdlib/binhex.pyi +45 -0
  536. jaclang/vendor/mypy/typeshed/stdlib/bisect.pyi +4 -0
  537. jaclang/vendor/mypy/typeshed/stdlib/builtins.pyi +1936 -0
  538. jaclang/vendor/mypy/typeshed/stdlib/bz2.pyi +146 -0
  539. jaclang/vendor/mypy/typeshed/stdlib/cProfile.pyi +31 -0
  540. jaclang/vendor/mypy/typeshed/stdlib/calendar.pyi +208 -0
  541. jaclang/vendor/mypy/typeshed/stdlib/cgi.pyi +118 -0
  542. jaclang/vendor/mypy/typeshed/stdlib/cgitb.pyi +32 -0
  543. jaclang/vendor/mypy/typeshed/stdlib/chunk.pyi +20 -0
  544. jaclang/vendor/mypy/typeshed/stdlib/cmath.pyi +36 -0
  545. jaclang/vendor/mypy/typeshed/stdlib/cmd.pyi +45 -0
  546. jaclang/vendor/mypy/typeshed/stdlib/code.pyi +33 -0
  547. jaclang/vendor/mypy/typeshed/stdlib/codecs.pyi +285 -0
  548. jaclang/vendor/mypy/typeshed/stdlib/codeop.pyi +13 -0
  549. jaclang/vendor/mypy/typeshed/stdlib/collections/__init__.pyi +485 -0
  550. jaclang/vendor/mypy/typeshed/stdlib/collections/abc.pyi +2 -0
  551. jaclang/vendor/mypy/typeshed/stdlib/colorsys.pyi +13 -0
  552. jaclang/vendor/mypy/typeshed/stdlib/compileall.pyi +111 -0
  553. jaclang/vendor/mypy/typeshed/stdlib/concurrent/__init__.pyi +0 -0
  554. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/__init__.pyi +32 -0
  555. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/_base.pyi +126 -0
  556. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/process.pyi +233 -0
  557. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/thread.pyi +80 -0
  558. jaclang/vendor/mypy/typeshed/stdlib/configparser.pyi +313 -0
  559. jaclang/vendor/mypy/typeshed/stdlib/contextlib.pyi +208 -0
  560. jaclang/vendor/mypy/typeshed/stdlib/contextvars.pyi +63 -0
  561. jaclang/vendor/mypy/typeshed/stdlib/copy.pyi +16 -0
  562. jaclang/vendor/mypy/typeshed/stdlib/copyreg.pyi +21 -0
  563. jaclang/vendor/mypy/typeshed/stdlib/crypt.pyi +12 -0
  564. jaclang/vendor/mypy/typeshed/stdlib/csv.pyi +147 -0
  565. jaclang/vendor/mypy/typeshed/stdlib/ctypes/__init__.pyi +187 -0
  566. jaclang/vendor/mypy/typeshed/stdlib/ctypes/_endian.pyi +19 -0
  567. jaclang/vendor/mypy/typeshed/stdlib/ctypes/util.pyi +6 -0
  568. jaclang/vendor/mypy/typeshed/stdlib/ctypes/wintypes.pyi +298 -0
  569. jaclang/vendor/mypy/typeshed/stdlib/curses/__init__.pyi +22 -0
  570. jaclang/vendor/mypy/typeshed/stdlib/curses/ascii.pyi +62 -0
  571. jaclang/vendor/mypy/typeshed/stdlib/curses/has_key.pyi +1 -0
  572. jaclang/vendor/mypy/typeshed/stdlib/curses/panel.pyi +22 -0
  573. jaclang/vendor/mypy/typeshed/stdlib/curses/textpad.pyi +11 -0
  574. jaclang/vendor/mypy/typeshed/stdlib/dataclasses.pyi +315 -0
  575. jaclang/vendor/mypy/typeshed/stdlib/datetime.pyi +295 -0
  576. jaclang/vendor/mypy/typeshed/stdlib/dbm/__init__.pyi +95 -0
  577. jaclang/vendor/mypy/typeshed/stdlib/dbm/dumb.pyi +31 -0
  578. jaclang/vendor/mypy/typeshed/stdlib/dbm/gnu.pyi +41 -0
  579. jaclang/vendor/mypy/typeshed/stdlib/dbm/ndbm.pyi +37 -0
  580. jaclang/vendor/mypy/typeshed/stdlib/decimal.pyi +2 -0
  581. jaclang/vendor/mypy/typeshed/stdlib/difflib.pyi +140 -0
  582. jaclang/vendor/mypy/typeshed/stdlib/dis.pyi +144 -0
  583. jaclang/vendor/mypy/typeshed/stdlib/distutils/__init__.pyi +5 -0
  584. jaclang/vendor/mypy/typeshed/stdlib/distutils/archive_util.pyi +20 -0
  585. jaclang/vendor/mypy/typeshed/stdlib/distutils/bcppcompiler.pyi +3 -0
  586. jaclang/vendor/mypy/typeshed/stdlib/distutils/ccompiler.pyi +152 -0
  587. jaclang/vendor/mypy/typeshed/stdlib/distutils/cmd.pyi +66 -0
  588. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/__init__.pyi +0 -0
  589. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist.pyi +25 -0
  590. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_dumb.pyi +21 -0
  591. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_msi.pyi +45 -0
  592. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_packager.pyi +0 -0
  593. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_rpm.pyi +52 -0
  594. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_wininst.pyi +16 -0
  595. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build.pyi +31 -0
  596. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_clib.pyi +27 -0
  597. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_ext.pyi +50 -0
  598. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_py.pyi +44 -0
  599. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_scripts.pyi +24 -0
  600. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/check.pyi +39 -0
  601. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/clean.pyi +17 -0
  602. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/config.pyi +83 -0
  603. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install.pyi +63 -0
  604. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_data.pyi +19 -0
  605. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_egg_info.pyi +18 -0
  606. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_headers.pyi +16 -0
  607. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_lib.pyi +25 -0
  608. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_scripts.pyi +18 -0
  609. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/register.pyi +18 -0
  610. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/sdist.pyi +42 -0
  611. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/upload.pyi +17 -0
  612. jaclang/vendor/mypy/typeshed/stdlib/distutils/config.pyi +17 -0
  613. jaclang/vendor/mypy/typeshed/stdlib/distutils/core.pyi +57 -0
  614. jaclang/vendor/mypy/typeshed/stdlib/distutils/cygwinccompiler.pyi +20 -0
  615. jaclang/vendor/mypy/typeshed/stdlib/distutils/debug.pyi +1 -0
  616. jaclang/vendor/mypy/typeshed/stdlib/distutils/dep_util.pyi +3 -0
  617. jaclang/vendor/mypy/typeshed/stdlib/distutils/dir_util.pyi +13 -0
  618. jaclang/vendor/mypy/typeshed/stdlib/distutils/dist.pyi +146 -0
  619. jaclang/vendor/mypy/typeshed/stdlib/distutils/errors.pyi +19 -0
  620. jaclang/vendor/mypy/typeshed/stdlib/distutils/extension.pyi +36 -0
  621. jaclang/vendor/mypy/typeshed/stdlib/distutils/fancy_getopt.pyi +34 -0
  622. jaclang/vendor/mypy/typeshed/stdlib/distutils/file_util.pyi +14 -0
  623. jaclang/vendor/mypy/typeshed/stdlib/distutils/filelist.pyi +50 -0
  624. jaclang/vendor/mypy/typeshed/stdlib/distutils/log.pyi +25 -0
  625. jaclang/vendor/mypy/typeshed/stdlib/distutils/msvccompiler.pyi +3 -0
  626. jaclang/vendor/mypy/typeshed/stdlib/distutils/spawn.pyi +2 -0
  627. jaclang/vendor/mypy/typeshed/stdlib/distutils/sysconfig.pyi +31 -0
  628. jaclang/vendor/mypy/typeshed/stdlib/distutils/text_file.pyi +21 -0
  629. jaclang/vendor/mypy/typeshed/stdlib/distutils/unixccompiler.pyi +3 -0
  630. jaclang/vendor/mypy/typeshed/stdlib/distutils/util.pyi +46 -0
  631. jaclang/vendor/mypy/typeshed/stdlib/distutils/version.pyi +36 -0
  632. jaclang/vendor/mypy/typeshed/stdlib/doctest.pyi +248 -0
  633. jaclang/vendor/mypy/typeshed/stdlib/dummy_threading.pyi +2 -0
  634. jaclang/vendor/mypy/typeshed/stdlib/email/__init__.pyi +29 -0
  635. jaclang/vendor/mypy/typeshed/stdlib/email/_header_value_parser.pyi +392 -0
  636. jaclang/vendor/mypy/typeshed/stdlib/email/_policybase.pyi +51 -0
  637. jaclang/vendor/mypy/typeshed/stdlib/email/base64mime.pyi +13 -0
  638. jaclang/vendor/mypy/typeshed/stdlib/email/charset.pyi +34 -0
  639. jaclang/vendor/mypy/typeshed/stdlib/email/contentmanager.pyi +11 -0
  640. jaclang/vendor/mypy/typeshed/stdlib/email/encoders.pyi +8 -0
  641. jaclang/vendor/mypy/typeshed/stdlib/email/errors.pyi +39 -0
  642. jaclang/vendor/mypy/typeshed/stdlib/email/feedparser.pyi +23 -0
  643. jaclang/vendor/mypy/typeshed/stdlib/email/generator.pyi +40 -0
  644. jaclang/vendor/mypy/typeshed/stdlib/email/header.pyi +31 -0
  645. jaclang/vendor/mypy/typeshed/stdlib/email/headerregistry.pyi +178 -0
  646. jaclang/vendor/mypy/typeshed/stdlib/email/iterators.pyi +12 -0
  647. jaclang/vendor/mypy/typeshed/stdlib/email/message.pyi +165 -0
  648. jaclang/vendor/mypy/typeshed/stdlib/email/mime/__init__.pyi +0 -0
  649. jaclang/vendor/mypy/typeshed/stdlib/email/mime/application.pyi +17 -0
  650. jaclang/vendor/mypy/typeshed/stdlib/email/mime/audio.pyi +17 -0
  651. jaclang/vendor/mypy/typeshed/stdlib/email/mime/base.pyi +8 -0
  652. jaclang/vendor/mypy/typeshed/stdlib/email/mime/image.pyi +17 -0
  653. jaclang/vendor/mypy/typeshed/stdlib/email/mime/message.pyi +8 -0
  654. jaclang/vendor/mypy/typeshed/stdlib/email/mime/multipart.pyi +18 -0
  655. jaclang/vendor/mypy/typeshed/stdlib/email/mime/nonmultipart.pyi +5 -0
  656. jaclang/vendor/mypy/typeshed/stdlib/email/mime/text.pyi +9 -0
  657. jaclang/vendor/mypy/typeshed/stdlib/email/parser.pyi +26 -0
  658. jaclang/vendor/mypy/typeshed/stdlib/email/policy.pyi +38 -0
  659. jaclang/vendor/mypy/typeshed/stdlib/email/quoprimime.pyi +28 -0
  660. jaclang/vendor/mypy/typeshed/stdlib/email/utils.pyi +70 -0
  661. jaclang/vendor/mypy/typeshed/stdlib/encodings/__init__.pyi +10 -0
  662. jaclang/vendor/mypy/typeshed/stdlib/encodings/utf_8.pyi +21 -0
  663. jaclang/vendor/mypy/typeshed/stdlib/encodings/utf_8_sig.pyi +22 -0
  664. jaclang/vendor/mypy/typeshed/stdlib/ensurepip/__init__.pyi +12 -0
  665. jaclang/vendor/mypy/typeshed/stdlib/enum.pyi +320 -0
  666. jaclang/vendor/mypy/typeshed/stdlib/errno.pyi +222 -0
  667. jaclang/vendor/mypy/typeshed/stdlib/faulthandler.pyi +13 -0
  668. jaclang/vendor/mypy/typeshed/stdlib/fcntl.pyi +127 -0
  669. jaclang/vendor/mypy/typeshed/stdlib/filecmp.pyi +57 -0
  670. jaclang/vendor/mypy/typeshed/stdlib/fileinput.pyi +213 -0
  671. jaclang/vendor/mypy/typeshed/stdlib/fnmatch.pyi +9 -0
  672. jaclang/vendor/mypy/typeshed/stdlib/formatter.pyi +88 -0
  673. jaclang/vendor/mypy/typeshed/stdlib/fractions.pyi +150 -0
  674. jaclang/vendor/mypy/typeshed/stdlib/ftplib.pyi +178 -0
  675. jaclang/vendor/mypy/typeshed/stdlib/functools.pyi +213 -0
  676. jaclang/vendor/mypy/typeshed/stdlib/gc.pyi +37 -0
  677. jaclang/vendor/mypy/typeshed/stdlib/genericpath.pyi +52 -0
  678. jaclang/vendor/mypy/typeshed/stdlib/getopt.pyi +11 -0
  679. jaclang/vendor/mypy/typeshed/stdlib/getpass.pyi +8 -0
  680. jaclang/vendor/mypy/typeshed/stdlib/gettext.pyi +169 -0
  681. jaclang/vendor/mypy/typeshed/stdlib/glob.pyi +42 -0
  682. jaclang/vendor/mypy/typeshed/stdlib/graphlib.pyi +28 -0
  683. jaclang/vendor/mypy/typeshed/stdlib/grp.pyi +22 -0
  684. jaclang/vendor/mypy/typeshed/stdlib/gzip.pyi +160 -0
  685. jaclang/vendor/mypy/typeshed/stdlib/hashlib.pyi +167 -0
  686. jaclang/vendor/mypy/typeshed/stdlib/heapq.pyi +17 -0
  687. jaclang/vendor/mypy/typeshed/stdlib/hmac.pyi +38 -0
  688. jaclang/vendor/mypy/typeshed/stdlib/html/__init__.pyi +6 -0
  689. jaclang/vendor/mypy/typeshed/stdlib/html/entities.pyi +6 -0
  690. jaclang/vendor/mypy/typeshed/stdlib/html/parser.pyi +34 -0
  691. jaclang/vendor/mypy/typeshed/stdlib/http/__init__.pyi +105 -0
  692. jaclang/vendor/mypy/typeshed/stdlib/http/client.pyi +259 -0
  693. jaclang/vendor/mypy/typeshed/stdlib/http/cookiejar.pyi +159 -0
  694. jaclang/vendor/mypy/typeshed/stdlib/http/cookies.pyi +60 -0
  695. jaclang/vendor/mypy/typeshed/stdlib/http/server.pyi +83 -0
  696. jaclang/vendor/mypy/typeshed/stdlib/imaplib.pyi +168 -0
  697. jaclang/vendor/mypy/typeshed/stdlib/imghdr.pyi +17 -0
  698. jaclang/vendor/mypy/typeshed/stdlib/imp.pyi +62 -0
  699. jaclang/vendor/mypy/typeshed/stdlib/importlib/__init__.pyi +24 -0
  700. jaclang/vendor/mypy/typeshed/stdlib/importlib/_abc.pyi +15 -0
  701. jaclang/vendor/mypy/typeshed/stdlib/importlib/abc.pyi +172 -0
  702. jaclang/vendor/mypy/typeshed/stdlib/importlib/machinery.pyi +179 -0
  703. jaclang/vendor/mypy/typeshed/stdlib/importlib/metadata/__init__.pyi +285 -0
  704. jaclang/vendor/mypy/typeshed/stdlib/importlib/metadata/_meta.pyi +49 -0
  705. jaclang/vendor/mypy/typeshed/stdlib/importlib/readers.pyi +68 -0
  706. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/__init__.pyi +46 -0
  707. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/abc.pyi +12 -0
  708. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/readers.pyi +14 -0
  709. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/simple.pyi +56 -0
  710. jaclang/vendor/mypy/typeshed/stdlib/importlib/simple.pyi +11 -0
  711. jaclang/vendor/mypy/typeshed/stdlib/importlib/util.pyi +43 -0
  712. jaclang/vendor/mypy/typeshed/stdlib/inspect.pyi +632 -0
  713. jaclang/vendor/mypy/typeshed/stdlib/io.pyi +238 -0
  714. jaclang/vendor/mypy/typeshed/stdlib/ipaddress.pyi +208 -0
  715. jaclang/vendor/mypy/typeshed/stdlib/itertools.pyi +273 -0
  716. jaclang/vendor/mypy/typeshed/stdlib/json/__init__.pyi +61 -0
  717. jaclang/vendor/mypy/typeshed/stdlib/json/decoder.pyi +32 -0
  718. jaclang/vendor/mypy/typeshed/stdlib/json/encoder.pyi +40 -0
  719. jaclang/vendor/mypy/typeshed/stdlib/json/tool.pyi +1 -0
  720. jaclang/vendor/mypy/typeshed/stdlib/keyword.pyi +21 -0
  721. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/__init__.pyi +0 -0
  722. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/btm_matcher.pyi +28 -0
  723. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixer_base.pyi +42 -0
  724. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/__init__.pyi +0 -0
  725. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_apply.pyi +8 -0
  726. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_asserts.pyi +10 -0
  727. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_basestring.pyi +8 -0
  728. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_buffer.pyi +8 -0
  729. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_dict.pyi +16 -0
  730. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_except.pyi +14 -0
  731. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exec.pyi +8 -0
  732. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_execfile.pyi +8 -0
  733. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi +13 -0
  734. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_filter.pyi +9 -0
  735. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_funcattrs.pyi +8 -0
  736. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_future.pyi +8 -0
  737. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_getcwdu.pyi +8 -0
  738. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_has_key.pyi +8 -0
  739. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_idioms.pyi +15 -0
  740. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_import.pyi +16 -0
  741. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports.pyi +21 -0
  742. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports2.pyi +6 -0
  743. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_input.pyi +11 -0
  744. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_intern.pyi +9 -0
  745. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_isinstance.pyi +8 -0
  746. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools.pyi +9 -0
  747. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools_imports.pyi +7 -0
  748. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_long.pyi +7 -0
  749. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_map.pyi +9 -0
  750. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_metaclass.pyi +17 -0
  751. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_methodattrs.pyi +10 -0
  752. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ne.pyi +8 -0
  753. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_next.pyi +19 -0
  754. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_nonzero.pyi +8 -0
  755. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_numliterals.pyi +8 -0
  756. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_operator.pyi +12 -0
  757. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_paren.pyi +8 -0
  758. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_print.pyi +12 -0
  759. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raise.pyi +8 -0
  760. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raw_input.pyi +8 -0
  761. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reduce.pyi +8 -0
  762. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reload.pyi +9 -0
  763. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_renames.pyi +17 -0
  764. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_repr.pyi +8 -0
  765. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_set_literal.pyi +7 -0
  766. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_standarderror.pyi +8 -0
  767. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_sys_exc.pyi +9 -0
  768. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_throw.pyi +8 -0
  769. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_tuple_params.pyi +17 -0
  770. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_types.pyi +8 -0
  771. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_unicode.pyi +12 -0
  772. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_urllib.pyi +15 -0
  773. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ws_comma.pyi +12 -0
  774. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xrange.pyi +20 -0
  775. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xreadlines.pyi +8 -0
  776. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_zip.pyi +9 -0
  777. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/main.pyi +42 -0
  778. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/__init__.pyi +9 -0
  779. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/driver.pyi +27 -0
  780. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/grammar.pyi +24 -0
  781. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/literals.pyi +7 -0
  782. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/parse.pyi +30 -0
  783. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/pgen.pyi +50 -0
  784. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/token.pyi +67 -0
  785. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/tokenize.pyi +96 -0
  786. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pygram.pyi +114 -0
  787. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pytree.pyi +117 -0
  788. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/refactor.pyi +82 -0
  789. jaclang/vendor/mypy/typeshed/stdlib/linecache.pyi +23 -0
  790. jaclang/vendor/mypy/typeshed/stdlib/locale.pyi +152 -0
  791. jaclang/vendor/mypy/typeshed/stdlib/logging/__init__.pyi +658 -0
  792. jaclang/vendor/mypy/typeshed/stdlib/logging/config.pyi +134 -0
  793. jaclang/vendor/mypy/typeshed/stdlib/logging/handlers.pyi +275 -0
  794. jaclang/vendor/mypy/typeshed/stdlib/lzma.pyi +197 -0
  795. jaclang/vendor/mypy/typeshed/stdlib/mailbox.pyi +256 -0
  796. jaclang/vendor/mypy/typeshed/stdlib/mailcap.pyi +11 -0
  797. jaclang/vendor/mypy/typeshed/stdlib/marshal.pyi +33 -0
  798. jaclang/vendor/mypy/typeshed/stdlib/math.pyi +125 -0
  799. jaclang/vendor/mypy/typeshed/stdlib/mimetypes.pyi +46 -0
  800. jaclang/vendor/mypy/typeshed/stdlib/mmap.pyi +113 -0
  801. jaclang/vendor/mypy/typeshed/stdlib/modulefinder.pyi +66 -0
  802. jaclang/vendor/mypy/typeshed/stdlib/msilib/__init__.pyi +177 -0
  803. jaclang/vendor/mypy/typeshed/stdlib/msilib/schema.pyi +94 -0
  804. jaclang/vendor/mypy/typeshed/stdlib/msilib/sequence.pyi +13 -0
  805. jaclang/vendor/mypy/typeshed/stdlib/msilib/text.pyi +7 -0
  806. jaclang/vendor/mypy/typeshed/stdlib/msvcrt.pyi +32 -0
  807. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/__init__.pyi +90 -0
  808. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/connection.pyi +75 -0
  809. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/context.pyi +189 -0
  810. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/dummy/__init__.pyi +77 -0
  811. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/dummy/connection.pyi +39 -0
  812. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/forkserver.pyi +31 -0
  813. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/heap.pyi +36 -0
  814. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/managers.pyi +212 -0
  815. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/pool.pyi +103 -0
  816. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_fork.pyi +23 -0
  817. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_forkserver.pyi +16 -0
  818. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_posix.pyi +20 -0
  819. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_win32.pyi +30 -0
  820. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/process.pyi +39 -0
  821. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/queues.pyi +41 -0
  822. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/reduction.pyi +90 -0
  823. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/resource_sharer.pyi +20 -0
  824. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/resource_tracker.pyi +18 -0
  825. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/shared_memory.pyi +40 -0
  826. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/sharedctypes.pyi +107 -0
  827. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/spawn.pyi +32 -0
  828. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/synchronize.pyi +54 -0
  829. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/util.pyi +98 -0
  830. jaclang/vendor/mypy/typeshed/stdlib/netrc.pyi +23 -0
  831. jaclang/vendor/mypy/typeshed/stdlib/nis.pyi +9 -0
  832. jaclang/vendor/mypy/typeshed/stdlib/nntplib.pyi +125 -0
  833. jaclang/vendor/mypy/typeshed/stdlib/nt.pyi +111 -0
  834. jaclang/vendor/mypy/typeshed/stdlib/ntpath.pyi +119 -0
  835. jaclang/vendor/mypy/typeshed/stdlib/nturl2path.pyi +2 -0
  836. jaclang/vendor/mypy/typeshed/stdlib/numbers.pyi +209 -0
  837. jaclang/vendor/mypy/typeshed/stdlib/opcode.pyi +59 -0
  838. jaclang/vendor/mypy/typeshed/stdlib/operator.pyi +110 -0
  839. jaclang/vendor/mypy/typeshed/stdlib/optparse.pyi +255 -0
  840. jaclang/vendor/mypy/typeshed/stdlib/os/__init__.pyi +1157 -0
  841. jaclang/vendor/mypy/typeshed/stdlib/os/path.pyi +8 -0
  842. jaclang/vendor/mypy/typeshed/stdlib/ossaudiodev.pyi +131 -0
  843. jaclang/vendor/mypy/typeshed/stdlib/parser.pyi +24 -0
  844. jaclang/vendor/mypy/typeshed/stdlib/pathlib.pyi +232 -0
  845. jaclang/vendor/mypy/typeshed/stdlib/pdb.pyi +181 -0
  846. jaclang/vendor/mypy/typeshed/stdlib/pickle.pyi +271 -0
  847. jaclang/vendor/mypy/typeshed/stdlib/pickletools.pyi +167 -0
  848. jaclang/vendor/mypy/typeshed/stdlib/pipes.pyi +16 -0
  849. jaclang/vendor/mypy/typeshed/stdlib/pkgutil.pyi +53 -0
  850. jaclang/vendor/mypy/typeshed/stdlib/platform.pyi +42 -0
  851. jaclang/vendor/mypy/typeshed/stdlib/plistlib.pyi +113 -0
  852. jaclang/vendor/mypy/typeshed/stdlib/poplib.pyi +71 -0
  853. jaclang/vendor/mypy/typeshed/stdlib/posix.pyi +361 -0
  854. jaclang/vendor/mypy/typeshed/stdlib/posixpath.pyi +161 -0
  855. jaclang/vendor/mypy/typeshed/stdlib/pprint.pyi +112 -0
  856. jaclang/vendor/mypy/typeshed/stdlib/profile.pyi +31 -0
  857. jaclang/vendor/mypy/typeshed/stdlib/pstats.pyi +80 -0
  858. jaclang/vendor/mypy/typeshed/stdlib/pty.pyi +19 -0
  859. jaclang/vendor/mypy/typeshed/stdlib/pwd.pyi +28 -0
  860. jaclang/vendor/mypy/typeshed/stdlib/py_compile.pyi +34 -0
  861. jaclang/vendor/mypy/typeshed/stdlib/pyclbr.pyi +74 -0
  862. jaclang/vendor/mypy/typeshed/stdlib/pydoc.pyi +261 -0
  863. jaclang/vendor/mypy/typeshed/stdlib/pydoc_data/__init__.pyi +0 -0
  864. jaclang/vendor/mypy/typeshed/stdlib/pydoc_data/topics.pyi +1 -0
  865. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/__init__.pyi +85 -0
  866. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/errors.pyi +49 -0
  867. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/model.pyi +11 -0
  868. jaclang/vendor/mypy/typeshed/stdlib/queue.pyi +66 -0
  869. jaclang/vendor/mypy/typeshed/stdlib/quopri.pyi +11 -0
  870. jaclang/vendor/mypy/typeshed/stdlib/random.pyi +138 -0
  871. jaclang/vendor/mypy/typeshed/stdlib/re.pyi +290 -0
  872. jaclang/vendor/mypy/typeshed/stdlib/readline.pyi +36 -0
  873. jaclang/vendor/mypy/typeshed/stdlib/reprlib.pyi +65 -0
  874. jaclang/vendor/mypy/typeshed/stdlib/resource.pyi +94 -0
  875. jaclang/vendor/mypy/typeshed/stdlib/rlcompleter.pyi +9 -0
  876. jaclang/vendor/mypy/typeshed/stdlib/runpy.pyi +24 -0
  877. jaclang/vendor/mypy/typeshed/stdlib/sched.pyi +42 -0
  878. jaclang/vendor/mypy/typeshed/stdlib/secrets.pyi +15 -0
  879. jaclang/vendor/mypy/typeshed/stdlib/select.pyi +155 -0
  880. jaclang/vendor/mypy/typeshed/stdlib/selectors.pyi +67 -0
  881. jaclang/vendor/mypy/typeshed/stdlib/shelve.pyi +46 -0
  882. jaclang/vendor/mypy/typeshed/stdlib/shlex.pyi +63 -0
  883. jaclang/vendor/mypy/typeshed/stdlib/shutil.pyi +185 -0
  884. jaclang/vendor/mypy/typeshed/stdlib/signal.pyi +188 -0
  885. jaclang/vendor/mypy/typeshed/stdlib/site.pyi +27 -0
  886. jaclang/vendor/mypy/typeshed/stdlib/smtpd.pyi +91 -0
  887. jaclang/vendor/mypy/typeshed/stdlib/smtplib.pyi +204 -0
  888. jaclang/vendor/mypy/typeshed/stdlib/sndhdr.pyi +14 -0
  889. jaclang/vendor/mypy/typeshed/stdlib/socket.pyi +825 -0
  890. jaclang/vendor/mypy/typeshed/stdlib/socketserver.pyi +168 -0
  891. jaclang/vendor/mypy/typeshed/stdlib/spwd.pyi +41 -0
  892. jaclang/vendor/mypy/typeshed/stdlib/sqlite3/__init__.pyi +1 -0
  893. jaclang/vendor/mypy/typeshed/stdlib/sqlite3/dbapi2.pyi +551 -0
  894. jaclang/vendor/mypy/typeshed/stdlib/sre_compile.pyi +11 -0
  895. jaclang/vendor/mypy/typeshed/stdlib/sre_constants.pyi +130 -0
  896. jaclang/vendor/mypy/typeshed/stdlib/sre_parse.pyi +104 -0
  897. jaclang/vendor/mypy/typeshed/stdlib/ssl.pyi +537 -0
  898. jaclang/vendor/mypy/typeshed/stdlib/stat.pyi +1 -0
  899. jaclang/vendor/mypy/typeshed/stdlib/statistics.pyi +132 -0
  900. jaclang/vendor/mypy/typeshed/stdlib/string.pyi +83 -0
  901. jaclang/vendor/mypy/typeshed/stdlib/stringprep.pyi +27 -0
  902. jaclang/vendor/mypy/typeshed/stdlib/struct.pyi +26 -0
  903. jaclang/vendor/mypy/typeshed/stdlib/subprocess.pyi +2615 -0
  904. jaclang/vendor/mypy/typeshed/stdlib/sunau.pyi +86 -0
  905. jaclang/vendor/mypy/typeshed/stdlib/symbol.pyi +93 -0
  906. jaclang/vendor/mypy/typeshed/stdlib/symtable.pyi +58 -0
  907. jaclang/vendor/mypy/typeshed/stdlib/sys/__init__.pyi +373 -0
  908. jaclang/vendor/mypy/typeshed/stdlib/sys/_monitoring.pyi +52 -0
  909. jaclang/vendor/mypy/typeshed/stdlib/sysconfig.pyi +48 -0
  910. jaclang/vendor/mypy/typeshed/stdlib/syslog.pyi +46 -0
  911. jaclang/vendor/mypy/typeshed/stdlib/tabnanny.pyi +16 -0
  912. jaclang/vendor/mypy/typeshed/stdlib/tarfile.pyi +441 -0
  913. jaclang/vendor/mypy/typeshed/stdlib/telnetlib.pyi +122 -0
  914. jaclang/vendor/mypy/typeshed/stdlib/tempfile.pyi +477 -0
  915. jaclang/vendor/mypy/typeshed/stdlib/termios.pyi +267 -0
  916. jaclang/vendor/mypy/typeshed/stdlib/textwrap.pyi +103 -0
  917. jaclang/vendor/mypy/typeshed/stdlib/this.pyi +2 -0
  918. jaclang/vendor/mypy/typeshed/stdlib/threading.pyi +187 -0
  919. jaclang/vendor/mypy/typeshed/stdlib/time.pyi +108 -0
  920. jaclang/vendor/mypy/typeshed/stdlib/timeit.pyi +32 -0
  921. jaclang/vendor/mypy/typeshed/stdlib/tkinter/__init__.pyi +3654 -0
  922. jaclang/vendor/mypy/typeshed/stdlib/tkinter/colorchooser.pyi +20 -0
  923. jaclang/vendor/mypy/typeshed/stdlib/tkinter/commondialog.pyi +14 -0
  924. jaclang/vendor/mypy/typeshed/stdlib/tkinter/constants.pyi +80 -0
  925. jaclang/vendor/mypy/typeshed/stdlib/tkinter/dialog.pyi +16 -0
  926. jaclang/vendor/mypy/typeshed/stdlib/tkinter/dnd.pyi +20 -0
  927. jaclang/vendor/mypy/typeshed/stdlib/tkinter/filedialog.pyi +151 -0
  928. jaclang/vendor/mypy/typeshed/stdlib/tkinter/font.pyi +116 -0
  929. jaclang/vendor/mypy/typeshed/stdlib/tkinter/messagebox.pyi +44 -0
  930. jaclang/vendor/mypy/typeshed/stdlib/tkinter/scrolledtext.pyi +9 -0
  931. jaclang/vendor/mypy/typeshed/stdlib/tkinter/simpledialog.pyi +54 -0
  932. jaclang/vendor/mypy/typeshed/stdlib/tkinter/tix.pyi +299 -0
  933. jaclang/vendor/mypy/typeshed/stdlib/tkinter/ttk.pyi +1204 -0
  934. jaclang/vendor/mypy/typeshed/stdlib/token.pyi +159 -0
  935. jaclang/vendor/mypy/typeshed/stdlib/tokenize.pyi +177 -0
  936. jaclang/vendor/mypy/typeshed/stdlib/tomllib.pyi +10 -0
  937. jaclang/vendor/mypy/typeshed/stdlib/trace.pyi +79 -0
  938. jaclang/vendor/mypy/typeshed/stdlib/traceback.pyi +262 -0
  939. jaclang/vendor/mypy/typeshed/stdlib/tracemalloc.pyi +124 -0
  940. jaclang/vendor/mypy/typeshed/stdlib/tty.pyi +30 -0
  941. jaclang/vendor/mypy/typeshed/stdlib/turtle.pyi +713 -0
  942. jaclang/vendor/mypy/typeshed/stdlib/types.pyi +614 -0
  943. jaclang/vendor/mypy/typeshed/stdlib/typing.pyi +976 -0
  944. jaclang/vendor/mypy/typeshed/stdlib/typing_extensions.pyi +509 -0
  945. jaclang/vendor/mypy/typeshed/stdlib/unicodedata.pyi +73 -0
  946. jaclang/vendor/mypy/typeshed/stdlib/unittest/__init__.pyi +67 -0
  947. jaclang/vendor/mypy/typeshed/stdlib/unittest/_log.pyi +27 -0
  948. jaclang/vendor/mypy/typeshed/stdlib/unittest/async_case.pyi +21 -0
  949. jaclang/vendor/mypy/typeshed/stdlib/unittest/case.pyi +342 -0
  950. jaclang/vendor/mypy/typeshed/stdlib/unittest/loader.pyi +51 -0
  951. jaclang/vendor/mypy/typeshed/stdlib/unittest/main.pyi +69 -0
  952. jaclang/vendor/mypy/typeshed/stdlib/unittest/mock.pyi +430 -0
  953. jaclang/vendor/mypy/typeshed/stdlib/unittest/result.pyi +47 -0
  954. jaclang/vendor/mypy/typeshed/stdlib/unittest/runner.pyi +72 -0
  955. jaclang/vendor/mypy/typeshed/stdlib/unittest/signals.pyi +15 -0
  956. jaclang/vendor/mypy/typeshed/stdlib/unittest/suite.pyi +22 -0
  957. jaclang/vendor/mypy/typeshed/stdlib/unittest/util.pyi +23 -0
  958. jaclang/vendor/mypy/typeshed/stdlib/urllib/__init__.pyi +0 -0
  959. jaclang/vendor/mypy/typeshed/stdlib/urllib/error.pyi +23 -0
  960. jaclang/vendor/mypy/typeshed/stdlib/urllib/parse.pyi +210 -0
  961. jaclang/vendor/mypy/typeshed/stdlib/urllib/request.pyi +400 -0
  962. jaclang/vendor/mypy/typeshed/stdlib/urllib/response.pyi +43 -0
  963. jaclang/vendor/mypy/typeshed/stdlib/urllib/robotparser.pyi +20 -0
  964. jaclang/vendor/mypy/typeshed/stdlib/uu.pyi +13 -0
  965. jaclang/vendor/mypy/typeshed/stdlib/uuid.pyi +100 -0
  966. jaclang/vendor/mypy/typeshed/stdlib/warnings.pyi +112 -0
  967. jaclang/vendor/mypy/typeshed/stdlib/wave.pyi +85 -0
  968. jaclang/vendor/mypy/typeshed/stdlib/weakref.pyi +149 -0
  969. jaclang/vendor/mypy/typeshed/stdlib/webbrowser.pyi +74 -0
  970. jaclang/vendor/mypy/typeshed/stdlib/winreg.pyi +132 -0
  971. jaclang/vendor/mypy/typeshed/stdlib/winsound.pyi +28 -0
  972. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/__init__.pyi +0 -0
  973. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/handlers.pyi +91 -0
  974. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/headers.pyi +26 -0
  975. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/simple_server.pyi +37 -0
  976. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/types.pyi +32 -0
  977. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/util.pyi +24 -0
  978. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/validate.pyi +50 -0
  979. jaclang/vendor/mypy/typeshed/stdlib/xdrlib.pyi +57 -0
  980. jaclang/vendor/mypy/typeshed/stdlib/xml/__init__.pyi +1 -0
  981. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/NodeFilter.pyi +19 -0
  982. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/__init__.pyi +69 -0
  983. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/domreg.pyi +8 -0
  984. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/expatbuilder.pyi +100 -0
  985. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/minicompat.pyi +22 -0
  986. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/minidom.pyi +404 -0
  987. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/pulldom.pyi +94 -0
  988. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/xmlbuilder.pyi +108 -0
  989. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementInclude.pyi +28 -0
  990. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementPath.pyi +34 -0
  991. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementTree.pyi +327 -0
  992. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/__init__.pyi +0 -0
  993. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/cElementTree.pyi +1 -0
  994. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/__init__.pyi +1 -0
  995. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/__init__.pyi +1 -0
  996. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/errors.pyi +1 -0
  997. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/model.pyi +1 -0
  998. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/__init__.pyi +25 -0
  999. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/_exceptions.pyi +19 -0
  1000. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/handler.pyi +55 -0
  1001. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/saxutils.pyi +60 -0
  1002. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/xmlreader.pyi +87 -0
  1003. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/__init__.pyi +0 -0
  1004. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/client.pyi +296 -0
  1005. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/server.pyi +143 -0
  1006. jaclang/vendor/mypy/typeshed/stdlib/xxlimited.pyi +22 -0
  1007. jaclang/vendor/mypy/typeshed/stdlib/zipapp.pyi +20 -0
  1008. jaclang/vendor/mypy/typeshed/stdlib/zipfile/__init__.pyi +306 -0
  1009. jaclang/vendor/mypy/typeshed/stdlib/zipfile/_path.pyi +95 -0
  1010. jaclang/vendor/mypy/typeshed/stdlib/zipimport.pyi +32 -0
  1011. jaclang/vendor/mypy/typeshed/stdlib/zlib.pyi +56 -0
  1012. jaclang/vendor/mypy/typeshed/stdlib/zoneinfo/__init__.pyi +38 -0
  1013. jaclang/vendor/mypy/typeshed/stubs/mypy-extensions/mypy_extensions.pyi +218 -0
  1014. jaclang/vendor/mypy/typestate.py +5 -15
  1015. jaclang/vendor/mypy/typetraverser.py +9 -3
  1016. jaclang/vendor/mypy/typevars.py +2 -8
  1017. jaclang/vendor/mypy/util.py +14 -45
  1018. jaclang/vendor/mypy/version.py +1 -19
  1019. jaclang/vendor/mypy/visitor.py +3 -9
  1020. jaclang/vendor/mypy/xml/mypy-html.css +104 -0
  1021. jaclang/vendor/mypy/xml/mypy-html.xslt +81 -0
  1022. jaclang/vendor/mypy/xml/mypy-txt.xslt +100 -0
  1023. jaclang/vendor/mypy/xml/mypy.xsd +50 -0
  1024. jaclang/vendor/mypy-1.10.0.dist-info/LICENSE +229 -0
  1025. jaclang/vendor/mypy-1.10.0.dist-info/METADATA +48 -0
  1026. jaclang/vendor/mypy-1.10.0.dist-info/RECORD +1241 -0
  1027. jaclang/vendor/mypy-1.10.0.dist-info/WHEEL +6 -0
  1028. jaclang/vendor/mypy-1.10.0.dist-info/entry_points.txt +6 -0
  1029. jaclang/vendor/mypy-1.10.0.dist-info/top_level.txt +3 -0
  1030. jaclang/vendor/mypy_extensions-1.0.0.dist-info/LICENSE +27 -0
  1031. jaclang/vendor/mypy_extensions-1.0.0.dist-info/METADATA +29 -0
  1032. jaclang/vendor/mypy_extensions-1.0.0.dist-info/RECORD +6 -0
  1033. jaclang/vendor/mypy_extensions-1.0.0.dist-info/WHEEL +5 -0
  1034. jaclang/vendor/mypy_extensions-1.0.0.dist-info/top_level.txt +1 -0
  1035. jaclang/vendor/mypy_extensions.py +21 -40
  1036. jaclang/vendor/mypyc/README.md +133 -0
  1037. jaclang/vendor/mypyc/__main__.py +1 -3
  1038. jaclang/vendor/mypyc/analysis/attrdefined.py +6 -22
  1039. jaclang/vendor/mypyc/analysis/dataflow.py +5 -3
  1040. jaclang/vendor/mypyc/analysis/ircheck.py +13 -26
  1041. jaclang/vendor/mypyc/analysis/selfleaks.py +4 -0
  1042. jaclang/vendor/mypyc/build.py +6 -19
  1043. jaclang/vendor/mypyc/codegen/emit.py +20 -73
  1044. jaclang/vendor/mypyc/codegen/emitclass.py +22 -72
  1045. jaclang/vendor/mypyc/codegen/emitfunc.py +20 -62
  1046. jaclang/vendor/mypyc/codegen/emitmodule.py +50 -117
  1047. jaclang/vendor/mypyc/codegen/emitwrapper.py +22 -78
  1048. jaclang/vendor/mypyc/codegen/literals.py +1 -3
  1049. jaclang/vendor/mypyc/common.py +1 -3
  1050. jaclang/vendor/mypyc/doc/Makefile +20 -0
  1051. jaclang/vendor/mypyc/doc/bool_operations.rst +27 -0
  1052. jaclang/vendor/mypyc/doc/compilation_units.rst +20 -0
  1053. jaclang/vendor/mypyc/doc/conf.py +59 -0
  1054. jaclang/vendor/mypyc/doc/cpython-timings.md +25 -0
  1055. jaclang/vendor/mypyc/doc/dev-intro.md +548 -0
  1056. jaclang/vendor/mypyc/doc/dict_operations.rst +59 -0
  1057. jaclang/vendor/mypyc/doc/differences_from_python.rst +332 -0
  1058. jaclang/vendor/mypyc/doc/float_operations.rst +50 -0
  1059. jaclang/vendor/mypyc/doc/future.md +42 -0
  1060. jaclang/vendor/mypyc/doc/getting_started.rst +240 -0
  1061. jaclang/vendor/mypyc/doc/index.rst +61 -0
  1062. jaclang/vendor/mypyc/doc/int_operations.rst +162 -0
  1063. jaclang/vendor/mypyc/doc/introduction.rst +150 -0
  1064. jaclang/vendor/mypyc/doc/list_operations.rst +65 -0
  1065. jaclang/vendor/mypyc/doc/make.bat +35 -0
  1066. jaclang/vendor/mypyc/doc/native_classes.rst +206 -0
  1067. jaclang/vendor/mypyc/doc/native_operations.rst +55 -0
  1068. jaclang/vendor/mypyc/doc/performance_tips_and_tricks.rst +244 -0
  1069. jaclang/vendor/mypyc/doc/set_operations.rst +47 -0
  1070. jaclang/vendor/mypyc/doc/str_operations.rst +35 -0
  1071. jaclang/vendor/mypyc/doc/tuple_operations.rst +33 -0
  1072. jaclang/vendor/mypyc/doc/using_type_annotations.rst +398 -0
  1073. jaclang/vendor/mypyc/external/googletest/LICENSE +28 -0
  1074. jaclang/vendor/mypyc/external/googletest/README.md +280 -0
  1075. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-death-test.h +294 -0
  1076. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-message.h +250 -0
  1077. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-param-test.h +1444 -0
  1078. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-param-test.h.pump +510 -0
  1079. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-printers.h +993 -0
  1080. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-spi.h +232 -0
  1081. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-test-part.h +179 -0
  1082. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-typed-test.h +263 -0
  1083. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest.h +2236 -0
  1084. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest_pred_impl.h +358 -0
  1085. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest_prod.h +58 -0
  1086. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest-port.h +69 -0
  1087. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest-printers.h +42 -0
  1088. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest.h +41 -0
  1089. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-death-test-internal.h +319 -0
  1090. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-filepath.h +206 -0
  1091. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-internal.h +1238 -0
  1092. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-linked_ptr.h +243 -0
  1093. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h +5146 -0
  1094. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h.pump +286 -0
  1095. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util.h +731 -0
  1096. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-port-arch.h +93 -0
  1097. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-port.h +2560 -0
  1098. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-string.h +167 -0
  1099. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-tuple.h +1020 -0
  1100. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-tuple.h.pump +347 -0
  1101. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-type-util.h +3331 -0
  1102. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-type-util.h.pump +297 -0
  1103. jaclang/vendor/mypyc/external/googletest/make/Makefile +61 -0
  1104. jaclang/vendor/mypyc/external/googletest/src/gtest-all.cc +48 -0
  1105. jaclang/vendor/mypyc/external/googletest/src/gtest-death-test.cc +1342 -0
  1106. jaclang/vendor/mypyc/external/googletest/src/gtest-filepath.cc +387 -0
  1107. jaclang/vendor/mypyc/external/googletest/src/gtest-internal-inl.h +1183 -0
  1108. jaclang/vendor/mypyc/external/googletest/src/gtest-port.cc +1259 -0
  1109. jaclang/vendor/mypyc/external/googletest/src/gtest-printers.cc +373 -0
  1110. jaclang/vendor/mypyc/external/googletest/src/gtest-test-part.cc +110 -0
  1111. jaclang/vendor/mypyc/external/googletest/src/gtest-typed-test.cc +118 -0
  1112. jaclang/vendor/mypyc/external/googletest/src/gtest.cc +5388 -0
  1113. jaclang/vendor/mypyc/external/googletest/src/gtest_main.cc +38 -0
  1114. jaclang/vendor/mypyc/ir/class_ir.py +8 -24
  1115. jaclang/vendor/mypyc/ir/func_ir.py +3 -16
  1116. jaclang/vendor/mypyc/ir/module_ir.py +2 -6
  1117. jaclang/vendor/mypyc/ir/ops.py +103 -66
  1118. jaclang/vendor/mypyc/ir/pprint.py +35 -55
  1119. jaclang/vendor/mypyc/ir/rtypes.py +16 -48
  1120. jaclang/vendor/mypyc/irbuild/ast_helpers.py +4 -1
  1121. jaclang/vendor/mypyc/irbuild/builder.py +46 -148
  1122. jaclang/vendor/mypyc/irbuild/callable_class.py +5 -19
  1123. jaclang/vendor/mypyc/irbuild/classdef.py +27 -83
  1124. jaclang/vendor/mypyc/irbuild/env_class.py +3 -9
  1125. jaclang/vendor/mypyc/irbuild/expression.py +42 -100
  1126. jaclang/vendor/mypyc/irbuild/for_helpers.py +56 -105
  1127. jaclang/vendor/mypyc/irbuild/format_str_tokenizer.py +1 -4
  1128. jaclang/vendor/mypyc/irbuild/function.py +40 -132
  1129. jaclang/vendor/mypyc/irbuild/generator.py +14 -49
  1130. jaclang/vendor/mypyc/irbuild/ll_builder.py +197 -426
  1131. jaclang/vendor/mypyc/irbuild/mapper.py +2 -13
  1132. jaclang/vendor/mypyc/irbuild/match.py +11 -36
  1133. jaclang/vendor/mypyc/irbuild/nonlocalcontrol.py +2 -7
  1134. jaclang/vendor/mypyc/irbuild/prebuildvisitor.py +1 -4
  1135. jaclang/vendor/mypyc/irbuild/prepare.py +25 -83
  1136. jaclang/vendor/mypyc/irbuild/specialize.py +22 -72
  1137. jaclang/vendor/mypyc/irbuild/statement.py +30 -96
  1138. jaclang/vendor/mypyc/irbuild/targets.py +1 -3
  1139. jaclang/vendor/mypyc/irbuild/util.py +2 -8
  1140. jaclang/vendor/mypyc/irbuild/vtable.py +1 -3
  1141. jaclang/vendor/mypyc/lib-rt/CPy.h +638 -0
  1142. jaclang/vendor/mypyc/lib-rt/bytes_ops.c +143 -0
  1143. jaclang/vendor/mypyc/lib-rt/dict_ops.c +446 -0
  1144. jaclang/vendor/mypyc/lib-rt/exc_ops.c +259 -0
  1145. jaclang/vendor/mypyc/lib-rt/float_ops.c +192 -0
  1146. jaclang/vendor/mypyc/lib-rt/generic_ops.c +64 -0
  1147. jaclang/vendor/mypyc/lib-rt/getargs.c +450 -0
  1148. jaclang/vendor/mypyc/lib-rt/getargsfast.c +569 -0
  1149. jaclang/vendor/mypyc/lib-rt/init.c +13 -0
  1150. jaclang/vendor/mypyc/lib-rt/int_ops.c +803 -0
  1151. jaclang/vendor/mypyc/lib-rt/list_ops.c +335 -0
  1152. jaclang/vendor/mypyc/lib-rt/misc_ops.c +942 -0
  1153. jaclang/vendor/mypyc/lib-rt/module_shim.tmpl +18 -0
  1154. jaclang/vendor/mypyc/lib-rt/mypyc_util.h +118 -0
  1155. jaclang/vendor/mypyc/lib-rt/pythoncapi_compat.h +497 -0
  1156. jaclang/vendor/mypyc/lib-rt/pythonsupport.h +533 -0
  1157. jaclang/vendor/mypyc/lib-rt/set_ops.c +17 -0
  1158. jaclang/vendor/mypyc/lib-rt/setup.py +70 -0
  1159. jaclang/vendor/mypyc/lib-rt/str_ops.c +241 -0
  1160. jaclang/vendor/mypyc/lib-rt/test_capi.cc +585 -0
  1161. jaclang/vendor/mypyc/lib-rt/tuple_ops.c +61 -0
  1162. jaclang/vendor/mypyc/lower/__init__.py +0 -0
  1163. jaclang/vendor/mypyc/lower/int_ops.py +113 -0
  1164. jaclang/vendor/mypyc/lower/list_ops.py +45 -0
  1165. jaclang/vendor/mypyc/lower/misc_ops.py +12 -0
  1166. jaclang/vendor/mypyc/lower/registry.py +26 -0
  1167. jaclang/vendor/mypyc/options.py +1 -3
  1168. jaclang/vendor/mypyc/primitives/dict_ops.py +1 -4
  1169. jaclang/vendor/mypyc/primitives/exc_ops.py +3 -12
  1170. jaclang/vendor/mypyc/primitives/int_ops.py +22 -32
  1171. jaclang/vendor/mypyc/primitives/list_ops.py +10 -0
  1172. jaclang/vendor/mypyc/primitives/misc_ops.py +28 -22
  1173. jaclang/vendor/mypyc/primitives/registry.py +56 -19
  1174. jaclang/vendor/mypyc/primitives/set_ops.py +1 -3
  1175. jaclang/vendor/mypyc/rt_subtype.py +1 -2
  1176. jaclang/vendor/mypyc/sametype.py +2 -5
  1177. jaclang/vendor/mypyc/subtype.py +3 -12
  1178. jaclang/vendor/mypyc/test/test_alwaysdefined.py +2 -6
  1179. jaclang/vendor/mypyc/test/test_analysis.py +8 -24
  1180. jaclang/vendor/mypyc/test/test_cheader.py +12 -4
  1181. jaclang/vendor/mypyc/test/test_emit.py +4 -14
  1182. jaclang/vendor/mypyc/test/test_emitclass.py +1 -8
  1183. jaclang/vendor/mypyc/test/test_emitfunc.py +30 -77
  1184. jaclang/vendor/mypyc/test/test_emitwrapper.py +1 -3
  1185. jaclang/vendor/mypyc/test/test_exceptions.py +4 -12
  1186. jaclang/vendor/mypyc/test/test_external.py +1 -5
  1187. jaclang/vendor/mypyc/test/test_irbuild.py +2 -6
  1188. jaclang/vendor/mypyc/test/test_ircheck.py +6 -17
  1189. jaclang/vendor/mypyc/test/test_literals.py +1 -4
  1190. jaclang/vendor/mypyc/test/test_lowering.py +56 -0
  1191. jaclang/vendor/mypyc/test/test_namegen.py +1 -4
  1192. jaclang/vendor/mypyc/test/test_optimizations.py +68 -0
  1193. jaclang/vendor/mypyc/test/test_refcount.py +3 -9
  1194. jaclang/vendor/mypyc/test/test_run.py +12 -38
  1195. jaclang/vendor/mypyc/test/test_serialization.py +1 -3
  1196. jaclang/vendor/mypyc/test/test_struct.py +3 -11
  1197. jaclang/vendor/mypyc/test/test_tuplename.py +4 -13
  1198. jaclang/vendor/mypyc/test/test_typeops.py +1 -4
  1199. jaclang/vendor/mypyc/test/testutil.py +2 -6
  1200. jaclang/vendor/mypyc/test-data/alwaysdefined.test +732 -0
  1201. jaclang/vendor/mypyc/test-data/analysis.test +470 -0
  1202. jaclang/vendor/mypyc/test-data/commandline.test +245 -0
  1203. jaclang/vendor/mypyc/test-data/driver/driver.py +48 -0
  1204. jaclang/vendor/mypyc/test-data/exceptions-freq.test +125 -0
  1205. jaclang/vendor/mypyc/test-data/exceptions.test +699 -0
  1206. jaclang/vendor/mypyc/test-data/fixtures/ir.py +373 -0
  1207. jaclang/vendor/mypyc/test-data/fixtures/testutil.py +103 -0
  1208. jaclang/vendor/mypyc/test-data/fixtures/typing-full.pyi +169 -0
  1209. jaclang/vendor/mypyc/test-data/irbuild-any.test +236 -0
  1210. jaclang/vendor/mypyc/test-data/irbuild-basic.test +3399 -0
  1211. jaclang/vendor/mypyc/test-data/irbuild-bool.test +424 -0
  1212. jaclang/vendor/mypyc/test-data/irbuild-bytes.test +181 -0
  1213. jaclang/vendor/mypyc/test-data/irbuild-classes.test +1302 -0
  1214. jaclang/vendor/mypyc/test-data/irbuild-constant-fold.test +480 -0
  1215. jaclang/vendor/mypyc/test-data/irbuild-dict.test +584 -0
  1216. jaclang/vendor/mypyc/test-data/irbuild-dunders.test +215 -0
  1217. jaclang/vendor/mypyc/test-data/irbuild-float.test +497 -0
  1218. jaclang/vendor/mypyc/test-data/irbuild-generics.test +150 -0
  1219. jaclang/vendor/mypyc/test-data/irbuild-glue-methods.test +437 -0
  1220. jaclang/vendor/mypyc/test-data/irbuild-i16.test +526 -0
  1221. jaclang/vendor/mypyc/test-data/irbuild-i32.test +598 -0
  1222. jaclang/vendor/mypyc/test-data/irbuild-i64.test +2144 -0
  1223. jaclang/vendor/mypyc/test-data/irbuild-int.test +194 -0
  1224. jaclang/vendor/mypyc/test-data/irbuild-isinstance.test +109 -0
  1225. jaclang/vendor/mypyc/test-data/irbuild-lists.test +513 -0
  1226. jaclang/vendor/mypyc/test-data/irbuild-match.test +1717 -0
  1227. jaclang/vendor/mypyc/test-data/irbuild-math.test +64 -0
  1228. jaclang/vendor/mypyc/test-data/irbuild-nested.test +807 -0
  1229. jaclang/vendor/mypyc/test-data/irbuild-optional.test +536 -0
  1230. jaclang/vendor/mypyc/test-data/irbuild-set.test +806 -0
  1231. jaclang/vendor/mypyc/test-data/irbuild-singledispatch.test +257 -0
  1232. jaclang/vendor/mypyc/test-data/irbuild-statements.test +1060 -0
  1233. jaclang/vendor/mypyc/test-data/irbuild-str.test +312 -0
  1234. jaclang/vendor/mypyc/test-data/irbuild-strip-asserts.test +12 -0
  1235. jaclang/vendor/mypyc/test-data/irbuild-try.test +523 -0
  1236. jaclang/vendor/mypyc/test-data/irbuild-tuple.test +386 -0
  1237. jaclang/vendor/mypyc/test-data/irbuild-u8.test +543 -0
  1238. jaclang/vendor/mypyc/test-data/irbuild-unreachable.test +241 -0
  1239. jaclang/vendor/mypyc/test-data/irbuild-vectorcall.test +153 -0
  1240. jaclang/vendor/mypyc/test-data/lowering-int.test +377 -0
  1241. jaclang/vendor/mypyc/test-data/lowering-list.test +33 -0
  1242. jaclang/vendor/mypyc/test-data/opt-copy-propagation.test +400 -0
  1243. jaclang/vendor/mypyc/test-data/opt-flag-elimination.test +296 -0
  1244. jaclang/vendor/mypyc/test-data/refcount.test +1482 -0
  1245. jaclang/vendor/mypyc/test-data/run-async.test +173 -0
  1246. jaclang/vendor/mypyc/test-data/run-attrs.test +318 -0
  1247. jaclang/vendor/mypyc/test-data/run-bench.test +196 -0
  1248. jaclang/vendor/mypyc/test-data/run-bools.test +229 -0
  1249. jaclang/vendor/mypyc/test-data/run-bytes.test +302 -0
  1250. jaclang/vendor/mypyc/test-data/run-classes.test +2505 -0
  1251. jaclang/vendor/mypyc/test-data/run-dicts.test +334 -0
  1252. jaclang/vendor/mypyc/test-data/run-dunders.test +945 -0
  1253. jaclang/vendor/mypyc/test-data/run-exceptions.test +448 -0
  1254. jaclang/vendor/mypyc/test-data/run-floats.test +516 -0
  1255. jaclang/vendor/mypyc/test-data/run-functions.test +1310 -0
  1256. jaclang/vendor/mypyc/test-data/run-generators.test +682 -0
  1257. jaclang/vendor/mypyc/test-data/run-i16.test +338 -0
  1258. jaclang/vendor/mypyc/test-data/run-i32.test +336 -0
  1259. jaclang/vendor/mypyc/test-data/run-i64.test +1519 -0
  1260. jaclang/vendor/mypyc/test-data/run-imports.test +265 -0
  1261. jaclang/vendor/mypyc/test-data/run-integers.test +540 -0
  1262. jaclang/vendor/mypyc/test-data/run-lists.test +411 -0
  1263. jaclang/vendor/mypyc/test-data/run-loops.test +485 -0
  1264. jaclang/vendor/mypyc/test-data/run-match.test +283 -0
  1265. jaclang/vendor/mypyc/test-data/run-math.test +106 -0
  1266. jaclang/vendor/mypyc/test-data/run-misc.test +1170 -0
  1267. jaclang/vendor/mypyc/test-data/run-multimodule.test +887 -0
  1268. jaclang/vendor/mypyc/test-data/run-mypy-sim.test +138 -0
  1269. jaclang/vendor/mypyc/test-data/run-primitives.test +375 -0
  1270. jaclang/vendor/mypyc/test-data/run-python37.test +159 -0
  1271. jaclang/vendor/mypyc/test-data/run-python38.test +88 -0
  1272. jaclang/vendor/mypyc/test-data/run-sets.test +150 -0
  1273. jaclang/vendor/mypyc/test-data/run-singledispatch.test +698 -0
  1274. jaclang/vendor/mypyc/test-data/run-strings.test +641 -0
  1275. jaclang/vendor/mypyc/test-data/run-traits.test +411 -0
  1276. jaclang/vendor/mypyc/test-data/run-tuples.test +258 -0
  1277. jaclang/vendor/mypyc/test-data/run-u8.test +303 -0
  1278. jaclang/vendor/mypyc/transform/copy_propagation.py +94 -0
  1279. jaclang/vendor/mypyc/transform/exceptions.py +1 -5
  1280. jaclang/vendor/mypyc/transform/flag_elimination.py +108 -0
  1281. jaclang/vendor/mypyc/transform/ir_transform.py +368 -0
  1282. jaclang/vendor/mypyc/transform/lower.py +33 -0
  1283. jaclang/vendor/mypyc/transform/refcount.py +7 -30
  1284. jaclang/vendor/mypyc/transform/uninit.py +4 -15
  1285. jaclang/vendor/pluggy/__init__.py +15 -11
  1286. jaclang/vendor/pluggy/_callers.py +34 -5
  1287. jaclang/vendor/pluggy/_hooks.py +35 -7
  1288. jaclang/vendor/pluggy/_manager.py +26 -3
  1289. jaclang/vendor/pluggy/_result.py +0 -15
  1290. jaclang/vendor/pluggy/_version.py +16 -0
  1291. jaclang/vendor/pluggy/_warnings.py +27 -0
  1292. jaclang/vendor/pluggy-1.5.0.dist-info/LICENSE +21 -0
  1293. jaclang/vendor/pluggy-1.5.0.dist-info/METADATA +155 -0
  1294. jaclang/vendor/pluggy-1.5.0.dist-info/RECORD +14 -0
  1295. jaclang/vendor/pluggy-1.5.0.dist-info/top_level.txt +1 -0
  1296. jaclang/vendor/pygls/__init__.py +25 -0
  1297. jaclang/vendor/pygls/capabilities.py +460 -0
  1298. jaclang/vendor/pygls/client.py +176 -0
  1299. jaclang/vendor/pygls/constants.py +26 -0
  1300. jaclang/vendor/pygls/exceptions.py +215 -0
  1301. jaclang/vendor/pygls/feature_manager.py +244 -0
  1302. jaclang/vendor/pygls/lsp/__init__.py +139 -0
  1303. jaclang/vendor/pygls/lsp/client.py +1961 -0
  1304. jaclang/vendor/pygls/progress.py +79 -0
  1305. jaclang/vendor/pygls/protocol/__init__.py +78 -0
  1306. jaclang/vendor/pygls/protocol/json_rpc.py +560 -0
  1307. jaclang/vendor/pygls/protocol/language_server.py +569 -0
  1308. jaclang/vendor/pygls/protocol/lsp_meta.py +51 -0
  1309. jaclang/vendor/pygls/py.typed +2 -0
  1310. jaclang/vendor/pygls/server.py +616 -0
  1311. jaclang/vendor/pygls/uris.py +184 -0
  1312. jaclang/vendor/pygls/workspace/__init__.py +97 -0
  1313. jaclang/vendor/pygls/workspace/position_codec.py +206 -0
  1314. jaclang/vendor/pygls/workspace/text_document.py +238 -0
  1315. jaclang/vendor/pygls/workspace/workspace.py +323 -0
  1316. jaclang/vendor/pygls-1.3.1.dist-info/LICENSE.txt +201 -0
  1317. jaclang/vendor/pygls-1.3.1.dist-info/METADATA +105 -0
  1318. jaclang/vendor/pygls-1.3.1.dist-info/RECORD +24 -0
  1319. jaclang/vendor/pygls-1.3.1.dist-info/WHEEL +4 -0
  1320. jaclang/vendor/typing_extensions-4.12.2.dist-info/LICENSE +279 -0
  1321. jaclang/vendor/typing_extensions-4.12.2.dist-info/METADATA +67 -0
  1322. jaclang/vendor/typing_extensions-4.12.2.dist-info/RECORD +5 -0
  1323. jaclang/vendor/typing_extensions-4.12.2.dist-info/WHEEL +4 -0
  1324. jaclang/vendor/typing_extensions.py +1209 -641
  1325. jaclang-0.7.0.dist-info/METADATA +98 -0
  1326. jaclang-0.7.0.dist-info/RECORD +1475 -0
  1327. jaclang-0.7.0.dist-info/WHEEL +4 -0
  1328. jaclang-0.7.0.dist-info/entry_points.txt +3 -0
  1329. jaclang/compiler/generated/jac_parser.py +0 -4069
  1330. jaclang/compiler/tests/test_workspace.py +0 -93
  1331. jaclang/compiler/workspace.py +0 -234
  1332. jaclang-0.6.1.dist-info/METADATA +0 -17
  1333. jaclang-0.6.1.dist-info/RECORD +0 -430
  1334. jaclang-0.6.1.dist-info/entry_points.txt +0 -2
  1335. jaclang-0.6.1.dist-info/top_level.txt +0 -1
  1336. /jaclang/{compiler/generated/__init__.py → vendor/attr/py.typed} +0 -0
  1337. {jaclang-0.6.1.dist-info → jaclang/vendor/pluggy-1.5.0.dist-info}/WHEEL +0 -0
@@ -16,17 +16,7 @@ import itertools
16
16
  import re
17
17
  from contextlib import contextmanager
18
18
  from textwrap import dedent
19
- from typing import (
20
- Any,
21
- Callable,
22
- Collection,
23
- Final,
24
- Iterable,
25
- Iterator,
26
- List,
27
- Sequence,
28
- cast,
29
- )
19
+ from typing import Any, Callable, Collection, Final, Iterable, Iterator, List, Sequence, cast
30
20
 
31
21
  import mypy.typeops
32
22
  from mypy import errorcodes as codes, message_registry
@@ -192,9 +182,7 @@ class MessageBuilder:
192
182
  save_filtered_errors: bool = False,
193
183
  ) -> ErrorWatcher:
194
184
  return ErrorWatcher(
195
- self.errors,
196
- filter_errors=filter_errors,
197
- save_filtered_errors=save_filtered_errors,
185
+ self.errors, filter_errors=filter_errors, save_filtered_errors=save_filtered_errors
198
186
  )
199
187
 
200
188
  def add_errors(self, errors: list[ErrorInfo]) -> None:
@@ -266,9 +254,7 @@ class MessageBuilder:
266
254
 
267
255
  if secondary_context is not None:
268
256
  assert origin_span is not None
269
- origin_span = itertools.chain(
270
- origin_span, span_from_context(secondary_context)
271
- )
257
+ origin_span = itertools.chain(origin_span, span_from_context(secondary_context))
272
258
 
273
259
  self.errors.report(
274
260
  context.line if context else -1,
@@ -389,9 +375,7 @@ class MessageBuilder:
389
375
  original_type = get_proper_type(original_type)
390
376
  typ = get_proper_type(typ)
391
377
 
392
- if isinstance(
393
- original_type, Instance
394
- ) and original_type.type.has_readable_member(member):
378
+ if isinstance(original_type, Instance) and original_type.type.has_readable_member(member):
395
379
  self.fail(f'Member "{member}" is not assignable', context)
396
380
  return None
397
381
  elif member == "__contains__":
@@ -463,15 +447,11 @@ class MessageBuilder:
463
447
  ):
464
448
  # "'function' not callable" is a confusing error message.
465
449
  # Explain that the problem is that the type of the function is not known.
466
- self.fail(
467
- "Cannot call function of unknown type", context, code=codes.OPERATOR
468
- )
450
+ self.fail("Cannot call function of unknown type", context, code=codes.OPERATOR)
469
451
  return codes.OPERATOR
470
452
  else:
471
453
  self.fail(
472
- message_registry.NOT_CALLABLE.format(
473
- format_type(original_type, self.options)
474
- ),
454
+ message_registry.NOT_CALLABLE.format(format_type(original_type, self.options)),
475
455
  context,
476
456
  code=codes.OPERATOR,
477
457
  )
@@ -502,18 +482,12 @@ class MessageBuilder:
502
482
  alternatives = set(original_type.type.names.keys())
503
483
  if module_symbol_table is not None:
504
484
  alternatives |= {
505
- k
506
- for k, v in module_symbol_table.items()
507
- if v.module_public
485
+ k for k, v in module_symbol_table.items() if v.module_public
508
486
  }
509
487
  # Rare but possible, see e.g. testNewAnalyzerCyclicDefinitionCrossModule
510
488
  alternatives.discard(member)
511
489
 
512
- matches = [
513
- m
514
- for m in COMMON_MISTAKES.get(member, [])
515
- if m in alternatives
516
- ]
490
+ matches = [m for m in COMMON_MISTAKES.get(member, []) if m in alternatives]
517
491
  matches.extend(best_matches(member, alternatives, n=3))
518
492
  if member == "__aiter__" and matches == ["__iter__"]:
519
493
  matches = [] # Avoid misleading suggestion
@@ -559,9 +533,7 @@ class MessageBuilder:
559
533
  elif isinstance(original_type, TypeVarType):
560
534
  bound = get_proper_type(original_type.upper_bound)
561
535
  if isinstance(bound, UnionType):
562
- typ_fmt, bound_fmt = format_type_distinctly(
563
- typ, bound, options=self.options
564
- )
536
+ typ_fmt, bound_fmt = format_type_distinctly(typ, bound, options=self.options)
565
537
  original_type_fmt = format_type(original_type, self.options)
566
538
  self.fail(
567
539
  "Item {} of the upper bound {} of type variable {} has no "
@@ -622,10 +594,7 @@ class MessageBuilder:
622
594
  self.fail(msg, context, code=codes.OPERATOR)
623
595
 
624
596
  def not_callable(self, typ: Type, context: Context) -> Type:
625
- self.fail(
626
- message_registry.NOT_CALLABLE.format(format_type(typ, self.options)),
627
- context,
628
- )
597
+ self.fail(message_registry.NOT_CALLABLE.format(format_type(typ, self.options)), context)
629
598
  return AnyType(TypeOfAny.from_error)
630
599
 
631
600
  def untyped_function_call(self, callee: CallableType, context: Context) -> Type:
@@ -693,11 +662,7 @@ class MessageBuilder:
693
662
  if name.startswith('"__setitem__" of'):
694
663
  if n == 1:
695
664
  self.invalid_index_type(
696
- arg_type,
697
- callee.arg_types[n - 1],
698
- base,
699
- context,
700
- code=codes.INDEX,
665
+ arg_type, callee.arg_types[n - 1], base, context, code=codes.INDEX
701
666
  )
702
667
  return codes.INDEX
703
668
  else:
@@ -708,8 +673,8 @@ class MessageBuilder:
708
673
  f" (expression has type {arg_type_str}, "
709
674
  f"target has type {callee_type_str})"
710
675
  )
711
- error_msg = message_registry.INCOMPATIBLE_TYPES_IN_ASSIGNMENT.with_additional_msg(
712
- info
676
+ error_msg = (
677
+ message_registry.INCOMPATIBLE_TYPES_IN_ASSIGNMENT.with_additional_msg(info)
713
678
  )
714
679
  self.fail(error_msg.value, context, code=error_msg.code)
715
680
  return error_msg.code
@@ -735,9 +700,7 @@ class MessageBuilder:
735
700
  name = callee_name[1:-1]
736
701
  n -= 1
737
702
  key_type, value_type = cast(TupleType, arg_type).items
738
- expected_key_type, expected_value_type = cast(
739
- TupleType, callee.arg_types[n]
740
- ).items
703
+ expected_key_type, expected_value_type = cast(TupleType, callee.arg_types[n]).items
741
704
 
742
705
  # don't increase verbosity unless there is need to do so
743
706
  if is_subtype(key_type, expected_key_type):
@@ -775,9 +738,7 @@ class MessageBuilder:
775
738
  elif callee_name == "<list-comprehension>":
776
739
  actual_type_str, expected_type_str = map(
777
740
  strip_quotes,
778
- format_type_distinctly(
779
- arg_type, callee.arg_types[0], options=self.options
780
- ),
741
+ format_type_distinctly(arg_type, callee.arg_types[0], options=self.options),
781
742
  )
782
743
  msg = "List comprehension has incompatible type List[{}]; expected List[{}]".format(
783
744
  actual_type_str, expected_type_str
@@ -785,9 +746,7 @@ class MessageBuilder:
785
746
  elif callee_name == "<set-comprehension>":
786
747
  actual_type_str, expected_type_str = map(
787
748
  strip_quotes,
788
- format_type_distinctly(
789
- arg_type, callee.arg_types[0], options=self.options
790
- ),
749
+ format_type_distinctly(arg_type, callee.arg_types[0], options=self.options),
791
750
  )
792
751
  msg = "Set comprehension has incompatible type Set[{}]; expected Set[{}]".format(
793
752
  actual_type_str, expected_type_str
@@ -826,10 +785,7 @@ class MessageBuilder:
826
785
  # For function calls with keyword arguments, display the argument name rather
827
786
  # than the number.
828
787
  arg_label = str(n)
829
- if (
830
- isinstance(outer_context, CallExpr)
831
- and len(outer_context.arg_names) >= n
832
- ):
788
+ if isinstance(outer_context, CallExpr) and len(outer_context.arg_names) >= n:
833
789
  arg_name = outer_context.arg_names[n - 1]
834
790
  if arg_name is not None:
835
791
  arg_label = f'"{arg_name}"'
@@ -843,10 +799,7 @@ class MessageBuilder:
843
799
  arg_name = callee.arg_names[m - 1]
844
800
  assert arg_name is not None
845
801
  arg_type_str, expected_type_str = format_type_distinctly(
846
- arg_type.items[arg_name],
847
- expected_type,
848
- bare=True,
849
- options=self.options,
802
+ arg_type.items[arg_name], expected_type, bare=True, options=self.options
850
803
  )
851
804
  arg_label = f'"{arg_name}"'
852
805
  if isinstance(outer_context, IndexExpr) and isinstance(
@@ -894,8 +847,7 @@ class MessageBuilder:
894
847
  if self.prefer_simple_messages():
895
848
  return
896
849
  if isinstance(
897
- original_caller_type,
898
- (Instance, TupleType, TypedDictType, TypeType, CallableType),
850
+ original_caller_type, (Instance, TupleType, TypedDictType, TypeType, CallableType)
899
851
  ):
900
852
  if isinstance(callee_type, Instance) and callee_type.type.is_protocol:
901
853
  self.report_protocol_problems(
@@ -908,18 +860,14 @@ class MessageBuilder:
908
860
  self.report_protocol_problems(
909
861
  original_caller_type, item, context, code=code
910
862
  )
911
- if isinstance(callee_type, CallableType) and isinstance(
912
- original_caller_type, Instance
913
- ):
863
+ if isinstance(callee_type, CallableType) and isinstance(original_caller_type, Instance):
914
864
  call = find_member(
915
865
  "__call__", original_caller_type, original_caller_type, is_operator=True
916
866
  )
917
867
  if call:
918
868
  self.note_call(original_caller_type, call, context, code=code)
919
869
 
920
- self.maybe_note_concatenate_pos_args(
921
- original_caller_type, callee_type, context, code
922
- )
870
+ self.maybe_note_concatenate_pos_args(original_caller_type, callee_type, context, code)
923
871
 
924
872
  def maybe_note_concatenate_pos_args(
925
873
  self,
@@ -974,10 +922,7 @@ class MessageBuilder:
974
922
  )
975
923
 
976
924
  def too_few_arguments(
977
- self,
978
- callee: CallableType,
979
- context: Context,
980
- argument_names: Sequence[str | None] | None,
925
+ self, callee: CallableType, context: Context, argument_names: Sequence[str | None] | None
981
926
  ) -> None:
982
927
  if self.prefer_simple_messages():
983
928
  msg = "Too few arguments"
@@ -1000,9 +945,7 @@ class MessageBuilder:
1000
945
  msg = "Too few arguments" + for_function(callee)
1001
946
  self.fail(msg, context, code=codes.CALL_ARG)
1002
947
 
1003
- def missing_named_argument(
1004
- self, callee: CallableType, context: Context, name: str
1005
- ) -> None:
948
+ def missing_named_argument(self, callee: CallableType, context: Context, name: str) -> None:
1006
949
  msg = f'Missing named argument "{name}"' + for_function(callee)
1007
950
  self.fail(msg, context, code=codes.CALL_ARG)
1008
951
 
@@ -1027,9 +970,7 @@ class MessageBuilder:
1027
970
  return
1028
971
  self.fail(msg, context)
1029
972
 
1030
- def too_many_positional_arguments(
1031
- self, callee: CallableType, context: Context
1032
- ) -> None:
973
+ def too_many_positional_arguments(self, callee: CallableType, context: Context) -> None:
1033
974
  if self.prefer_simple_messages():
1034
975
  msg = "Too many positional arguments"
1035
976
  else:
@@ -1037,9 +978,7 @@ class MessageBuilder:
1037
978
  self.fail(msg, context)
1038
979
  self.maybe_note_about_special_args(callee, context)
1039
980
 
1040
- def maybe_note_about_special_args(
1041
- self, callee: CallableType, context: Context
1042
- ) -> None:
981
+ def maybe_note_about_special_args(self, callee: CallableType, context: Context) -> None:
1043
982
  if self.prefer_simple_messages():
1044
983
  return
1045
984
  # https://github.com/python/mypy/issues/11309
@@ -1053,12 +992,7 @@ class MessageBuilder:
1053
992
  )
1054
993
 
1055
994
  def unexpected_keyword_argument_for_function(
1056
- self,
1057
- for_func: str,
1058
- name: str,
1059
- context: Context,
1060
- *,
1061
- matches: list[str] | None = None,
995
+ self, for_func: str, name: str, context: Context, *, matches: list[str] | None = None
1062
996
  ) -> None:
1063
997
  msg = f'Unexpected keyword argument "{name}"' + for_func
1064
998
  if matches:
@@ -1098,9 +1032,7 @@ class MessageBuilder:
1098
1032
  code=codes.CALL_ARG,
1099
1033
  )
1100
1034
 
1101
- def duplicate_argument_value(
1102
- self, callee: CallableType, index: int, context: Context
1103
- ) -> None:
1035
+ def duplicate_argument_value(self, callee: CallableType, index: int, context: Context) -> None:
1104
1036
  self.fail(
1105
1037
  '{} gets multiple values for keyword argument "{}"'.format(
1106
1038
  callable_name(callee) or "Function", callee.arg_names[index]
@@ -1111,11 +1043,7 @@ class MessageBuilder:
1111
1043
  def does_not_return_value(self, callee_type: Type | None, context: Context) -> None:
1112
1044
  """Report an error about use of an unusable type."""
1113
1045
  callee_type = get_proper_type(callee_type)
1114
- callee_name = (
1115
- callable_name(callee_type)
1116
- if isinstance(callee_type, FunctionLike)
1117
- else None
1118
- )
1046
+ callee_name = callable_name(callee_type) if isinstance(callee_type, FunctionLike) else None
1119
1047
  name = callee_name or "Function"
1120
1048
  message = f"{name} does not return a value (it only ever returns None)"
1121
1049
  self.fail(message, context, code=codes.FUNC_RETURNS_VALUE)
@@ -1175,11 +1103,7 @@ class MessageBuilder:
1175
1103
  code=code,
1176
1104
  )
1177
1105
 
1178
- self.note(
1179
- f"Possible overload variant{plural_s(len(overload.items))}:",
1180
- context,
1181
- code=code,
1182
- )
1106
+ self.note(f"Possible overload variant{plural_s(len(overload.items))}:", context, code=code)
1183
1107
  for item in overload.items:
1184
1108
  self.note(pretty_callable(item, self.options), context, offset=4, code=code)
1185
1109
 
@@ -1188,18 +1112,14 @@ class MessageBuilder:
1188
1112
  ) -> None:
1189
1113
  if provided < expected:
1190
1114
  if provided == 1:
1191
- self.fail(
1192
- f"Need more than 1 value to unpack ({expected} expected)", context
1193
- )
1115
+ self.fail(f"Need more than 1 value to unpack ({expected} expected)", context)
1194
1116
  else:
1195
1117
  self.fail(
1196
- f"Need more than {provided} values to unpack ({expected} expected)",
1197
- context,
1118
+ f"Need more than {provided} values to unpack ({expected} expected)", context
1198
1119
  )
1199
1120
  elif provided > expected:
1200
1121
  self.fail(
1201
- f"Too many values to unpack ({expected} expected, {provided} provided)",
1202
- context,
1122
+ f"Too many values to unpack ({expected} expected, {provided} provided)", context
1203
1123
  )
1204
1124
 
1205
1125
  def unpacking_strings_disallowed(self, context: Context) -> None:
@@ -1219,14 +1139,10 @@ class MessageBuilder:
1219
1139
  ) -> None:
1220
1140
  target = self.override_target(name, name_in_super, supertype)
1221
1141
  self.fail(
1222
- f'Signature of "{name}" incompatible with {target}',
1223
- context,
1224
- code=codes.OVERRIDE,
1142
+ f'Signature of "{name}" incompatible with {target}', context, code=codes.OVERRIDE
1225
1143
  )
1226
1144
 
1227
- note_template = (
1228
- 'Overload variants must be defined in the same order as they are in "{}"'
1229
- )
1145
+ note_template = 'Overload variants must be defined in the same order as they are in "{}"'
1230
1146
  self.note(note_template.format(supertype), context, code=codes.OVERRIDE)
1231
1147
 
1232
1148
  def signature_incompatible_with_supertype(
@@ -1241,23 +1157,15 @@ class MessageBuilder:
1241
1157
  ) -> None:
1242
1158
  code = codes.OVERRIDE
1243
1159
  target = self.override_target(name, name_in_super, supertype)
1244
- self.fail(
1245
- f'Signature of "{name}" incompatible with {target}', context, code=code
1246
- )
1160
+ self.fail(f'Signature of "{name}" incompatible with {target}', context, code=code)
1247
1161
 
1248
1162
  original_str, override_str = format_type_distinctly(
1249
1163
  original, override, options=self.options, bare=True
1250
1164
  )
1251
1165
 
1252
- INCLUDE_DECORATOR = (
1253
- True # Include @classmethod and @staticmethod decorators, if any
1254
- )
1255
- ALLOW_DUPS = (
1256
- True # Allow duplicate notes, needed when signatures are duplicates
1257
- )
1258
- ALIGN_OFFSET = (
1259
- 1 # One space, to account for the difference between error and note
1260
- )
1166
+ INCLUDE_DECORATOR = True # Include @classmethod and @staticmethod decorators, if any
1167
+ ALLOW_DUPS = True # Allow duplicate notes, needed when signatures are duplicates
1168
+ ALIGN_OFFSET = 1 # One space, to account for the difference between error and note
1261
1169
  OFFSET = 4 # Four spaces, so that notes will look like this:
1262
1170
  # error: Signature of "f" incompatible with supertype "A"
1263
1171
  # note: Superclass:
@@ -1265,11 +1173,7 @@ class MessageBuilder:
1265
1173
  # note: Subclass:
1266
1174
  # note: def f(self, x: str) -> None
1267
1175
  self.note(
1268
- "Superclass:",
1269
- context,
1270
- offset=ALIGN_OFFSET + OFFSET,
1271
- allow_dups=ALLOW_DUPS,
1272
- code=code,
1176
+ "Superclass:", context, offset=ALIGN_OFFSET + OFFSET, allow_dups=ALLOW_DUPS, code=code
1273
1177
  )
1274
1178
  if isinstance(original, (CallableType, Overloaded)):
1275
1179
  self.pretty_callable_or_overload(
@@ -1290,11 +1194,7 @@ class MessageBuilder:
1290
1194
  )
1291
1195
 
1292
1196
  self.note(
1293
- "Subclass:",
1294
- context,
1295
- offset=ALIGN_OFFSET + OFFSET,
1296
- allow_dups=ALLOW_DUPS,
1297
- code=code,
1197
+ "Subclass:", context, offset=ALIGN_OFFSET + OFFSET, allow_dups=ALLOW_DUPS, code=code
1298
1198
  )
1299
1199
  if isinstance(override, (CallableType, Overloaded)):
1300
1200
  self.pretty_callable_or_overload(
@@ -1328,13 +1228,7 @@ class MessageBuilder:
1328
1228
  if add_class_or_static_decorator:
1329
1229
  decorator = pretty_class_or_static_decorator(tp)
1330
1230
  if decorator is not None:
1331
- self.note(
1332
- decorator,
1333
- context,
1334
- offset=offset,
1335
- allow_dups=allow_dups,
1336
- code=code,
1337
- )
1231
+ self.note(decorator, context, offset=offset, allow_dups=allow_dups, code=code)
1338
1232
  self.note(
1339
1233
  pretty_callable(tp, self.options),
1340
1234
  context,
@@ -1393,10 +1287,7 @@ class MessageBuilder:
1393
1287
  if name == "__eq__" and type_name:
1394
1288
  multiline_msg = self.comparison_method_example_msg(class_name=type_name)
1395
1289
  self.note_multiline(
1396
- multiline_msg,
1397
- context,
1398
- code=codes.OVERRIDE,
1399
- secondary_context=secondary_context,
1290
+ multiline_msg, context, code=codes.OVERRIDE, secondary_context=secondary_context
1400
1291
  )
1401
1292
 
1402
1293
  def comparison_method_example_msg(self, class_name: str) -> str:
@@ -1443,9 +1334,7 @@ class MessageBuilder:
1443
1334
  and len(original.args) == 3
1444
1335
  and original.args[2] == override
1445
1336
  ):
1446
- self.note(
1447
- f'Consider declaring "{name}" in {target} without "async"', context
1448
- )
1337
+ self.note(f'Consider declaring "{name}" in {target} without "async"', context)
1449
1338
  self.note(
1450
1339
  "See https://mypy.readthedocs.io/en/stable/more_types.html#asynchronous-iterators",
1451
1340
  context,
@@ -1458,16 +1347,10 @@ class MessageBuilder:
1458
1347
  return target
1459
1348
 
1460
1349
  def incompatible_type_application(
1461
- self,
1462
- min_arg_count: int,
1463
- max_arg_count: int,
1464
- actual_arg_count: int,
1465
- context: Context,
1350
+ self, min_arg_count: int, max_arg_count: int, actual_arg_count: int, context: Context
1466
1351
  ) -> None:
1467
1352
  if max_arg_count == 0:
1468
- self.fail(
1469
- "Type application targets a non-generic function or class", context
1470
- )
1353
+ self.fail("Type application targets a non-generic function or class", context)
1471
1354
  return
1472
1355
 
1473
1356
  if min_arg_count == max_arg_count:
@@ -1498,9 +1381,7 @@ class MessageBuilder:
1498
1381
  def invalid_var_arg(self, typ: Type, context: Context) -> None:
1499
1382
  self.fail("List or tuple expected as variadic arguments", context)
1500
1383
 
1501
- def invalid_keyword_var_arg(
1502
- self, typ: Type, is_mapping: bool, context: Context
1503
- ) -> None:
1384
+ def invalid_keyword_var_arg(self, typ: Type, is_mapping: bool, context: Context) -> None:
1504
1385
  typ = get_proper_type(typ)
1505
1386
  if isinstance(typ, Instance) and is_mapping:
1506
1387
  self.fail("Keywords must be strings", context)
@@ -1515,20 +1396,12 @@ class MessageBuilder:
1515
1396
  self.fail(f'"{member}" undefined in superclass', context)
1516
1397
 
1517
1398
  def variable_may_be_undefined(self, name: str, context: Context) -> None:
1518
- self.fail(
1519
- f'Name "{name}" may be undefined', context, code=codes.POSSIBLY_UNDEFINED
1520
- )
1399
+ self.fail(f'Name "{name}" may be undefined', context, code=codes.POSSIBLY_UNDEFINED)
1521
1400
 
1522
1401
  def var_used_before_def(self, name: str, context: Context) -> None:
1523
- self.fail(
1524
- f'Name "{name}" is used before definition',
1525
- context,
1526
- code=codes.USED_BEFORE_DEF,
1527
- )
1402
+ self.fail(f'Name "{name}" is used before definition', context, code=codes.USED_BEFORE_DEF)
1528
1403
 
1529
- def first_argument_for_super_must_be_type(
1530
- self, actual: Type, context: Context
1531
- ) -> None:
1404
+ def first_argument_for_super_must_be_type(self, actual: Type, context: Context) -> None:
1532
1405
  actual = get_proper_type(actual)
1533
1406
  if isinstance(actual, Instance):
1534
1407
  # Don't include type of instance, because it can look confusingly like a type
@@ -1551,11 +1424,7 @@ class MessageBuilder:
1551
1424
  )
1552
1425
 
1553
1426
  def too_few_string_formatting_arguments(self, context: Context) -> None:
1554
- self.fail(
1555
- "Not enough arguments for format string",
1556
- context,
1557
- code=codes.STRING_FORMATTING,
1558
- )
1427
+ self.fail("Not enough arguments for format string", context, code=codes.STRING_FORMATTING)
1559
1428
 
1560
1429
  def too_many_string_formatting_arguments(self, context: Context) -> None:
1561
1430
  self.fail(
@@ -1566,9 +1435,7 @@ class MessageBuilder:
1566
1435
 
1567
1436
  def unsupported_placeholder(self, placeholder: str, context: Context) -> None:
1568
1437
  self.fail(
1569
- f'Unsupported format character "{placeholder}"',
1570
- context,
1571
- code=codes.STRING_FORMATTING,
1438
+ f'Unsupported format character "{placeholder}"', context, code=codes.STRING_FORMATTING
1572
1439
  )
1573
1440
 
1574
1441
  def string_interpolation_with_star_and_key(self, context: Context) -> None:
@@ -1578,9 +1445,7 @@ class MessageBuilder:
1578
1445
  code=codes.STRING_FORMATTING,
1579
1446
  )
1580
1447
 
1581
- def requires_int_or_single_byte(
1582
- self, context: Context, format_call: bool = False
1583
- ) -> None:
1448
+ def requires_int_or_single_byte(self, context: Context, format_call: bool = False) -> None:
1584
1449
  self.fail(
1585
1450
  '"{}c" requires an integer in range(256) or a single byte'.format(
1586
1451
  ":" if format_call else "%"
@@ -1597,9 +1462,7 @@ class MessageBuilder:
1597
1462
  )
1598
1463
 
1599
1464
  def key_not_in_mapping(self, key: str, context: Context) -> None:
1600
- self.fail(
1601
- f'Key "{key}" not found in mapping', context, code=codes.STRING_FORMATTING
1602
- )
1465
+ self.fail(f'Key "{key}" not found in mapping', context, code=codes.STRING_FORMATTING)
1603
1466
 
1604
1467
  def string_interpolation_mixing_key_and_non_keys(self, context: Context) -> None:
1605
1468
  self.fail(
@@ -1611,40 +1474,29 @@ class MessageBuilder:
1611
1474
  def cannot_determine_type(self, name: str, context: Context) -> None:
1612
1475
  self.fail(f'Cannot determine type of "{name}"', context, code=codes.HAS_TYPE)
1613
1476
 
1614
- def cannot_determine_type_in_base(
1615
- self, name: str, base: str, context: Context
1616
- ) -> None:
1477
+ def cannot_determine_type_in_base(self, name: str, base: str, context: Context) -> None:
1617
1478
  self.fail(f'Cannot determine type of "{name}" in base class "{base}"', context)
1618
1479
 
1619
1480
  def no_formal_self(self, name: str, item: CallableType, context: Context) -> None:
1620
1481
  type = format_type(item, self.options)
1621
1482
  self.fail(
1622
- f'Attribute function "{name}" with type {type} does not accept self argument',
1623
- context,
1483
+ f'Attribute function "{name}" with type {type} does not accept self argument', context
1624
1484
  )
1625
1485
 
1626
1486
  def incompatible_self_argument(
1627
- self,
1628
- name: str,
1629
- arg: Type,
1630
- sig: CallableType,
1631
- is_classmethod: bool,
1632
- context: Context,
1487
+ self, name: str, arg: Type, sig: CallableType, is_classmethod: bool, context: Context
1633
1488
  ) -> None:
1634
1489
  kind = "class attribute function" if is_classmethod else "attribute function"
1635
1490
  arg_type = format_type(arg, self.options)
1636
1491
  sig_type = format_type(sig, self.options)
1637
1492
  self.fail(
1638
- f'Invalid self argument {arg_type} to {kind} "{name}" with type {sig_type}',
1639
- context,
1493
+ f'Invalid self argument {arg_type} to {kind} "{name}" with type {sig_type}', context
1640
1494
  )
1641
1495
 
1642
1496
  def incompatible_conditional_function_def(
1643
1497
  self, defn: FuncDef, old_type: FunctionLike, new_type: FunctionLike
1644
1498
  ) -> None:
1645
- self.fail(
1646
- "All conditional function variants must have identical signatures", defn
1647
- )
1499
+ self.fail("All conditional function variants must have identical signatures", defn)
1648
1500
  if isinstance(old_type, (CallableType, Overloaded)) and isinstance(
1649
1501
  new_type, (CallableType, Overloaded)
1650
1502
  ):
@@ -1693,9 +1545,7 @@ class MessageBuilder:
1693
1545
  )
1694
1546
 
1695
1547
  def cant_assign_to_method(self, context: Context) -> None:
1696
- self.fail(
1697
- message_registry.CANNOT_ASSIGN_TO_METHOD, context, code=codes.METHOD_ASSIGN
1698
- )
1548
+ self.fail(message_registry.CANNOT_ASSIGN_TO_METHOD, context, code=codes.METHOD_ASSIGN)
1699
1549
 
1700
1550
  def cant_assign_to_classvar(self, name: str, context: Context) -> None:
1701
1551
  self.fail(f'Cannot assign to class variable "{name}" via instance', context)
@@ -1749,17 +1599,13 @@ class MessageBuilder:
1749
1599
  ) -> None:
1750
1600
  self.fail(
1751
1601
  message_registry.INCOMPATIBLE_TYPEVAR_VALUE.format(
1752
- typevar_name,
1753
- callable_name(callee) or "function",
1754
- format_type(typ, self.options),
1602
+ typevar_name, callable_name(callee) or "function", format_type(typ, self.options)
1755
1603
  ),
1756
1604
  context,
1757
1605
  code=codes.TYPE_VAR,
1758
1606
  )
1759
1607
 
1760
- def dangerous_comparison(
1761
- self, left: Type, right: Type, kind: str, ctx: Context
1762
- ) -> None:
1608
+ def dangerous_comparison(self, left: Type, right: Type, kind: str, ctx: Context) -> None:
1763
1609
  left_str = "element" if kind == "container" else "left operand"
1764
1610
  right_str = "container item" if kind == "container" else "right operand"
1765
1611
  message = "Non-overlapping {} check ({} type: {}, {} type: {})"
@@ -1770,18 +1616,14 @@ class MessageBuilder:
1770
1616
  code=codes.COMPARISON_OVERLAP,
1771
1617
  )
1772
1618
 
1773
- def overload_inconsistently_applies_decorator(
1774
- self, decorator: str, context: Context
1775
- ) -> None:
1619
+ def overload_inconsistently_applies_decorator(self, decorator: str, context: Context) -> None:
1776
1620
  self.fail(
1777
1621
  f'Overload does not consistently use the "@{decorator}" '
1778
1622
  + "decorator on all function signatures.",
1779
1623
  context,
1780
1624
  )
1781
1625
 
1782
- def overloaded_signatures_overlap(
1783
- self, index1: int, index2: int, context: Context
1784
- ) -> None:
1626
+ def overloaded_signatures_overlap(self, index1: int, index2: int, context: Context) -> None:
1785
1627
  self.fail(
1786
1628
  "Overloaded function signatures {} and {} overlap with "
1787
1629
  "incompatible return types".format(index1, index2),
@@ -1800,9 +1642,7 @@ class MessageBuilder:
1800
1642
  context,
1801
1643
  )
1802
1644
 
1803
- def overloaded_signatures_typevar_specific(
1804
- self, index: int, context: Context
1805
- ) -> None:
1645
+ def overloaded_signatures_typevar_specific(self, index: int, context: Context) -> None:
1806
1646
  self.fail(
1807
1647
  f"Overloaded function implementation cannot satisfy signature {index} "
1808
1648
  + "due to inconsistencies in how they use type variables",
@@ -1824,13 +1664,9 @@ class MessageBuilder:
1824
1664
  )
1825
1665
 
1826
1666
  def warn_both_operands_are_from_unions(self, context: Context) -> None:
1827
- self.note(
1828
- "Both left and right operands are unions", context, code=codes.OPERATOR
1829
- )
1667
+ self.note("Both left and right operands are unions", context, code=codes.OPERATOR)
1830
1668
 
1831
- def warn_operand_was_from_union(
1832
- self, side: str, original: Type, context: Context
1833
- ) -> None:
1669
+ def warn_operand_was_from_union(self, side: str, original: Type, context: Context) -> None:
1834
1670
  self.note(
1835
1671
  f"{side} operand is of type {format_type(original, self.options)}",
1836
1672
  context,
@@ -1856,17 +1692,11 @@ class MessageBuilder:
1856
1692
  context,
1857
1693
  )
1858
1694
 
1859
- def forward_operator_not_callable(
1860
- self, forward_method: str, context: Context
1861
- ) -> None:
1695
+ def forward_operator_not_callable(self, forward_method: str, context: Context) -> None:
1862
1696
  self.fail(f'Forward operator "{forward_method}" is not callable', context)
1863
1697
 
1864
- def signatures_incompatible(
1865
- self, method: str, other_method: str, context: Context
1866
- ) -> None:
1867
- self.fail(
1868
- f'Signatures of "{method}" and "{other_method}" are incompatible', context
1869
- )
1698
+ def signatures_incompatible(self, method: str, other_method: str, context: Context) -> None:
1699
+ self.fail(f'Signatures of "{method}" and "{other_method}" are incompatible', context)
1870
1700
 
1871
1701
  def yield_from_invalid_operand_type(self, expr: Type, context: Context) -> Type:
1872
1702
  text = (
@@ -1900,16 +1730,13 @@ class MessageBuilder:
1900
1730
  self.note("Revealed local types are:", context)
1901
1731
  for k, v in sorted_locals.items():
1902
1732
  visitor = TypeStrVisitor(options=self.options)
1903
- self.note(
1904
- f" {k}: {v.accept(visitor) if v is not None else None}", context
1905
- )
1733
+ self.note(f" {k}: {v.accept(visitor) if v is not None else None}", context)
1906
1734
  else:
1907
1735
  self.note("There are no locals to reveal", context)
1908
1736
 
1909
1737
  def unsupported_type_type(self, item: Type, context: Context) -> None:
1910
1738
  self.fail(
1911
- f'Cannot instantiate type "Type[{format_type_bare(item, self.options)}]"',
1912
- context,
1739
+ f'Cannot instantiate type "Type[{format_type_bare(item, self.options)}]"', context
1913
1740
  )
1914
1741
 
1915
1742
  def redundant_cast(self, typ: Type, context: Context) -> None:
@@ -1919,17 +1746,9 @@ class MessageBuilder:
1919
1746
  code=codes.REDUNDANT_CAST,
1920
1747
  )
1921
1748
 
1922
- def assert_type_fail(
1923
- self, source_type: Type, target_type: Type, context: Context
1924
- ) -> None:
1925
- (source, target) = format_type_distinctly(
1926
- source_type, target_type, options=self.options
1927
- )
1928
- self.fail(
1929
- f"Expression is of type {source}, not {target}",
1930
- context,
1931
- code=codes.ASSERT_TYPE,
1932
- )
1749
+ def assert_type_fail(self, source_type: Type, target_type: Type, context: Context) -> None:
1750
+ (source, target) = format_type_distinctly(source_type, target_type, options=self.options)
1751
+ self.fail(f"Expression is of type {source}, not {target}", context, code=codes.ASSERT_TYPE)
1933
1752
 
1934
1753
  def unimported_type_becomes_any(self, prefix: str, typ: Type, ctx: Context) -> None:
1935
1754
  self.fail(
@@ -1939,21 +1758,14 @@ class MessageBuilder:
1939
1758
  )
1940
1759
 
1941
1760
  def need_annotation_for_var(
1942
- self,
1943
- node: SymbolNode,
1944
- context: Context,
1945
- python_version: tuple[int, int] | None = None,
1761
+ self, node: SymbolNode, context: Context, python_version: tuple[int, int] | None = None
1946
1762
  ) -> None:
1947
1763
  hint = ""
1948
1764
  pep604_supported = not python_version or python_version >= (3, 10)
1949
1765
  # type to recommend the user adds
1950
1766
  recommended_type = None
1951
1767
  # Only gives hint if it's a variable declaration and the partial type is a builtin type
1952
- if (
1953
- python_version
1954
- and isinstance(node, Var)
1955
- and isinstance(node.type, PartialType)
1956
- ):
1768
+ if python_version and isinstance(node, Var) and isinstance(node.type, PartialType):
1957
1769
  type_dec = "<type>"
1958
1770
  if not node.type.type:
1959
1771
  # partial None
@@ -1967,6 +1779,8 @@ class MessageBuilder:
1967
1779
  alias = alias.split(".")[-1]
1968
1780
  if alias == "Dict":
1969
1781
  type_dec = f"{type_dec}, {type_dec}"
1782
+ if self.options.use_lowercase_names():
1783
+ alias = alias.lower()
1970
1784
  recommended_type = f"{alias}[{type_dec}]"
1971
1785
  if recommended_type is not None:
1972
1786
  hint = f' (hint: "{node.name}: {recommended_type} = ...")'
@@ -2014,8 +1828,7 @@ class MessageBuilder:
2014
1828
  if missing:
2015
1829
  self.fail(
2016
1830
  "Missing {} for TypedDict {}".format(
2017
- format_key_list(missing, short=True),
2018
- format_type(typ, self.options),
1831
+ format_key_list(missing, short=True), format_type(typ, self.options)
2019
1832
  ),
2020
1833
  context,
2021
1834
  code=codes.TYPEDDICT_ITEM,
@@ -2024,8 +1837,7 @@ class MessageBuilder:
2024
1837
  if extra:
2025
1838
  self.fail(
2026
1839
  "Extra {} for TypedDict {}".format(
2027
- format_key_list(extra, short=True),
2028
- format_type(typ, self.options),
1840
+ format_key_list(extra, short=True), format_type(typ, self.options)
2029
1841
  ),
2030
1842
  context,
2031
1843
  code=codes.TYPEDDICT_UNKNOWN_KEY,
@@ -2040,13 +1852,9 @@ class MessageBuilder:
2040
1852
  expected = format_key_list(expected_keys)
2041
1853
  if actual_keys and actual_set < expected_set:
2042
1854
  found = f"only {found}"
2043
- self.fail(
2044
- f"Expected {expected} but found {found}", context, code=codes.TYPEDDICT_ITEM
2045
- )
1855
+ self.fail(f"Expected {expected} but found {found}", context, code=codes.TYPEDDICT_ITEM)
2046
1856
 
2047
- def typeddict_key_must_be_string_literal(
2048
- self, typ: TypedDictType, context: Context
2049
- ) -> None:
1857
+ def typeddict_key_must_be_string_literal(self, typ: TypedDictType, context: Context) -> None:
2050
1858
  self.fail(
2051
1859
  "TypedDict key must be a string literal; expected one of {}".format(
2052
1860
  format_item_name_list(typ.items.keys())
@@ -2056,11 +1864,7 @@ class MessageBuilder:
2056
1864
  )
2057
1865
 
2058
1866
  def typeddict_key_not_found(
2059
- self,
2060
- typ: TypedDictType,
2061
- item_name: str,
2062
- context: Context,
2063
- setitem: bool = False,
1867
+ self, typ: TypedDictType, item_name: str, context: Context, setitem: bool = False
2064
1868
  ) -> None:
2065
1869
  """Handle error messages for TypedDicts that have unknown keys.
2066
1870
 
@@ -2086,20 +1890,13 @@ class MessageBuilder:
2086
1890
  matches = best_matches(item_name, typ.items.keys(), n=3)
2087
1891
  if matches:
2088
1892
  self.note(
2089
- "Did you mean {}?".format(pretty_seq(matches, "or")),
2090
- context,
2091
- code=err_code,
1893
+ "Did you mean {}?".format(pretty_seq(matches, "or")), context, code=err_code
2092
1894
  )
2093
1895
 
2094
- def typeddict_context_ambiguous(
2095
- self, types: list[TypedDictType], context: Context
2096
- ) -> None:
2097
- formatted_types = ", ".join(
2098
- list(format_type_distinctly(*types, options=self.options))
2099
- )
1896
+ def typeddict_context_ambiguous(self, types: list[TypedDictType], context: Context) -> None:
1897
+ formatted_types = ", ".join(list(format_type_distinctly(*types, options=self.options)))
2100
1898
  self.fail(
2101
- f"Type of TypedDict is ambiguous, none of ({formatted_types}) matches cleanly",
2102
- context,
1899
+ f"Type of TypedDict is ambiguous, none of ({formatted_types}) matches cleanly", context
2103
1900
  )
2104
1901
 
2105
1902
  def typeddict_key_cannot_be_deleted(
@@ -2118,18 +1915,13 @@ class MessageBuilder:
2118
1915
  ) -> None:
2119
1916
  msg = 'Argument 2 to "setdefault" of "TypedDict" has incompatible type {}; expected {}'
2120
1917
  self.fail(
2121
- msg.format(
2122
- format_type(default, self.options), format_type(expected, self.options)
2123
- ),
1918
+ msg.format(format_type(default, self.options), format_type(expected, self.options)),
2124
1919
  context,
2125
1920
  code=codes.TYPEDDICT_ITEM,
2126
1921
  )
2127
1922
 
2128
1923
  def type_arguments_not_allowed(self, context: Context) -> None:
2129
- self.fail(
2130
- "Parameterized generics cannot be used with class or instance checks",
2131
- context,
2132
- )
1924
+ self.fail("Parameterized generics cannot be used with class or instance checks", context)
2133
1925
 
2134
1926
  def disallowed_any_type(self, typ: Type, context: Context) -> None:
2135
1927
  typ = get_proper_type(typ)
@@ -2140,7 +1932,9 @@ class MessageBuilder:
2140
1932
  self.fail(message, context)
2141
1933
 
2142
1934
  def incorrectly_returning_any(self, typ: Type, context: Context) -> None:
2143
- message = f"Returning Any from function declared to return {format_type(typ, self.options)}"
1935
+ message = (
1936
+ f"Returning Any from function declared to return {format_type(typ, self.options)}"
1937
+ )
2144
1938
  self.fail(message, context, code=codes.NO_ANY_RETURN)
2145
1939
 
2146
1940
  def incorrect__exit__return(self, context: Context) -> None:
@@ -2171,9 +1965,7 @@ class MessageBuilder:
2171
1965
  context,
2172
1966
  )
2173
1967
 
2174
- def typed_function_untyped_decorator(
2175
- self, func_name: str, context: Context
2176
- ) -> None:
1968
+ def typed_function_untyped_decorator(self, func_name: str, context: Context) -> None:
2177
1969
  self.fail(f'Untyped decorator makes function "{func_name}" untyped', context)
2178
1970
 
2179
1971
  def bad_proto_variance(
@@ -2215,9 +2007,7 @@ class MessageBuilder:
2215
2007
  )
2216
2008
  if len(members) < 3:
2217
2009
  attrs = ", ".join(members)
2218
- self.note(
2219
- f'Protocol "{tp.name}" has non-method member(s): {attrs}', context
2220
- )
2010
+ self.note(f'Protocol "{tp.name}" has non-method member(s): {attrs}', context)
2221
2011
 
2222
2012
  def note_call(
2223
2013
  self, subtype: Type, call: Type, context: Context, *, code: ErrorCode | None
@@ -2247,22 +2037,16 @@ class MessageBuilder:
2247
2037
  'op_name' should either be the string "and" or the string "or".
2248
2038
  """
2249
2039
  self.fail(
2250
- f'Right operand of "{op_name}" is never evaluated',
2251
- context,
2252
- code=codes.UNREACHABLE,
2040
+ f'Right operand of "{op_name}" is never evaluated', context, code=codes.UNREACHABLE
2253
2041
  )
2254
2042
 
2255
- def redundant_condition_in_comprehension(
2256
- self, truthiness: bool, context: Context
2257
- ) -> None:
2043
+ def redundant_condition_in_comprehension(self, truthiness: bool, context: Context) -> None:
2258
2044
  self.redundant_expr("If condition in comprehension", truthiness, context)
2259
2045
 
2260
2046
  def redundant_condition_in_if(self, truthiness: bool, context: Context) -> None:
2261
2047
  self.redundant_expr("If condition", truthiness, context)
2262
2048
 
2263
- def redundant_expr(
2264
- self, description: str, truthiness: bool, context: Context
2265
- ) -> None:
2049
+ def redundant_expr(self, description: str, truthiness: bool, context: Context) -> None:
2266
2050
  self.fail(
2267
2051
  f"{description} is always {str(truthiness).lower()}",
2268
2052
  context,
@@ -2274,9 +2058,16 @@ class MessageBuilder:
2274
2058
  ) -> None:
2275
2059
  template = "Subclass of {} cannot exist: {}"
2276
2060
  self.fail(
2277
- template.format(formatted_base_class_list, reason),
2061
+ template.format(formatted_base_class_list, reason), context, code=codes.UNREACHABLE
2062
+ )
2063
+
2064
+ def tvar_without_default_type(
2065
+ self, tvar_name: str, last_tvar_name_with_default: str, context: Context
2066
+ ) -> None:
2067
+ self.fail(
2068
+ f'"{tvar_name}" cannot appear after "{last_tvar_name_with_default}" '
2069
+ "in type parameter list because it has no default type",
2278
2070
  context,
2279
- code=codes.UNREACHABLE,
2280
2071
  )
2281
2072
 
2282
2073
  def report_protocol_problems(
@@ -2296,9 +2087,7 @@ class MessageBuilder:
2296
2087
  OFFSET = 4 # Four spaces, so that notes will look like this:
2297
2088
  # note: 'Cls' is missing following 'Proto' members:
2298
2089
  # note: method, attr
2299
- MAX_ITEMS = (
2300
- 2 # Maximum number of conflicts, missing members, and overloads shown
2301
- )
2090
+ MAX_ITEMS = 2 # Maximum number of conflicts, missing members, and overloads shown
2302
2091
  # List of special situations where we don't want to report additional problems
2303
2092
  exclusions: dict[type, list[str]] = {
2304
2093
  TypedDictType: ["typing.Mapping"],
@@ -2306,9 +2095,7 @@ class MessageBuilder:
2306
2095
  }
2307
2096
  if supertype.type.fullname in exclusions.get(type(subtype), []):
2308
2097
  return
2309
- if any(
2310
- isinstance(tp, UninhabitedType) for tp in get_proper_types(supertype.args)
2311
- ):
2098
+ if any(isinstance(tp, UninhabitedType) for tp in get_proper_types(supertype.args)):
2312
2099
  # We don't want to add notes for failed inference (e.g. Iterable[Never]).
2313
2100
  # This will be only confusing a user even more.
2314
2101
  return
@@ -2348,10 +2135,7 @@ class MessageBuilder:
2348
2135
  missing = get_missing_protocol_members(subtype, supertype, skip=skip)
2349
2136
  if (
2350
2137
  missing
2351
- and (
2352
- len(missing) < len(supertype.type.protocol_members)
2353
- or missing == ["__call__"]
2354
- )
2138
+ and (len(missing) < len(supertype.type.protocol_members) or missing == ["__call__"])
2355
2139
  and len(missing) <= MAX_ITEMS
2356
2140
  ):
2357
2141
  if missing == ["__call__"] and class_obj:
@@ -2371,9 +2155,7 @@ class MessageBuilder:
2371
2155
  code=code,
2372
2156
  )
2373
2157
  self.note(", ".join(missing), context, offset=OFFSET, code=code)
2374
- elif len(missing) > MAX_ITEMS or len(missing) == len(
2375
- supertype.type.protocol_members
2376
- ):
2158
+ elif len(missing) > MAX_ITEMS or len(missing) == len(supertype.type.protocol_members):
2377
2159
  # This is an obviously wrong type: too many missing members
2378
2160
  return
2379
2161
 
@@ -2390,11 +2172,7 @@ class MessageBuilder:
2390
2172
  or supertype.type.has_param_spec_type
2391
2173
  ):
2392
2174
  type_name = format_type(subtype, self.options, module_names=True)
2393
- self.note(
2394
- f"Following member(s) of {type_name} have conflicts:",
2395
- context,
2396
- code=code,
2397
- )
2175
+ self.note(f"Following member(s) of {type_name} have conflicts:", context, code=code)
2398
2176
  for name, got, exp in conflict_types[:MAX_ITEMS]:
2399
2177
  exp = get_proper_type(exp)
2400
2178
  got = get_proper_type(got)
@@ -2403,8 +2181,7 @@ class MessageBuilder:
2403
2181
  ):
2404
2182
  self.note(
2405
2183
  "{}: expected {}, got {}".format(
2406
- name,
2407
- *format_type_distinctly(exp, got, options=self.options),
2184
+ name, *format_type_distinctly(exp, got, options=self.options)
2408
2185
  ),
2409
2186
  context,
2410
2187
  offset=OFFSET,
@@ -2414,9 +2191,7 @@ class MessageBuilder:
2414
2191
  self.note("Expected:", context, offset=OFFSET, code=code)
2415
2192
  if isinstance(exp, CallableType):
2416
2193
  self.note(
2417
- pretty_callable(
2418
- exp, self.options, skip_self=class_obj or is_module
2419
- ),
2194
+ pretty_callable(exp, self.options, skip_self=class_obj or is_module),
2420
2195
  context,
2421
2196
  offset=2 * OFFSET,
2422
2197
  code=code,
@@ -2424,18 +2199,12 @@ class MessageBuilder:
2424
2199
  else:
2425
2200
  assert isinstance(exp, Overloaded)
2426
2201
  self.pretty_overload(
2427
- exp,
2428
- context,
2429
- 2 * OFFSET,
2430
- code=code,
2431
- skip_self=class_obj or is_module,
2202
+ exp, context, 2 * OFFSET, code=code, skip_self=class_obj or is_module
2432
2203
  )
2433
2204
  self.note("Got:", context, offset=OFFSET, code=code)
2434
2205
  if isinstance(got, CallableType):
2435
2206
  self.note(
2436
- pretty_callable(
2437
- got, self.options, skip_self=class_obj or is_module
2438
- ),
2207
+ pretty_callable(got, self.options, skip_self=class_obj or is_module),
2439
2208
  context,
2440
2209
  offset=2 * OFFSET,
2441
2210
  code=code,
@@ -2443,33 +2212,21 @@ class MessageBuilder:
2443
2212
  else:
2444
2213
  assert isinstance(got, Overloaded)
2445
2214
  self.pretty_overload(
2446
- got,
2447
- context,
2448
- 2 * OFFSET,
2449
- code=code,
2450
- skip_self=class_obj or is_module,
2215
+ got, context, 2 * OFFSET, code=code, skip_self=class_obj or is_module
2451
2216
  )
2452
2217
  self.print_more(conflict_types, context, OFFSET, MAX_ITEMS, code=code)
2453
2218
 
2454
2219
  # Report flag conflicts (i.e. settable vs read-only etc.)
2455
2220
  conflict_flags = get_bad_protocol_flags(subtype, supertype, class_obj=class_obj)
2456
2221
  for name, subflags, superflags in conflict_flags[:MAX_ITEMS]:
2457
- if (
2458
- not class_obj
2459
- and IS_CLASSVAR in subflags
2460
- and IS_CLASSVAR not in superflags
2461
- ):
2222
+ if not class_obj and IS_CLASSVAR in subflags and IS_CLASSVAR not in superflags:
2462
2223
  self.note(
2463
2224
  "Protocol member {}.{} expected instance variable,"
2464
2225
  " got class variable".format(supertype.type.name, name),
2465
2226
  context,
2466
2227
  code=code,
2467
2228
  )
2468
- if (
2469
- not class_obj
2470
- and IS_CLASSVAR in superflags
2471
- and IS_CLASSVAR not in subflags
2472
- ):
2229
+ if not class_obj and IS_CLASSVAR in superflags and IS_CLASSVAR not in subflags:
2473
2230
  self.note(
2474
2231
  "Protocol member {}.{} expected class variable,"
2475
2232
  " got instance variable".format(supertype.type.name, name),
@@ -2498,9 +2255,7 @@ class MessageBuilder:
2498
2255
  ):
2499
2256
  self.note(
2500
2257
  "Only class variables allowed for class object access on protocols,"
2501
- ' {} is an instance variable of "{}"'.format(
2502
- name, subtype.type.name
2503
- ),
2258
+ ' {} is an instance variable of "{}"'.format(name, subtype.type.name),
2504
2259
  context,
2505
2260
  code=code,
2506
2261
  )
@@ -2526,20 +2281,12 @@ class MessageBuilder:
2526
2281
  skip_self: bool = False,
2527
2282
  ) -> None:
2528
2283
  for item in tp.items:
2529
- self.note(
2530
- "@overload", context, offset=offset, allow_dups=allow_dups, code=code
2531
- )
2284
+ self.note("@overload", context, offset=offset, allow_dups=allow_dups, code=code)
2532
2285
 
2533
2286
  if add_class_or_static_decorator:
2534
2287
  decorator = pretty_class_or_static_decorator(item)
2535
2288
  if decorator is not None:
2536
- self.note(
2537
- decorator,
2538
- context,
2539
- offset=offset,
2540
- allow_dups=allow_dups,
2541
- code=code,
2542
- )
2289
+ self.note(decorator, context, offset=offset, allow_dups=allow_dups, code=code)
2543
2290
 
2544
2291
  self.note(
2545
2292
  pretty_callable(item, self.options, skip_self=skip_self),
@@ -2588,9 +2335,7 @@ class MessageBuilder:
2588
2335
  ):
2589
2336
  lhs_type = supertype.args[0]
2590
2337
  lhs_types = [lhs_type] * len(subtype.items)
2591
- self.generate_incompatible_tuple_error(
2592
- lhs_types, subtype.items, context, msg
2593
- )
2338
+ self.generate_incompatible_tuple_error(lhs_types, subtype.items, context, msg)
2594
2339
  return True
2595
2340
  elif isinstance(supertype, TupleType) and (
2596
2341
  len(subtype.items) > 10 or len(supertype.items) > 10
@@ -2702,21 +2447,14 @@ def format_callable_args(
2702
2447
  """Format a bunch of Callable arguments into a string"""
2703
2448
  arg_strings = []
2704
2449
  for arg_name, arg_type, arg_kind in zip(arg_names, arg_types, arg_kinds):
2705
- if (
2706
- arg_kind == ARG_POS
2707
- and arg_name is None
2708
- or verbosity == 0
2709
- and arg_kind.is_positional()
2710
- ):
2450
+ if arg_kind == ARG_POS and arg_name is None or verbosity == 0 and arg_kind.is_positional():
2711
2451
  arg_strings.append(format(arg_type))
2712
2452
  else:
2713
2453
  constructor = ARG_CONSTRUCTOR_NAMES[arg_kind]
2714
2454
  if arg_kind.is_star() or arg_name is None:
2715
2455
  arg_strings.append(f"{constructor}({format(arg_type)})")
2716
2456
  else:
2717
- arg_strings.append(
2718
- f"{constructor}({format(arg_type)}, {repr(arg_name)})"
2719
- )
2457
+ arg_strings.append(f"{constructor}({format(arg_type)}, {repr(arg_name)})")
2720
2458
 
2721
2459
  return ", ".join(arg_strings)
2722
2460
 
@@ -2780,10 +2518,7 @@ def format_type_inner(
2780
2518
  if itype.type.fullname == "typing._SpecialForm":
2781
2519
  # This is not a real type but used for some typing-related constructs.
2782
2520
  return "<typing special form>"
2783
- if (
2784
- itype.type.fullname in reverse_builtin_aliases
2785
- and not options.use_lowercase_names()
2786
- ):
2521
+ if itype.type.fullname in reverse_builtin_aliases and not options.use_lowercase_names():
2787
2522
  alias = reverse_builtin_aliases[itype.type.fullname]
2788
2523
  base_str = alias.split(".")[-1]
2789
2524
  elif verbosity >= 2 or (fullnames and itype.type.fullname in fullnames):
@@ -2815,11 +2550,7 @@ def format_type_inner(
2815
2550
  # Concatenate[..., P]
2816
2551
  if typ.prefix.arg_types:
2817
2552
  args = format_callable_args(
2818
- typ.prefix.arg_types,
2819
- typ.prefix.arg_kinds,
2820
- typ.prefix.arg_names,
2821
- format,
2822
- verbosity,
2553
+ typ.prefix.arg_types, typ.prefix.arg_kinds, typ.prefix.arg_names, format, verbosity
2823
2554
  )
2824
2555
 
2825
2556
  return f"[{args}, **{typ.name_with_suffix()}]"
@@ -2857,9 +2588,7 @@ def format_type_inner(
2857
2588
  ", ".join(format_literal_value(t) for t in literal_items)
2858
2589
  )
2859
2590
 
2860
- if len(union_items) == 1 and isinstance(
2861
- get_proper_type(union_items[0]), NoneType
2862
- ):
2591
+ if len(union_items) == 1 and isinstance(get_proper_type(union_items[0]), NoneType):
2863
2592
  return (
2864
2593
  f"{literal_str} | None"
2865
2594
  if options.use_or_syntax()
@@ -2876,14 +2605,11 @@ def format_type_inner(
2876
2605
  else:
2877
2606
  # Only print Union as Optional if the Optional wouldn't have to contain another Union
2878
2607
  print_as_optional = (
2879
- len(typ.items)
2880
- - sum(isinstance(get_proper_type(t), NoneType) for t in typ.items)
2608
+ len(typ.items) - sum(isinstance(get_proper_type(t), NoneType) for t in typ.items)
2881
2609
  == 1
2882
2610
  )
2883
2611
  if print_as_optional:
2884
- rest = [
2885
- t for t in typ.items if not isinstance(get_proper_type(t), NoneType)
2886
- ]
2612
+ rest = [t for t in typ.items if not isinstance(get_proper_type(t), NoneType)]
2887
2613
  return (
2888
2614
  f"{format(rest[0])} | None"
2889
2615
  if options.use_or_syntax()
@@ -2919,6 +2645,8 @@ def format_type_inner(
2919
2645
  elif isinstance(func, CallableType):
2920
2646
  if func.type_guard is not None:
2921
2647
  return_type = f"TypeGuard[{format(func.type_guard)}]"
2648
+ elif func.type_is is not None:
2649
+ return_type = f"TypeIs[{format(func.type_is)}]"
2922
2650
  else:
2923
2651
  return_type = format(func.ret_type)
2924
2652
  if func.is_ellipsis_args:
@@ -2938,9 +2666,7 @@ def format_type_inner(
2938
2666
  elif isinstance(typ, UnboundType):
2939
2667
  return typ.accept(TypeStrVisitor(options=options))
2940
2668
  elif isinstance(typ, Parameters):
2941
- args = format_callable_args(
2942
- typ.arg_types, typ.arg_kinds, typ.arg_names, format, verbosity
2943
- )
2669
+ args = format_callable_args(typ.arg_types, typ.arg_kinds, typ.arg_names, format, verbosity)
2944
2670
  return f"[{args}]"
2945
2671
  elif typ is None:
2946
2672
  raise RuntimeError("Type is None")
@@ -3025,14 +2751,10 @@ def format_type_bare(
3025
2751
  instead. (The caller may want to use quote_type_string after
3026
2752
  processing has happened, to maintain consistent quoting in messages.)
3027
2753
  """
3028
- return format_type_inner(
3029
- typ, verbosity, options, find_type_overlaps(typ), module_names
3030
- )
2754
+ return format_type_inner(typ, verbosity, options, find_type_overlaps(typ), module_names)
3031
2755
 
3032
2756
 
3033
- def format_type_distinctly(
3034
- *types: Type, options: Options, bare: bool = False
3035
- ) -> tuple[str, ...]:
2757
+ def format_type_distinctly(*types: Type, options: Options, bare: bool = False) -> tuple[str, ...]:
3036
2758
  """Jointly format types to distinct strings.
3037
2759
 
3038
2760
  Increase the verbosity of the type strings until they become distinct
@@ -3047,9 +2769,7 @@ def format_type_distinctly(
3047
2769
  overlapping = find_type_overlaps(*types)
3048
2770
  for verbosity in range(2):
3049
2771
  strs = [
3050
- format_type_inner(
3051
- type, verbosity=verbosity, options=options, fullnames=overlapping
3052
- )
2772
+ format_type_inner(type, verbosity=verbosity, options=options, fullnames=overlapping)
3053
2773
  for type in types
3054
2774
  ]
3055
2775
  if len(set(strs)) == len(strs):
@@ -3108,10 +2828,7 @@ def pretty_callable(tp: CallableType, options: Options, skip_self: bool = False)
3108
2828
  and name is None
3109
2829
  and (
3110
2830
  i == len(tp.arg_types) - 1
3111
- or (
3112
- tp.arg_names[i + 1] is not None
3113
- or not tp.arg_kinds[i + 1].is_positional()
3114
- )
2831
+ or (tp.arg_names[i + 1] is not None or not tp.arg_kinds[i + 1].is_positional())
3115
2832
  )
3116
2833
  ):
3117
2834
  s += ", /"
@@ -3146,6 +2863,8 @@ def pretty_callable(tp: CallableType, options: Options, skip_self: bool = False)
3146
2863
  s += " -> "
3147
2864
  if tp.type_guard is not None:
3148
2865
  s += f"TypeGuard[{format_type_bare(tp.type_guard, options)}]"
2866
+ elif tp.type_is is not None:
2867
+ s += f"TypeIs[{format_type_bare(tp.type_is, options)}]"
3149
2868
  else:
3150
2869
  s += format_type_bare(tp.ret_type, options)
3151
2870
 
@@ -3158,16 +2877,12 @@ def pretty_callable(tp: CallableType, options: Options, skip_self: bool = False)
3158
2877
  isinstance(upper_bound, Instance)
3159
2878
  and upper_bound.type.fullname != "builtins.object"
3160
2879
  ):
3161
- tvars.append(
3162
- f"{tvar.name} <: {format_type_bare(upper_bound, options)}"
3163
- )
2880
+ tvars.append(f"{tvar.name} <: {format_type_bare(upper_bound, options)}")
3164
2881
  elif tvar.values:
3165
2882
  tvars.append(
3166
2883
  "{} in ({})".format(
3167
2884
  tvar.name,
3168
- ", ".join(
3169
- [format_type_bare(tp, options) for tp in tvar.values]
3170
- ),
2885
+ ", ".join([format_type_bare(tp, options) for tp in tvar.values]),
3171
2886
  )
3172
2887
  )
3173
2888
  else:
@@ -3188,9 +2903,7 @@ def variance_string(variance: int) -> str:
3188
2903
  return "invariant"
3189
2904
 
3190
2905
 
3191
- def get_missing_protocol_members(
3192
- left: Instance, right: Instance, skip: list[str]
3193
- ) -> list[str]:
2906
+ def get_missing_protocol_members(left: Instance, right: Instance, skip: list[str]) -> list[str]:
3194
2907
  """Find all protocol members of 'right' that are not implemented
3195
2908
  (i.e. completely missing) in 'left'.
3196
2909
  """
@@ -3205,10 +2918,7 @@ def get_missing_protocol_members(
3205
2918
 
3206
2919
 
3207
2920
  def get_conflict_protocol_types(
3208
- left: Instance,
3209
- right: Instance,
3210
- class_obj: bool = False,
3211
- options: Options | None = None,
2921
+ left: Instance, right: Instance, class_obj: bool = False, options: Options | None = None
3212
2922
  ) -> list[tuple[str, Type, Type]]:
3213
2923
  """Find members that are defined in 'left' but have incompatible types.
3214
2924
  Return them as a list of ('member', 'got', 'expected').
@@ -3223,9 +2933,7 @@ def get_conflict_protocol_types(
3223
2933
  subtype = mypy.typeops.get_protocol_member(left, member, class_obj)
3224
2934
  if not subtype:
3225
2935
  continue
3226
- is_compat = is_subtype(
3227
- subtype, supertype, ignore_pos_arg_names=True, options=options
3228
- )
2936
+ is_compat = is_subtype(subtype, supertype, ignore_pos_arg_names=True, options=options)
3229
2937
  if IS_SETTABLE in get_member_flags(member, right):
3230
2938
  is_compat = is_compat and is_subtype(supertype, subtype, options=options)
3231
2939
  if not is_compat:
@@ -3243,11 +2951,7 @@ def get_bad_protocol_flags(
3243
2951
  all_flags: list[tuple[str, set[int], set[int]]] = []
3244
2952
  for member in right.type.protocol_members:
3245
2953
  if find_member(member, left, left):
3246
- item = (
3247
- member,
3248
- get_member_flags(member, left),
3249
- get_member_flags(member, right),
3250
- )
2954
+ item = (member, get_member_flags(member, left), get_member_flags(member, right))
3251
2955
  all_flags.append(item)
3252
2956
  bad_flags = []
3253
2957
  for name, subflags, superflags in all_flags:
@@ -3345,9 +3049,7 @@ def wrong_type_arg_count(low: int, high: int, act: str, name: str) -> str:
3345
3049
  return f'"{name}" expects {s}, but {act} given'
3346
3050
 
3347
3051
 
3348
- def find_defining_module(
3349
- modules: dict[str, MypyFile], typ: CallableType
3350
- ) -> MypyFile | None:
3052
+ def find_defining_module(modules: dict[str, MypyFile], typ: CallableType) -> MypyFile | None:
3351
3053
  if not typ.definition:
3352
3054
  return None
3353
3055
  fullname = typ.definition.fullname
@@ -3382,10 +3084,7 @@ def best_matches(current: str, options: Collection[str], n: int) -> list[str]:
3382
3084
  if len(options) >= 50:
3383
3085
  options = [o for o in options if abs(len(o) - len(current)) <= 1]
3384
3086
 
3385
- ratios = {
3386
- option: difflib.SequenceMatcher(a=current, b=option).ratio()
3387
- for option in options
3388
- }
3087
+ ratios = {option: difflib.SequenceMatcher(a=current, b=option).ratio() for option in options}
3389
3088
  options = [option for option, ratio in ratios.items() if ratio > 0.75]
3390
3089
  return sorted(options, key=lambda v: (-ratios[v], v))[:n]
3391
3090