jaclang 0.6.0__py3-none-any.whl → 0.6.5__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of jaclang might be problematic. Click here for more details.
- jaclang/__init__.py +1 -9
- jaclang/cli/.gitignore +3 -0
- jaclang/cli/cli.md +190 -0
- jaclang/cli/cli.py +115 -7
- jaclang/cli/cmdreg.py +18 -6
- jaclang/compiler/.gitignore +1 -0
- jaclang/compiler/__init__.py +1 -0
- jaclang/compiler/absyntree.py +8 -9
- jaclang/compiler/compile.py +4 -4
- jaclang/compiler/jac.lark +1 -0
- jaclang/compiler/parser.py +16 -3
- jaclang/compiler/passes/main/def_impl_match_pass.py +8 -1
- jaclang/compiler/passes/main/fuse_typeinfo_pass.py +20 -8
- jaclang/compiler/passes/main/import_pass.py +78 -47
- jaclang/compiler/passes/main/pyast_gen_pass.py +6 -57
- jaclang/compiler/passes/main/pyast_load_pass.py +33 -6
- jaclang/compiler/passes/main/pyjac_ast_link_pass.py +218 -0
- jaclang/compiler/passes/main/schedules.py +2 -0
- jaclang/compiler/passes/main/sym_tab_build_pass.py +9 -3
- jaclang/compiler/passes/main/tests/fixtures/autoimpl.impl/getme.impl.jac +3 -0
- jaclang/compiler/passes/main/tests/fixtures/autoimpl.impl.jac +3 -0
- jaclang/compiler/passes/main/tests/fixtures/autoimpl.jac +9 -0
- jaclang/compiler/passes/main/tests/fixtures/autoimpl.something.else.impl.jac +3 -0
- jaclang/compiler/passes/main/tests/fixtures/base.jac +13 -0
- jaclang/compiler/passes/main/tests/fixtures/base2.jac +14 -0
- jaclang/compiler/passes/main/tests/fixtures/blip.jac +2 -0
- jaclang/compiler/passes/main/tests/fixtures/codegentext.jac +31 -0
- jaclang/compiler/passes/main/tests/fixtures/decls.jac +10 -0
- jaclang/compiler/passes/main/tests/fixtures/defs_and_uses.jac +44 -0
- jaclang/compiler/passes/main/tests/fixtures/fstrings.jac +4 -0
- jaclang/compiler/passes/main/tests/fixtures/func.jac +18 -0
- jaclang/compiler/passes/main/tests/fixtures/func2.jac +8 -0
- jaclang/compiler/passes/main/tests/fixtures/game1.jac +15 -0
- jaclang/compiler/passes/main/tests/fixtures/impl/defs1.jac +8 -0
- jaclang/compiler/passes/main/tests/fixtures/impl/defs2.jac +8 -0
- jaclang/compiler/passes/main/tests/fixtures/impl/imps.jac +11 -0
- jaclang/compiler/passes/main/tests/fixtures/multi_def_err.jac +7 -0
- jaclang/compiler/passes/main/tests/fixtures/registry.jac +36 -0
- jaclang/compiler/passes/main/tests/fixtures/type_info.jac +31 -0
- jaclang/compiler/passes/main/tests/test_import_pass.py +11 -0
- jaclang/compiler/passes/main/tests/test_type_check_pass.py +15 -0
- jaclang/compiler/passes/tool/tests/fixtures/corelib.jac +480 -0
- jaclang/compiler/passes/tool/tests/fixtures/corelib_fmt.jac +480 -0
- jaclang/compiler/passes/tool/tests/fixtures/genai/essay_review.jac +36 -0
- jaclang/compiler/passes/tool/tests/fixtures/genai/expert_answer.jac +17 -0
- jaclang/compiler/passes/tool/tests/fixtures/genai/joke_gen.jac +32 -0
- jaclang/compiler/passes/tool/tests/fixtures/genai/odd_word_out.jac +27 -0
- jaclang/compiler/passes/tool/tests/fixtures/genai/personality_finder.jac +35 -0
- jaclang/compiler/passes/tool/tests/fixtures/genai/text_to_type.jac +25 -0
- jaclang/compiler/passes/tool/tests/fixtures/genai/translator.jac +13 -0
- jaclang/compiler/passes/tool/tests/fixtures/genai/wikipedia.jac +63 -0
- jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.dot +39 -0
- jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.jac +7 -0
- jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.txt +20 -0
- jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/ability_impl_long_comprehension.jac +15 -0
- jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/call_with_many_parameters.jac +24 -0
- jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/entry_main.jac +4 -0
- jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/long_line_nested_dict_access.jac +10 -0
- jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/multiline_fstrings.jac +16 -0
- jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/nested_dict.jac +15 -0
- jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/nested_loop_and_incrementer.jac +13 -0
- jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/simple_walker.jac +25 -0
- jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/try_block_and_walker_spawn_and_fstrings.jac +26 -0
- jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/tuple_iteration_and_not_negation.jac +20 -0
- jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/type_annotation.jac +3 -0
- jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_decl_only.jac +12 -0
- jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_with_default_values_types_and_docstrings.jac +18 -0
- jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_with_inline_ability_impl.jac +8 -0
- jaclang/compiler/passes/tool/tests/fixtures/simple_walk.jac +47 -0
- jaclang/compiler/passes/tool/tests/fixtures/simple_walk_fmt.jac +47 -0
- jaclang/compiler/passes/utils/mypy_ast_build.py +8 -0
- jaclang/compiler/tests/fixtures/fam.jac +67 -0
- jaclang/compiler/tests/fixtures/hello_world.jac +5 -0
- jaclang/compiler/tests/fixtures/kwesc.jac +5 -0
- jaclang/compiler/tests/fixtures/mod_doc_test.jac +1 -0
- jaclang/compiler/tests/fixtures/staticcheck.jac +20 -0
- jaclang/compiler/tests/fixtures/stuff.jac +6 -0
- jaclang/core/aott.py +10 -1
- jaclang/core/construct.py +157 -21
- jaclang/core/importer.py +6 -2
- jaclang/core/memory.py +48 -0
- jaclang/core/shelve_storage.py +55 -0
- jaclang/langserve/__init__.py +1 -0
- jaclang/langserve/server.py +108 -0
- jaclang/langserve/tests/__init__.py +1 -0
- jaclang/langserve/tests/defaults.py +226 -0
- jaclang/langserve/tests/fixtures/hello.jac +1 -0
- jaclang/langserve/tests/pylsp_jsonrpc/__init__.py +2 -0
- jaclang/langserve/tests/pylsp_jsonrpc/dispatchers.py +37 -0
- jaclang/langserve/tests/pylsp_jsonrpc/endpoint.py +294 -0
- jaclang/langserve/tests/pylsp_jsonrpc/exceptions.py +114 -0
- jaclang/langserve/tests/pylsp_jsonrpc/streams.py +113 -0
- jaclang/langserve/tests/session.py +255 -0
- jaclang/langserve/tests/test_server.py +36 -0
- jaclang/langserve/utils.py +53 -0
- jaclang/plugin/__init__.py +1 -2
- jaclang/plugin/builtin.py +1 -1
- jaclang/plugin/default.py +97 -4
- jaclang/plugin/feature.py +28 -9
- jaclang/plugin/spec.py +45 -10
- jaclang/plugin/tests/fixtures/impl_match.jac +9 -0
- jaclang/plugin/tests/fixtures/impl_match_impl.jac +3 -0
- jaclang/plugin/tests/fixtures/simple_node_connection.jac +55 -0
- jaclang/plugin/tests/fixtures/simple_persistent.jac +41 -0
- jaclang/plugin/tests/test_jaseci.py +219 -0
- jaclang/settings.py +5 -0
- jaclang/tests/fixtures/abc.jac +73 -0
- jaclang/tests/fixtures/access_checker.jac +19 -0
- jaclang/tests/fixtures/access_modifier.jac +49 -0
- jaclang/tests/fixtures/aott_raise.jac +25 -0
- jaclang/tests/fixtures/arithmetic_bug.jac +13 -0
- jaclang/tests/fixtures/assign_compr.jac +15 -0
- jaclang/tests/fixtures/assign_compr_dup.jac +15 -0
- jaclang/tests/fixtures/builtin_dotgen.jac +41 -0
- jaclang/tests/fixtures/chandra_bugs.jac +11 -0
- jaclang/tests/fixtures/chandra_bugs2.jac +26 -0
- jaclang/tests/fixtures/circle_pysolo.py +91 -0
- jaclang/tests/fixtures/deep/deeper/deep_outer_import.jac +9 -0
- jaclang/tests/fixtures/deep/deeper/deep_outer_import2.jac +9 -0
- jaclang/tests/fixtures/deep/deeper/snd_lev.jac +6 -0
- jaclang/tests/fixtures/deep/mycode.jac +4 -0
- jaclang/tests/fixtures/deep/one_lev.jac +6 -0
- jaclang/tests/fixtures/deep/one_lev_dup.jac +6 -0
- jaclang/tests/fixtures/deep/one_lev_dup_py.py +6 -0
- jaclang/tests/fixtures/deep_convert.jac +5 -0
- jaclang/tests/fixtures/deep_convo.py +6 -0
- jaclang/tests/fixtures/deep_import.jac +7 -0
- jaclang/tests/fixtures/deferred_field.jac +13 -0
- jaclang/tests/fixtures/disconn.jac +29 -0
- jaclang/tests/fixtures/edge_node_walk.jac +46 -0
- jaclang/tests/fixtures/edge_ops.jac +45 -0
- jaclang/tests/fixtures/edges_walk.jac +38 -0
- jaclang/tests/fixtures/enum_inside_archtype.jac +20 -0
- jaclang/tests/fixtures/err.jac +5 -0
- jaclang/tests/fixtures/err2.jac +5 -0
- jaclang/tests/fixtures/game1.jac +15 -0
- jaclang/tests/fixtures/gendot_bubble_sort.jac +77 -0
- jaclang/tests/fixtures/guess_game.jac +47 -0
- jaclang/tests/fixtures/has_goodness.jac +15 -0
- jaclang/tests/fixtures/hashcheck.jac +12 -0
- jaclang/tests/fixtures/hashcheck_dup.jac +12 -0
- jaclang/tests/fixtures/hello.jac +5 -0
- jaclang/tests/fixtures/hello_nc.jac +5 -0
- jaclang/tests/fixtures/ignore.jac +43 -0
- jaclang/tests/fixtures/ignore_dup.jac +43 -0
- jaclang/tests/fixtures/impl_grab.impl.jac +4 -0
- jaclang/tests/fixtures/impl_grab.jac +2 -0
- jaclang/tests/fixtures/inherit_check.jac +33 -0
- jaclang/tests/fixtures/jacsamp.jac +6 -0
- jaclang/tests/fixtures/jp_importer.jac +17 -0
- jaclang/tests/fixtures/lambda.jac +6 -0
- jaclang/tests/fixtures/maxfail_run_test.jac +5 -0
- jaclang/tests/fixtures/mtest.impl.jac +6 -0
- jaclang/tests/fixtures/mtest.jac +6 -0
- jaclang/tests/fixtures/needs_import.jac +18 -0
- jaclang/tests/fixtures/needs_import_1.jac +6 -0
- jaclang/tests/fixtures/needs_import_2.jac +6 -0
- jaclang/tests/fixtures/needs_import_3.jac +6 -0
- jaclang/tests/fixtures/needs_import_dup.jac +18 -0
- jaclang/tests/fixtures/package_import.jac +6 -0
- jaclang/tests/fixtures/pyfunc.py +11 -0
- jaclang/tests/fixtures/pyfunc_1.py +311 -0
- jaclang/tests/fixtures/pyfunc_2.py +279 -0
- jaclang/tests/fixtures/pyfunc_3.py +310 -0
- jaclang/tests/fixtures/random_check.jac +62 -0
- jaclang/tests/fixtures/raw_byte_string.jac +18 -0
- jaclang/tests/fixtures/registry.jac +37 -0
- jaclang/tests/fixtures/run_test.jac +5 -0
- jaclang/tests/fixtures/semstr.jac +33 -0
- jaclang/tests/fixtures/simple_archs.jac +26 -0
- jaclang/tests/fixtures/slice_vals.jac +7 -0
- jaclang/tests/fixtures/sub_abil_sep.jac +15 -0
- jaclang/tests/fixtures/sub_abil_sep_multilev.jac +17 -0
- jaclang/tests/fixtures/try_finally.jac +34 -0
- jaclang/tests/fixtures/tupleunpack.jac +6 -0
- jaclang/tests/fixtures/tuplytuples.jac +8 -0
- jaclang/tests/fixtures/type_info.jac +15 -0
- jaclang/tests/fixtures/with_context.jac +30 -0
- jaclang/tests/fixtures/with_llm_function.jac +33 -0
- jaclang/tests/fixtures/with_llm_lower.jac +45 -0
- jaclang/tests/fixtures/with_llm_method.jac +51 -0
- jaclang/tests/fixtures/with_llm_type.jac +52 -0
- jaclang/tests/test_cli.py +239 -0
- jaclang/tests/test_language.py +831 -0
- jaclang/tests/test_man_code.py +148 -0
- jaclang/tests/test_reference.py +95 -0
- jaclang/tests/test_settings.py +46 -0
- jaclang/utils/helpers.py +11 -0
- jaclang/utils/tests/test_lang_tools.py +17 -0
- jaclang/utils/treeprinter.py +17 -4
- jaclang/vendor/__init__.py +12 -1
- jaclang/vendor/attr/__init__.py +134 -0
- jaclang/vendor/attr/__init__.pyi +555 -0
- jaclang/vendor/attr/_cmp.py +150 -0
- jaclang/vendor/attr/_cmp.pyi +13 -0
- jaclang/vendor/attr/_compat.py +87 -0
- jaclang/vendor/attr/_config.py +31 -0
- jaclang/vendor/attr/_funcs.py +483 -0
- jaclang/vendor/attr/_make.py +3119 -0
- jaclang/vendor/attr/_next_gen.py +229 -0
- jaclang/vendor/attr/_typing_compat.pyi +15 -0
- jaclang/vendor/attr/_version_info.py +86 -0
- jaclang/vendor/attr/_version_info.pyi +9 -0
- jaclang/vendor/attr/converters.py +144 -0
- jaclang/vendor/attr/converters.pyi +13 -0
- jaclang/vendor/attr/exceptions.py +95 -0
- jaclang/vendor/attr/exceptions.pyi +17 -0
- jaclang/vendor/attr/filters.py +66 -0
- jaclang/vendor/attr/filters.pyi +6 -0
- jaclang/vendor/attr/setters.py +73 -0
- jaclang/vendor/attr/setters.pyi +19 -0
- jaclang/vendor/attr/validators.py +681 -0
- jaclang/vendor/attr/validators.pyi +88 -0
- jaclang/vendor/attrs/__init__.py +65 -0
- jaclang/vendor/attrs/__init__.pyi +67 -0
- jaclang/vendor/attrs/converters.py +3 -0
- jaclang/vendor/attrs/exceptions.py +3 -0
- jaclang/vendor/attrs/filters.py +3 -0
- jaclang/vendor/attrs/py.typed +0 -0
- jaclang/vendor/attrs/setters.py +3 -0
- jaclang/vendor/attrs/validators.py +3 -0
- jaclang/vendor/attrs-23.2.0.dist-info/METADATA +202 -0
- jaclang/vendor/attrs-23.2.0.dist-info/RECORD +35 -0
- jaclang/vendor/attrs-23.2.0.dist-info/WHEEL +4 -0
- jaclang/vendor/attrs-23.2.0.dist-info/licenses/LICENSE +21 -0
- jaclang/vendor/cattr/__init__.py +25 -0
- jaclang/vendor/cattr/converters.py +8 -0
- jaclang/vendor/cattr/disambiguators.py +3 -0
- jaclang/vendor/cattr/dispatch.py +3 -0
- jaclang/vendor/cattr/errors.py +15 -0
- jaclang/vendor/cattr/gen.py +21 -0
- jaclang/vendor/cattr/preconf/__init__.py +3 -0
- jaclang/vendor/cattr/preconf/bson.py +4 -0
- jaclang/vendor/cattr/preconf/json.py +4 -0
- jaclang/vendor/cattr/preconf/msgpack.py +4 -0
- jaclang/vendor/cattr/preconf/orjson.py +4 -0
- jaclang/vendor/cattr/preconf/pyyaml.py +4 -0
- jaclang/vendor/cattr/preconf/tomlkit.py +4 -0
- jaclang/vendor/cattr/preconf/ujson.py +4 -0
- jaclang/vendor/cattr/py.typed +0 -0
- jaclang/vendor/cattrs/__init__.py +55 -0
- jaclang/vendor/cattrs/_compat.py +465 -0
- jaclang/vendor/cattrs/_generics.py +22 -0
- jaclang/vendor/cattrs/converters.py +1101 -0
- jaclang/vendor/cattrs/disambiguators.py +132 -0
- jaclang/vendor/cattrs/dispatch.py +164 -0
- jaclang/vendor/cattrs/errors.py +129 -0
- jaclang/vendor/cattrs/fns.py +17 -0
- jaclang/vendor/cattrs/gen/__init__.py +890 -0
- jaclang/vendor/cattrs/gen/_consts.py +19 -0
- jaclang/vendor/cattrs/gen/_generics.py +43 -0
- jaclang/vendor/cattrs/gen/_lc.py +28 -0
- jaclang/vendor/cattrs/gen/_shared.py +51 -0
- jaclang/vendor/cattrs/gen/typeddicts.py +624 -0
- jaclang/vendor/cattrs/preconf/__init__.py +7 -0
- jaclang/vendor/cattrs/preconf/bson.py +107 -0
- jaclang/vendor/cattrs/preconf/cbor2.py +47 -0
- jaclang/vendor/cattrs/preconf/json.py +52 -0
- jaclang/vendor/cattrs/preconf/msgpack.py +51 -0
- jaclang/vendor/cattrs/preconf/orjson.py +82 -0
- jaclang/vendor/cattrs/preconf/pyyaml.py +60 -0
- jaclang/vendor/cattrs/preconf/tomlkit.py +85 -0
- jaclang/vendor/cattrs/preconf/ujson.py +52 -0
- jaclang/vendor/cattrs/py.typed +0 -0
- jaclang/vendor/cattrs/strategies/__init__.py +11 -0
- jaclang/vendor/cattrs/strategies/_class_methods.py +64 -0
- jaclang/vendor/cattrs/strategies/_subclasses.py +224 -0
- jaclang/vendor/cattrs/strategies/_unions.py +235 -0
- jaclang/vendor/cattrs/v.py +111 -0
- jaclang/vendor/cattrs-23.2.3.dist-info/METADATA +221 -0
- jaclang/vendor/cattrs-23.2.3.dist-info/RECORD +48 -0
- jaclang/vendor/cattrs-23.2.3.dist-info/WHEEL +4 -0
- jaclang/vendor/cattrs-23.2.3.dist-info/licenses/LICENSE +11 -0
- jaclang/vendor/lark/__init__.py +38 -38
- jaclang/vendor/lark/__pyinstaller/__init__.py +6 -7
- jaclang/vendor/lark/__pyinstaller/hook-lark.py +14 -14
- jaclang/vendor/lark/ast_utils.py +59 -70
- jaclang/vendor/lark/common.py +89 -113
- jaclang/vendor/lark/exceptions.py +292 -352
- jaclang/vendor/lark/grammar.py +130 -158
- jaclang/vendor/lark/grammars/common.lark +59 -59
- jaclang/vendor/lark/grammars/lark.lark +62 -62
- jaclang/vendor/lark/grammars/python.lark +302 -302
- jaclang/vendor/lark/grammars/unicode.lark +7 -7
- jaclang/vendor/lark/indenter.py +112 -118
- jaclang/vendor/lark/lark.py +661 -800
- jaclang/vendor/lark/lexer.py +678 -829
- jaclang/vendor/lark/load_grammar.py +1428 -1673
- jaclang/vendor/lark/parse_tree_builder.py +391 -466
- jaclang/vendor/lark/parser_frontends.py +257 -305
- jaclang/vendor/lark/parsers/cyk.py +340 -391
- jaclang/vendor/lark/parsers/earley.py +308 -385
- jaclang/vendor/lark/parsers/earley_common.py +42 -59
- jaclang/vendor/lark/parsers/earley_forest.py +810 -923
- jaclang/vendor/lark/parsers/grammar_analysis.py +203 -239
- jaclang/vendor/lark/parsers/lalr_analysis.py +332 -378
- jaclang/vendor/lark/parsers/lalr_interactive_parser.py +157 -171
- jaclang/vendor/lark/parsers/lalr_parser.py +122 -145
- jaclang/vendor/lark/parsers/lalr_parser_state.py +110 -141
- jaclang/vendor/lark/parsers/xearley.py +165 -209
- jaclang/vendor/lark/reconstruct.py +107 -131
- jaclang/vendor/lark/tools/__init__.py +71 -93
- jaclang/vendor/lark/tools/nearley.py +202 -240
- jaclang/vendor/lark/tools/serialize.py +32 -35
- jaclang/vendor/lark/tools/standalone.py +196 -225
- jaclang/vendor/lark/tree.py +272 -302
- jaclang/vendor/lark/tree_matcher.py +186 -194
- jaclang/vendor/lark/tree_templates.py +18 -26
- jaclang/vendor/lark/utils.py +361 -393
- jaclang/vendor/lark/visitors.py +593 -645
- jaclang/vendor/lark-1.1.9.dist-info/LICENSE +18 -0
- jaclang/vendor/lark-1.1.9.dist-info/METADATA +47 -0
- jaclang/vendor/lark-1.1.9.dist-info/RECORD +46 -0
- jaclang/vendor/lark-1.1.9.dist-info/WHEEL +5 -0
- jaclang/vendor/lark-1.1.9.dist-info/entry_points.txt +2 -0
- jaclang/vendor/lark-1.1.9.dist-info/top_level.txt +1 -0
- jaclang/vendor/lsprotocol/__init__.py +2 -0
- jaclang/vendor/lsprotocol/_hooks.py +1237 -0
- jaclang/vendor/lsprotocol/converters.py +17 -0
- jaclang/vendor/lsprotocol/py.typed +0 -0
- jaclang/vendor/lsprotocol/types.py +12898 -0
- jaclang/vendor/lsprotocol/validators.py +47 -0
- jaclang/vendor/lsprotocol-2023.0.1.dist-info/LICENSE +21 -0
- jaclang/vendor/lsprotocol-2023.0.1.dist-info/METADATA +65 -0
- jaclang/vendor/lsprotocol-2023.0.1.dist-info/RECORD +10 -0
- jaclang/vendor/lsprotocol-2023.0.1.dist-info/WHEEL +4 -0
- jaclang/vendor/mypy/api.py +1 -3
- jaclang/vendor/mypy/applytype.py +24 -24
- jaclang/vendor/mypy/argmap.py +5 -9
- jaclang/vendor/mypy/binder.py +11 -42
- jaclang/vendor/mypy/build.py +78 -260
- jaclang/vendor/mypy/checker.py +394 -930
- jaclang/vendor/mypy/checkexpr.py +210 -640
- jaclang/vendor/mypy/checkmember.py +44 -94
- jaclang/vendor/mypy/checkpattern.py +32 -104
- jaclang/vendor/mypy/checkstrformat.py +38 -131
- jaclang/vendor/mypy/config_parser.py +8 -31
- jaclang/vendor/mypy/constant_fold.py +1 -3
- jaclang/vendor/mypy/constraints.py +94 -253
- jaclang/vendor/mypy/copytype.py +3 -13
- jaclang/vendor/mypy/defaults.py +2 -4
- jaclang/vendor/mypy/dmypy/client.py +30 -102
- jaclang/vendor/mypy/dmypy_server.py +31 -118
- jaclang/vendor/mypy/erasetype.py +6 -18
- jaclang/vendor/mypy/errorcodes.py +26 -64
- jaclang/vendor/mypy/errors.py +23 -117
- jaclang/vendor/mypy/evalexpr.py +1 -3
- jaclang/vendor/mypy/expandtype.py +37 -40
- jaclang/vendor/mypy/exprtotype.py +14 -27
- jaclang/vendor/mypy/fastparse.py +66 -215
- jaclang/vendor/mypy/find_sources.py +4 -14
- jaclang/vendor/mypy/fixup.py +5 -10
- jaclang/vendor/mypy/indirection.py +1 -3
- jaclang/vendor/mypy/infer.py +2 -6
- jaclang/vendor/mypy/inspections.py +3 -13
- jaclang/vendor/mypy/ipc.py +7 -28
- jaclang/vendor/mypy/join.py +20 -39
- jaclang/vendor/mypy/literals.py +2 -10
- jaclang/vendor/mypy/main.py +39 -138
- jaclang/vendor/mypy/maptype.py +2 -6
- jaclang/vendor/mypy/meet.py +23 -77
- jaclang/vendor/mypy/message_registry.py +33 -88
- jaclang/vendor/mypy/messages.py +146 -447
- jaclang/vendor/mypy/metastore.py +2 -6
- jaclang/vendor/mypy/modulefinder.py +29 -76
- jaclang/vendor/mypy/moduleinspect.py +5 -17
- jaclang/vendor/mypy/mro.py +1 -3
- jaclang/vendor/mypy/nodes.py +35 -119
- jaclang/vendor/mypy/operators.py +2 -11
- jaclang/vendor/mypy/options.py +3 -9
- jaclang/vendor/mypy/parse.py +1 -3
- jaclang/vendor/mypy/plugin.py +25 -75
- jaclang/vendor/mypy/plugins/attrs.py +53 -119
- jaclang/vendor/mypy/plugins/common.py +9 -29
- jaclang/vendor/mypy/plugins/ctypes.py +5 -15
- jaclang/vendor/mypy/plugins/dataclasses.py +42 -107
- jaclang/vendor/mypy/plugins/default.py +26 -45
- jaclang/vendor/mypy/plugins/enums.py +4 -17
- jaclang/vendor/mypy/plugins/functools.py +2 -11
- jaclang/vendor/mypy/plugins/proper_plugin.py +2 -6
- jaclang/vendor/mypy/plugins/singledispatch.py +7 -33
- jaclang/vendor/mypy/reachability.py +2 -8
- jaclang/vendor/mypy/refinfo.py +1 -3
- jaclang/vendor/mypy/report.py +23 -52
- jaclang/vendor/mypy/semanal.py +385 -693
- jaclang/vendor/mypy/semanal_classprop.py +9 -34
- jaclang/vendor/mypy/semanal_enum.py +7 -19
- jaclang/vendor/mypy/semanal_infer.py +1 -3
- jaclang/vendor/mypy/semanal_main.py +5 -25
- jaclang/vendor/mypy/semanal_namedtuple.py +17 -56
- jaclang/vendor/mypy/semanal_newtype.py +8 -27
- jaclang/vendor/mypy/semanal_pass1.py +2 -6
- jaclang/vendor/mypy/semanal_shared.py +9 -27
- jaclang/vendor/mypy/semanal_typeargs.py +12 -41
- jaclang/vendor/mypy/semanal_typeddict.py +18 -59
- jaclang/vendor/mypy/server/astdiff.py +9 -34
- jaclang/vendor/mypy/server/astmerge.py +2 -6
- jaclang/vendor/mypy/server/deps.py +22 -71
- jaclang/vendor/mypy/server/mergecheck.py +1 -3
- jaclang/vendor/mypy/server/objgraph.py +2 -8
- jaclang/vendor/mypy/server/update.py +18 -54
- jaclang/vendor/mypy/solve.py +4 -17
- jaclang/vendor/mypy/split_namespace.py +1 -3
- jaclang/vendor/mypy/stats.py +6 -24
- jaclang/vendor/mypy/strconv.py +8 -31
- jaclang/vendor/mypy/stubdoc.py +8 -38
- jaclang/vendor/mypy/stubgen.py +79 -144
- jaclang/vendor/mypy/stubgenc.py +22 -69
- jaclang/vendor/mypy/stubtest.py +62 -167
- jaclang/vendor/mypy/stubutil.py +45 -61
- jaclang/vendor/mypy/subtypes.py +57 -133
- jaclang/vendor/mypy/suggestions.py +19 -53
- jaclang/vendor/mypy/test/data.py +13 -40
- jaclang/vendor/mypy/test/helpers.py +18 -43
- jaclang/vendor/mypy/test/meta/_pytest.py +2 -13
- jaclang/vendor/mypy/test/meta/test_parse_data.py +5 -9
- jaclang/vendor/mypy/test/meta/test_update_data.py +1 -3
- jaclang/vendor/mypy/test/test_find_sources.py +14 -32
- jaclang/vendor/mypy/test/test_ref_info.py +3 -9
- jaclang/vendor/mypy/test/testargs.py +1 -4
- jaclang/vendor/mypy/test/testcheck.py +14 -47
- jaclang/vendor/mypy/test/testcmdline.py +3 -14
- jaclang/vendor/mypy/test/testconstraints.py +8 -26
- jaclang/vendor/mypy/test/testdaemon.py +2 -9
- jaclang/vendor/mypy/test/testdeps.py +4 -12
- jaclang/vendor/mypy/test/testdiff.py +2 -6
- jaclang/vendor/mypy/test/testerrorstream.py +1 -3
- jaclang/vendor/mypy/test/testfinegrained.py +18 -56
- jaclang/vendor/mypy/test/testgraph.py +3 -18
- jaclang/vendor/mypy/test/testinfer.py +13 -55
- jaclang/vendor/mypy/test/testipc.py +3 -9
- jaclang/vendor/mypy/test/testmerge.py +5 -17
- jaclang/vendor/mypy/test/testmodulefinder.py +8 -30
- jaclang/vendor/mypy/test/testmypyc.py +1 -3
- jaclang/vendor/mypy/test/testparse.py +1 -3
- jaclang/vendor/mypy/test/testpep561.py +4 -13
- jaclang/vendor/mypy/test/testpythoneval.py +2 -6
- jaclang/vendor/mypy/test/testreports.py +1 -2
- jaclang/vendor/mypy/test/testsemanal.py +3 -10
- jaclang/vendor/mypy/test/testsolve.py +5 -15
- jaclang/vendor/mypy/test/teststubgen.py +69 -210
- jaclang/vendor/mypy/test/teststubtest.py +123 -163
- jaclang/vendor/mypy/test/testsubtypes.py +14 -34
- jaclang/vendor/mypy/test/testtransform.py +2 -8
- jaclang/vendor/mypy/test/testtypegen.py +2 -8
- jaclang/vendor/mypy/test/testtypes.py +77 -253
- jaclang/vendor/mypy/test/testutil.py +1 -3
- jaclang/vendor/mypy/test/typefixture.py +11 -38
- jaclang/vendor/mypy/test/update_data.py +4 -15
- jaclang/vendor/mypy/test/visitors.py +1 -9
- jaclang/vendor/mypy/treetransform.py +8 -25
- jaclang/vendor/mypy/tvar_scope.py +23 -3
- jaclang/vendor/mypy/type_visitor.py +3 -10
- jaclang/vendor/mypy/typeanal.py +183 -309
- jaclang/vendor/mypy/typeops.py +27 -73
- jaclang/vendor/mypy/types.py +77 -185
- jaclang/vendor/mypy/types_utils.py +7 -20
- jaclang/vendor/mypy/typeshed/LICENSE +237 -0
- jaclang/vendor/mypy/typeshed/stdlib/VERSIONS +309 -0
- jaclang/vendor/mypy/typeshed/stdlib/__future__.pyi +36 -0
- jaclang/vendor/mypy/typeshed/stdlib/__main__.pyi +3 -0
- jaclang/vendor/mypy/typeshed/stdlib/_ast.pyi +591 -0
- jaclang/vendor/mypy/typeshed/stdlib/_bisect.pyi +84 -0
- jaclang/vendor/mypy/typeshed/stdlib/_bootlocale.pyi +1 -0
- jaclang/vendor/mypy/typeshed/stdlib/_codecs.pyi +133 -0
- jaclang/vendor/mypy/typeshed/stdlib/_collections_abc.pyi +94 -0
- jaclang/vendor/mypy/typeshed/stdlib/_compat_pickle.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/_compression.pyi +25 -0
- jaclang/vendor/mypy/typeshed/stdlib/_csv.pyi +90 -0
- jaclang/vendor/mypy/typeshed/stdlib/_ctypes.pyi +207 -0
- jaclang/vendor/mypy/typeshed/stdlib/_curses.pyi +566 -0
- jaclang/vendor/mypy/typeshed/stdlib/_decimal.pyi +281 -0
- jaclang/vendor/mypy/typeshed/stdlib/_dummy_thread.pyi +33 -0
- jaclang/vendor/mypy/typeshed/stdlib/_dummy_threading.pyi +164 -0
- jaclang/vendor/mypy/typeshed/stdlib/_heapq.pyi +11 -0
- jaclang/vendor/mypy/typeshed/stdlib/_imp.pyi +28 -0
- jaclang/vendor/mypy/typeshed/stdlib/_json.pyi +49 -0
- jaclang/vendor/mypy/typeshed/stdlib/_locale.pyi +100 -0
- jaclang/vendor/mypy/typeshed/stdlib/_lsprof.pyi +35 -0
- jaclang/vendor/mypy/typeshed/stdlib/_markupbase.pyi +16 -0
- jaclang/vendor/mypy/typeshed/stdlib/_msi.pyi +92 -0
- jaclang/vendor/mypy/typeshed/stdlib/_operator.pyi +147 -0
- jaclang/vendor/mypy/typeshed/stdlib/_osx_support.pyi +34 -0
- jaclang/vendor/mypy/typeshed/stdlib/_posixsubprocess.pyi +33 -0
- jaclang/vendor/mypy/typeshed/stdlib/_py_abc.pyi +14 -0
- jaclang/vendor/mypy/typeshed/stdlib/_pydecimal.pyi +43 -0
- jaclang/vendor/mypy/typeshed/stdlib/_random.pyi +12 -0
- jaclang/vendor/mypy/typeshed/stdlib/_sitebuiltins.pyi +16 -0
- jaclang/vendor/mypy/typeshed/stdlib/_socket.pyi +803 -0
- jaclang/vendor/mypy/typeshed/stdlib/_stat.pyi +103 -0
- jaclang/vendor/mypy/typeshed/stdlib/_thread.pyi +59 -0
- jaclang/vendor/mypy/typeshed/stdlib/_threading_local.pyi +17 -0
- jaclang/vendor/mypy/typeshed/stdlib/_tkinter.pyi +121 -0
- jaclang/vendor/mypy/typeshed/stdlib/_tracemalloc.pyi +17 -0
- jaclang/vendor/mypy/typeshed/stdlib/_typeshed/__init__.pyi +347 -0
- jaclang/vendor/mypy/typeshed/stdlib/_typeshed/dbapi.pyi +37 -0
- jaclang/vendor/mypy/typeshed/stdlib/_typeshed/wsgi.pyi +44 -0
- jaclang/vendor/mypy/typeshed/stdlib/_typeshed/xml.pyi +9 -0
- jaclang/vendor/mypy/typeshed/stdlib/_warnings.pyi +55 -0
- jaclang/vendor/mypy/typeshed/stdlib/_weakref.pyi +41 -0
- jaclang/vendor/mypy/typeshed/stdlib/_weakrefset.pyi +51 -0
- jaclang/vendor/mypy/typeshed/stdlib/_winapi.pyi +255 -0
- jaclang/vendor/mypy/typeshed/stdlib/abc.pyi +51 -0
- jaclang/vendor/mypy/typeshed/stdlib/aifc.pyi +91 -0
- jaclang/vendor/mypy/typeshed/stdlib/antigravity.pyi +3 -0
- jaclang/vendor/mypy/typeshed/stdlib/argparse.pyi +595 -0
- jaclang/vendor/mypy/typeshed/stdlib/array.pyi +92 -0
- jaclang/vendor/mypy/typeshed/stdlib/ast.pyi +277 -0
- jaclang/vendor/mypy/typeshed/stdlib/asynchat.pyi +21 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/__init__.pyi +41 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_events.pyi +440 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_futures.pyi +19 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_subprocess.pyi +63 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_tasks.pyi +9 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/constants.pyi +20 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/coroutines.pyi +26 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/events.pyi +580 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/exceptions.pyi +43 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/format_helpers.pyi +20 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/futures.pyi +57 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/locks.pyi +121 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/log.pyi +3 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/mixins.pyi +9 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/proactor_events.pyi +64 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/protocols.pyi +34 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/queues.pyi +47 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/runners.pyi +32 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/selector_events.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/sslproto.pyi +165 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/staggered.pyi +10 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/streams.pyi +153 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/subprocess.pyi +229 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/taskgroups.pyi +25 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/tasks.pyi +497 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/threads.pyi +9 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/timeouts.pyi +19 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/transports.pyi +47 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/trsock.pyi +94 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/unix_events.pyi +196 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/windows_events.pyi +85 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncio/windows_utils.pyi +49 -0
- jaclang/vendor/mypy/typeshed/stdlib/asyncore.pyi +90 -0
- jaclang/vendor/mypy/typeshed/stdlib/atexit.pyi +12 -0
- jaclang/vendor/mypy/typeshed/stdlib/audioop.pyi +43 -0
- jaclang/vendor/mypy/typeshed/stdlib/base64.pyi +59 -0
- jaclang/vendor/mypy/typeshed/stdlib/bdb.pyi +102 -0
- jaclang/vendor/mypy/typeshed/stdlib/binascii.pyi +36 -0
- jaclang/vendor/mypy/typeshed/stdlib/binhex.pyi +45 -0
- jaclang/vendor/mypy/typeshed/stdlib/bisect.pyi +4 -0
- jaclang/vendor/mypy/typeshed/stdlib/builtins.pyi +1936 -0
- jaclang/vendor/mypy/typeshed/stdlib/bz2.pyi +146 -0
- jaclang/vendor/mypy/typeshed/stdlib/cProfile.pyi +31 -0
- jaclang/vendor/mypy/typeshed/stdlib/calendar.pyi +208 -0
- jaclang/vendor/mypy/typeshed/stdlib/cgi.pyi +118 -0
- jaclang/vendor/mypy/typeshed/stdlib/cgitb.pyi +32 -0
- jaclang/vendor/mypy/typeshed/stdlib/chunk.pyi +20 -0
- jaclang/vendor/mypy/typeshed/stdlib/cmath.pyi +36 -0
- jaclang/vendor/mypy/typeshed/stdlib/cmd.pyi +45 -0
- jaclang/vendor/mypy/typeshed/stdlib/code.pyi +33 -0
- jaclang/vendor/mypy/typeshed/stdlib/codecs.pyi +285 -0
- jaclang/vendor/mypy/typeshed/stdlib/codeop.pyi +13 -0
- jaclang/vendor/mypy/typeshed/stdlib/collections/__init__.pyi +485 -0
- jaclang/vendor/mypy/typeshed/stdlib/collections/abc.pyi +2 -0
- jaclang/vendor/mypy/typeshed/stdlib/colorsys.pyi +13 -0
- jaclang/vendor/mypy/typeshed/stdlib/compileall.pyi +111 -0
- jaclang/vendor/mypy/typeshed/stdlib/concurrent/__init__.pyi +0 -0
- jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/__init__.pyi +32 -0
- jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/_base.pyi +126 -0
- jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/process.pyi +233 -0
- jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/thread.pyi +80 -0
- jaclang/vendor/mypy/typeshed/stdlib/configparser.pyi +313 -0
- jaclang/vendor/mypy/typeshed/stdlib/contextlib.pyi +208 -0
- jaclang/vendor/mypy/typeshed/stdlib/contextvars.pyi +63 -0
- jaclang/vendor/mypy/typeshed/stdlib/copy.pyi +16 -0
- jaclang/vendor/mypy/typeshed/stdlib/copyreg.pyi +21 -0
- jaclang/vendor/mypy/typeshed/stdlib/crypt.pyi +12 -0
- jaclang/vendor/mypy/typeshed/stdlib/csv.pyi +147 -0
- jaclang/vendor/mypy/typeshed/stdlib/ctypes/__init__.pyi +187 -0
- jaclang/vendor/mypy/typeshed/stdlib/ctypes/_endian.pyi +19 -0
- jaclang/vendor/mypy/typeshed/stdlib/ctypes/util.pyi +6 -0
- jaclang/vendor/mypy/typeshed/stdlib/ctypes/wintypes.pyi +298 -0
- jaclang/vendor/mypy/typeshed/stdlib/curses/__init__.pyi +22 -0
- jaclang/vendor/mypy/typeshed/stdlib/curses/ascii.pyi +62 -0
- jaclang/vendor/mypy/typeshed/stdlib/curses/has_key.pyi +1 -0
- jaclang/vendor/mypy/typeshed/stdlib/curses/panel.pyi +22 -0
- jaclang/vendor/mypy/typeshed/stdlib/curses/textpad.pyi +11 -0
- jaclang/vendor/mypy/typeshed/stdlib/dataclasses.pyi +315 -0
- jaclang/vendor/mypy/typeshed/stdlib/datetime.pyi +295 -0
- jaclang/vendor/mypy/typeshed/stdlib/dbm/__init__.pyi +95 -0
- jaclang/vendor/mypy/typeshed/stdlib/dbm/dumb.pyi +31 -0
- jaclang/vendor/mypy/typeshed/stdlib/dbm/gnu.pyi +41 -0
- jaclang/vendor/mypy/typeshed/stdlib/dbm/ndbm.pyi +37 -0
- jaclang/vendor/mypy/typeshed/stdlib/decimal.pyi +2 -0
- jaclang/vendor/mypy/typeshed/stdlib/difflib.pyi +140 -0
- jaclang/vendor/mypy/typeshed/stdlib/dis.pyi +144 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/__init__.pyi +5 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/archive_util.pyi +20 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/bcppcompiler.pyi +3 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/ccompiler.pyi +152 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/cmd.pyi +66 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/command/__init__.pyi +0 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist.pyi +25 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_dumb.pyi +21 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_msi.pyi +45 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_packager.pyi +0 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_rpm.pyi +52 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_wininst.pyi +16 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build.pyi +31 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_clib.pyi +27 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_ext.pyi +50 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_py.pyi +44 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_scripts.pyi +24 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/command/check.pyi +39 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/command/clean.pyi +17 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/command/config.pyi +83 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install.pyi +63 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_data.pyi +19 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_egg_info.pyi +18 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_headers.pyi +16 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_lib.pyi +25 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_scripts.pyi +18 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/command/register.pyi +18 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/command/sdist.pyi +42 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/command/upload.pyi +17 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/config.pyi +17 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/core.pyi +57 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/cygwinccompiler.pyi +20 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/debug.pyi +1 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/dep_util.pyi +3 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/dir_util.pyi +13 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/dist.pyi +146 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/errors.pyi +19 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/extension.pyi +36 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/fancy_getopt.pyi +34 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/file_util.pyi +14 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/filelist.pyi +50 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/log.pyi +25 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/msvccompiler.pyi +3 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/spawn.pyi +2 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/sysconfig.pyi +31 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/text_file.pyi +21 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/unixccompiler.pyi +3 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/util.pyi +46 -0
- jaclang/vendor/mypy/typeshed/stdlib/distutils/version.pyi +36 -0
- jaclang/vendor/mypy/typeshed/stdlib/doctest.pyi +248 -0
- jaclang/vendor/mypy/typeshed/stdlib/dummy_threading.pyi +2 -0
- jaclang/vendor/mypy/typeshed/stdlib/email/__init__.pyi +29 -0
- jaclang/vendor/mypy/typeshed/stdlib/email/_header_value_parser.pyi +392 -0
- jaclang/vendor/mypy/typeshed/stdlib/email/_policybase.pyi +51 -0
- jaclang/vendor/mypy/typeshed/stdlib/email/base64mime.pyi +13 -0
- jaclang/vendor/mypy/typeshed/stdlib/email/charset.pyi +34 -0
- jaclang/vendor/mypy/typeshed/stdlib/email/contentmanager.pyi +11 -0
- jaclang/vendor/mypy/typeshed/stdlib/email/encoders.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/email/errors.pyi +39 -0
- jaclang/vendor/mypy/typeshed/stdlib/email/feedparser.pyi +23 -0
- jaclang/vendor/mypy/typeshed/stdlib/email/generator.pyi +40 -0
- jaclang/vendor/mypy/typeshed/stdlib/email/header.pyi +31 -0
- jaclang/vendor/mypy/typeshed/stdlib/email/headerregistry.pyi +178 -0
- jaclang/vendor/mypy/typeshed/stdlib/email/iterators.pyi +12 -0
- jaclang/vendor/mypy/typeshed/stdlib/email/message.pyi +165 -0
- jaclang/vendor/mypy/typeshed/stdlib/email/mime/__init__.pyi +0 -0
- jaclang/vendor/mypy/typeshed/stdlib/email/mime/application.pyi +17 -0
- jaclang/vendor/mypy/typeshed/stdlib/email/mime/audio.pyi +17 -0
- jaclang/vendor/mypy/typeshed/stdlib/email/mime/base.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/email/mime/image.pyi +17 -0
- jaclang/vendor/mypy/typeshed/stdlib/email/mime/message.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/email/mime/multipart.pyi +18 -0
- jaclang/vendor/mypy/typeshed/stdlib/email/mime/nonmultipart.pyi +5 -0
- jaclang/vendor/mypy/typeshed/stdlib/email/mime/text.pyi +9 -0
- jaclang/vendor/mypy/typeshed/stdlib/email/parser.pyi +26 -0
- jaclang/vendor/mypy/typeshed/stdlib/email/policy.pyi +38 -0
- jaclang/vendor/mypy/typeshed/stdlib/email/quoprimime.pyi +28 -0
- jaclang/vendor/mypy/typeshed/stdlib/email/utils.pyi +70 -0
- jaclang/vendor/mypy/typeshed/stdlib/encodings/__init__.pyi +10 -0
- jaclang/vendor/mypy/typeshed/stdlib/encodings/utf_8.pyi +21 -0
- jaclang/vendor/mypy/typeshed/stdlib/encodings/utf_8_sig.pyi +22 -0
- jaclang/vendor/mypy/typeshed/stdlib/ensurepip/__init__.pyi +12 -0
- jaclang/vendor/mypy/typeshed/stdlib/enum.pyi +320 -0
- jaclang/vendor/mypy/typeshed/stdlib/errno.pyi +222 -0
- jaclang/vendor/mypy/typeshed/stdlib/faulthandler.pyi +13 -0
- jaclang/vendor/mypy/typeshed/stdlib/fcntl.pyi +127 -0
- jaclang/vendor/mypy/typeshed/stdlib/filecmp.pyi +57 -0
- jaclang/vendor/mypy/typeshed/stdlib/fileinput.pyi +213 -0
- jaclang/vendor/mypy/typeshed/stdlib/fnmatch.pyi +9 -0
- jaclang/vendor/mypy/typeshed/stdlib/formatter.pyi +88 -0
- jaclang/vendor/mypy/typeshed/stdlib/fractions.pyi +150 -0
- jaclang/vendor/mypy/typeshed/stdlib/ftplib.pyi +178 -0
- jaclang/vendor/mypy/typeshed/stdlib/functools.pyi +213 -0
- jaclang/vendor/mypy/typeshed/stdlib/gc.pyi +37 -0
- jaclang/vendor/mypy/typeshed/stdlib/genericpath.pyi +52 -0
- jaclang/vendor/mypy/typeshed/stdlib/getopt.pyi +11 -0
- jaclang/vendor/mypy/typeshed/stdlib/getpass.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/gettext.pyi +169 -0
- jaclang/vendor/mypy/typeshed/stdlib/glob.pyi +42 -0
- jaclang/vendor/mypy/typeshed/stdlib/graphlib.pyi +28 -0
- jaclang/vendor/mypy/typeshed/stdlib/grp.pyi +22 -0
- jaclang/vendor/mypy/typeshed/stdlib/gzip.pyi +160 -0
- jaclang/vendor/mypy/typeshed/stdlib/hashlib.pyi +167 -0
- jaclang/vendor/mypy/typeshed/stdlib/heapq.pyi +17 -0
- jaclang/vendor/mypy/typeshed/stdlib/hmac.pyi +38 -0
- jaclang/vendor/mypy/typeshed/stdlib/html/__init__.pyi +6 -0
- jaclang/vendor/mypy/typeshed/stdlib/html/entities.pyi +6 -0
- jaclang/vendor/mypy/typeshed/stdlib/html/parser.pyi +34 -0
- jaclang/vendor/mypy/typeshed/stdlib/http/__init__.pyi +105 -0
- jaclang/vendor/mypy/typeshed/stdlib/http/client.pyi +259 -0
- jaclang/vendor/mypy/typeshed/stdlib/http/cookiejar.pyi +159 -0
- jaclang/vendor/mypy/typeshed/stdlib/http/cookies.pyi +60 -0
- jaclang/vendor/mypy/typeshed/stdlib/http/server.pyi +83 -0
- jaclang/vendor/mypy/typeshed/stdlib/imaplib.pyi +168 -0
- jaclang/vendor/mypy/typeshed/stdlib/imghdr.pyi +17 -0
- jaclang/vendor/mypy/typeshed/stdlib/imp.pyi +62 -0
- jaclang/vendor/mypy/typeshed/stdlib/importlib/__init__.pyi +24 -0
- jaclang/vendor/mypy/typeshed/stdlib/importlib/_abc.pyi +15 -0
- jaclang/vendor/mypy/typeshed/stdlib/importlib/abc.pyi +172 -0
- jaclang/vendor/mypy/typeshed/stdlib/importlib/machinery.pyi +179 -0
- jaclang/vendor/mypy/typeshed/stdlib/importlib/metadata/__init__.pyi +285 -0
- jaclang/vendor/mypy/typeshed/stdlib/importlib/metadata/_meta.pyi +49 -0
- jaclang/vendor/mypy/typeshed/stdlib/importlib/readers.pyi +68 -0
- jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/__init__.pyi +46 -0
- jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/abc.pyi +12 -0
- jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/readers.pyi +14 -0
- jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/simple.pyi +56 -0
- jaclang/vendor/mypy/typeshed/stdlib/importlib/simple.pyi +11 -0
- jaclang/vendor/mypy/typeshed/stdlib/importlib/util.pyi +43 -0
- jaclang/vendor/mypy/typeshed/stdlib/inspect.pyi +632 -0
- jaclang/vendor/mypy/typeshed/stdlib/io.pyi +238 -0
- jaclang/vendor/mypy/typeshed/stdlib/ipaddress.pyi +208 -0
- jaclang/vendor/mypy/typeshed/stdlib/itertools.pyi +273 -0
- jaclang/vendor/mypy/typeshed/stdlib/json/__init__.pyi +61 -0
- jaclang/vendor/mypy/typeshed/stdlib/json/decoder.pyi +32 -0
- jaclang/vendor/mypy/typeshed/stdlib/json/encoder.pyi +40 -0
- jaclang/vendor/mypy/typeshed/stdlib/json/tool.pyi +1 -0
- jaclang/vendor/mypy/typeshed/stdlib/keyword.pyi +21 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/__init__.pyi +0 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/btm_matcher.pyi +28 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixer_base.pyi +42 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/__init__.pyi +0 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_apply.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_asserts.pyi +10 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_basestring.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_buffer.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_dict.pyi +16 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_except.pyi +14 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exec.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_execfile.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi +13 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_filter.pyi +9 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_funcattrs.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_future.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_getcwdu.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_has_key.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_idioms.pyi +15 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_import.pyi +16 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports.pyi +21 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports2.pyi +6 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_input.pyi +11 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_intern.pyi +9 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_isinstance.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools.pyi +9 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools_imports.pyi +7 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_long.pyi +7 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_map.pyi +9 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_metaclass.pyi +17 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_methodattrs.pyi +10 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ne.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_next.pyi +19 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_nonzero.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_numliterals.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_operator.pyi +12 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_paren.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_print.pyi +12 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raise.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raw_input.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reduce.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reload.pyi +9 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_renames.pyi +17 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_repr.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_set_literal.pyi +7 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_standarderror.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_sys_exc.pyi +9 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_throw.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_tuple_params.pyi +17 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_types.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_unicode.pyi +12 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_urllib.pyi +15 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ws_comma.pyi +12 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xrange.pyi +20 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xreadlines.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_zip.pyi +9 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/main.pyi +42 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/__init__.pyi +9 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/driver.pyi +27 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/grammar.pyi +24 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/literals.pyi +7 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/parse.pyi +30 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/pgen.pyi +50 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/token.pyi +67 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/tokenize.pyi +96 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pygram.pyi +114 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pytree.pyi +117 -0
- jaclang/vendor/mypy/typeshed/stdlib/lib2to3/refactor.pyi +82 -0
- jaclang/vendor/mypy/typeshed/stdlib/linecache.pyi +23 -0
- jaclang/vendor/mypy/typeshed/stdlib/locale.pyi +152 -0
- jaclang/vendor/mypy/typeshed/stdlib/logging/__init__.pyi +658 -0
- jaclang/vendor/mypy/typeshed/stdlib/logging/config.pyi +134 -0
- jaclang/vendor/mypy/typeshed/stdlib/logging/handlers.pyi +275 -0
- jaclang/vendor/mypy/typeshed/stdlib/lzma.pyi +197 -0
- jaclang/vendor/mypy/typeshed/stdlib/mailbox.pyi +256 -0
- jaclang/vendor/mypy/typeshed/stdlib/mailcap.pyi +11 -0
- jaclang/vendor/mypy/typeshed/stdlib/marshal.pyi +33 -0
- jaclang/vendor/mypy/typeshed/stdlib/math.pyi +125 -0
- jaclang/vendor/mypy/typeshed/stdlib/mimetypes.pyi +46 -0
- jaclang/vendor/mypy/typeshed/stdlib/mmap.pyi +113 -0
- jaclang/vendor/mypy/typeshed/stdlib/modulefinder.pyi +66 -0
- jaclang/vendor/mypy/typeshed/stdlib/msilib/__init__.pyi +177 -0
- jaclang/vendor/mypy/typeshed/stdlib/msilib/schema.pyi +94 -0
- jaclang/vendor/mypy/typeshed/stdlib/msilib/sequence.pyi +13 -0
- jaclang/vendor/mypy/typeshed/stdlib/msilib/text.pyi +7 -0
- jaclang/vendor/mypy/typeshed/stdlib/msvcrt.pyi +32 -0
- jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/__init__.pyi +90 -0
- jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/connection.pyi +75 -0
- jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/context.pyi +189 -0
- jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/dummy/__init__.pyi +77 -0
- jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/dummy/connection.pyi +39 -0
- jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/forkserver.pyi +31 -0
- jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/heap.pyi +36 -0
- jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/managers.pyi +212 -0
- jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/pool.pyi +103 -0
- jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_fork.pyi +23 -0
- jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_forkserver.pyi +16 -0
- jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_posix.pyi +20 -0
- jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_win32.pyi +30 -0
- jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/process.pyi +39 -0
- jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/queues.pyi +41 -0
- jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/reduction.pyi +90 -0
- jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/resource_sharer.pyi +20 -0
- jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/resource_tracker.pyi +18 -0
- jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/shared_memory.pyi +40 -0
- jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/sharedctypes.pyi +107 -0
- jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/spawn.pyi +32 -0
- jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/synchronize.pyi +54 -0
- jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/util.pyi +98 -0
- jaclang/vendor/mypy/typeshed/stdlib/netrc.pyi +23 -0
- jaclang/vendor/mypy/typeshed/stdlib/nis.pyi +9 -0
- jaclang/vendor/mypy/typeshed/stdlib/nntplib.pyi +125 -0
- jaclang/vendor/mypy/typeshed/stdlib/nt.pyi +111 -0
- jaclang/vendor/mypy/typeshed/stdlib/ntpath.pyi +119 -0
- jaclang/vendor/mypy/typeshed/stdlib/nturl2path.pyi +2 -0
- jaclang/vendor/mypy/typeshed/stdlib/numbers.pyi +209 -0
- jaclang/vendor/mypy/typeshed/stdlib/opcode.pyi +59 -0
- jaclang/vendor/mypy/typeshed/stdlib/operator.pyi +110 -0
- jaclang/vendor/mypy/typeshed/stdlib/optparse.pyi +255 -0
- jaclang/vendor/mypy/typeshed/stdlib/os/__init__.pyi +1157 -0
- jaclang/vendor/mypy/typeshed/stdlib/os/path.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/ossaudiodev.pyi +131 -0
- jaclang/vendor/mypy/typeshed/stdlib/parser.pyi +24 -0
- jaclang/vendor/mypy/typeshed/stdlib/pathlib.pyi +232 -0
- jaclang/vendor/mypy/typeshed/stdlib/pdb.pyi +181 -0
- jaclang/vendor/mypy/typeshed/stdlib/pickle.pyi +271 -0
- jaclang/vendor/mypy/typeshed/stdlib/pickletools.pyi +167 -0
- jaclang/vendor/mypy/typeshed/stdlib/pipes.pyi +16 -0
- jaclang/vendor/mypy/typeshed/stdlib/pkgutil.pyi +53 -0
- jaclang/vendor/mypy/typeshed/stdlib/platform.pyi +42 -0
- jaclang/vendor/mypy/typeshed/stdlib/plistlib.pyi +113 -0
- jaclang/vendor/mypy/typeshed/stdlib/poplib.pyi +71 -0
- jaclang/vendor/mypy/typeshed/stdlib/posix.pyi +361 -0
- jaclang/vendor/mypy/typeshed/stdlib/posixpath.pyi +161 -0
- jaclang/vendor/mypy/typeshed/stdlib/pprint.pyi +112 -0
- jaclang/vendor/mypy/typeshed/stdlib/profile.pyi +31 -0
- jaclang/vendor/mypy/typeshed/stdlib/pstats.pyi +80 -0
- jaclang/vendor/mypy/typeshed/stdlib/pty.pyi +19 -0
- jaclang/vendor/mypy/typeshed/stdlib/pwd.pyi +28 -0
- jaclang/vendor/mypy/typeshed/stdlib/py_compile.pyi +34 -0
- jaclang/vendor/mypy/typeshed/stdlib/pyclbr.pyi +74 -0
- jaclang/vendor/mypy/typeshed/stdlib/pydoc.pyi +261 -0
- jaclang/vendor/mypy/typeshed/stdlib/pydoc_data/__init__.pyi +0 -0
- jaclang/vendor/mypy/typeshed/stdlib/pydoc_data/topics.pyi +1 -0
- jaclang/vendor/mypy/typeshed/stdlib/pyexpat/__init__.pyi +85 -0
- jaclang/vendor/mypy/typeshed/stdlib/pyexpat/errors.pyi +49 -0
- jaclang/vendor/mypy/typeshed/stdlib/pyexpat/model.pyi +11 -0
- jaclang/vendor/mypy/typeshed/stdlib/queue.pyi +66 -0
- jaclang/vendor/mypy/typeshed/stdlib/quopri.pyi +11 -0
- jaclang/vendor/mypy/typeshed/stdlib/random.pyi +138 -0
- jaclang/vendor/mypy/typeshed/stdlib/re.pyi +290 -0
- jaclang/vendor/mypy/typeshed/stdlib/readline.pyi +36 -0
- jaclang/vendor/mypy/typeshed/stdlib/reprlib.pyi +65 -0
- jaclang/vendor/mypy/typeshed/stdlib/resource.pyi +94 -0
- jaclang/vendor/mypy/typeshed/stdlib/rlcompleter.pyi +9 -0
- jaclang/vendor/mypy/typeshed/stdlib/runpy.pyi +24 -0
- jaclang/vendor/mypy/typeshed/stdlib/sched.pyi +42 -0
- jaclang/vendor/mypy/typeshed/stdlib/secrets.pyi +15 -0
- jaclang/vendor/mypy/typeshed/stdlib/select.pyi +155 -0
- jaclang/vendor/mypy/typeshed/stdlib/selectors.pyi +67 -0
- jaclang/vendor/mypy/typeshed/stdlib/shelve.pyi +46 -0
- jaclang/vendor/mypy/typeshed/stdlib/shlex.pyi +63 -0
- jaclang/vendor/mypy/typeshed/stdlib/shutil.pyi +185 -0
- jaclang/vendor/mypy/typeshed/stdlib/signal.pyi +188 -0
- jaclang/vendor/mypy/typeshed/stdlib/site.pyi +27 -0
- jaclang/vendor/mypy/typeshed/stdlib/smtpd.pyi +91 -0
- jaclang/vendor/mypy/typeshed/stdlib/smtplib.pyi +204 -0
- jaclang/vendor/mypy/typeshed/stdlib/sndhdr.pyi +14 -0
- jaclang/vendor/mypy/typeshed/stdlib/socket.pyi +825 -0
- jaclang/vendor/mypy/typeshed/stdlib/socketserver.pyi +168 -0
- jaclang/vendor/mypy/typeshed/stdlib/spwd.pyi +41 -0
- jaclang/vendor/mypy/typeshed/stdlib/sqlite3/__init__.pyi +1 -0
- jaclang/vendor/mypy/typeshed/stdlib/sqlite3/dbapi2.pyi +551 -0
- jaclang/vendor/mypy/typeshed/stdlib/sre_compile.pyi +11 -0
- jaclang/vendor/mypy/typeshed/stdlib/sre_constants.pyi +130 -0
- jaclang/vendor/mypy/typeshed/stdlib/sre_parse.pyi +104 -0
- jaclang/vendor/mypy/typeshed/stdlib/ssl.pyi +537 -0
- jaclang/vendor/mypy/typeshed/stdlib/stat.pyi +1 -0
- jaclang/vendor/mypy/typeshed/stdlib/statistics.pyi +132 -0
- jaclang/vendor/mypy/typeshed/stdlib/string.pyi +83 -0
- jaclang/vendor/mypy/typeshed/stdlib/stringprep.pyi +27 -0
- jaclang/vendor/mypy/typeshed/stdlib/struct.pyi +26 -0
- jaclang/vendor/mypy/typeshed/stdlib/subprocess.pyi +2615 -0
- jaclang/vendor/mypy/typeshed/stdlib/sunau.pyi +86 -0
- jaclang/vendor/mypy/typeshed/stdlib/symbol.pyi +93 -0
- jaclang/vendor/mypy/typeshed/stdlib/symtable.pyi +58 -0
- jaclang/vendor/mypy/typeshed/stdlib/sys/__init__.pyi +373 -0
- jaclang/vendor/mypy/typeshed/stdlib/sys/_monitoring.pyi +52 -0
- jaclang/vendor/mypy/typeshed/stdlib/sysconfig.pyi +48 -0
- jaclang/vendor/mypy/typeshed/stdlib/syslog.pyi +46 -0
- jaclang/vendor/mypy/typeshed/stdlib/tabnanny.pyi +16 -0
- jaclang/vendor/mypy/typeshed/stdlib/tarfile.pyi +441 -0
- jaclang/vendor/mypy/typeshed/stdlib/telnetlib.pyi +122 -0
- jaclang/vendor/mypy/typeshed/stdlib/tempfile.pyi +477 -0
- jaclang/vendor/mypy/typeshed/stdlib/termios.pyi +267 -0
- jaclang/vendor/mypy/typeshed/stdlib/textwrap.pyi +103 -0
- jaclang/vendor/mypy/typeshed/stdlib/this.pyi +2 -0
- jaclang/vendor/mypy/typeshed/stdlib/threading.pyi +187 -0
- jaclang/vendor/mypy/typeshed/stdlib/time.pyi +108 -0
- jaclang/vendor/mypy/typeshed/stdlib/timeit.pyi +32 -0
- jaclang/vendor/mypy/typeshed/stdlib/tkinter/__init__.pyi +3654 -0
- jaclang/vendor/mypy/typeshed/stdlib/tkinter/colorchooser.pyi +20 -0
- jaclang/vendor/mypy/typeshed/stdlib/tkinter/commondialog.pyi +14 -0
- jaclang/vendor/mypy/typeshed/stdlib/tkinter/constants.pyi +80 -0
- jaclang/vendor/mypy/typeshed/stdlib/tkinter/dialog.pyi +16 -0
- jaclang/vendor/mypy/typeshed/stdlib/tkinter/dnd.pyi +20 -0
- jaclang/vendor/mypy/typeshed/stdlib/tkinter/filedialog.pyi +151 -0
- jaclang/vendor/mypy/typeshed/stdlib/tkinter/font.pyi +116 -0
- jaclang/vendor/mypy/typeshed/stdlib/tkinter/messagebox.pyi +44 -0
- jaclang/vendor/mypy/typeshed/stdlib/tkinter/scrolledtext.pyi +9 -0
- jaclang/vendor/mypy/typeshed/stdlib/tkinter/simpledialog.pyi +54 -0
- jaclang/vendor/mypy/typeshed/stdlib/tkinter/tix.pyi +299 -0
- jaclang/vendor/mypy/typeshed/stdlib/tkinter/ttk.pyi +1204 -0
- jaclang/vendor/mypy/typeshed/stdlib/token.pyi +159 -0
- jaclang/vendor/mypy/typeshed/stdlib/tokenize.pyi +177 -0
- jaclang/vendor/mypy/typeshed/stdlib/tomllib.pyi +10 -0
- jaclang/vendor/mypy/typeshed/stdlib/trace.pyi +79 -0
- jaclang/vendor/mypy/typeshed/stdlib/traceback.pyi +262 -0
- jaclang/vendor/mypy/typeshed/stdlib/tracemalloc.pyi +124 -0
- jaclang/vendor/mypy/typeshed/stdlib/tty.pyi +30 -0
- jaclang/vendor/mypy/typeshed/stdlib/turtle.pyi +713 -0
- jaclang/vendor/mypy/typeshed/stdlib/types.pyi +614 -0
- jaclang/vendor/mypy/typeshed/stdlib/typing.pyi +976 -0
- jaclang/vendor/mypy/typeshed/stdlib/typing_extensions.pyi +509 -0
- jaclang/vendor/mypy/typeshed/stdlib/unicodedata.pyi +73 -0
- jaclang/vendor/mypy/typeshed/stdlib/unittest/__init__.pyi +67 -0
- jaclang/vendor/mypy/typeshed/stdlib/unittest/_log.pyi +27 -0
- jaclang/vendor/mypy/typeshed/stdlib/unittest/async_case.pyi +21 -0
- jaclang/vendor/mypy/typeshed/stdlib/unittest/case.pyi +342 -0
- jaclang/vendor/mypy/typeshed/stdlib/unittest/loader.pyi +51 -0
- jaclang/vendor/mypy/typeshed/stdlib/unittest/main.pyi +69 -0
- jaclang/vendor/mypy/typeshed/stdlib/unittest/mock.pyi +430 -0
- jaclang/vendor/mypy/typeshed/stdlib/unittest/result.pyi +47 -0
- jaclang/vendor/mypy/typeshed/stdlib/unittest/runner.pyi +72 -0
- jaclang/vendor/mypy/typeshed/stdlib/unittest/signals.pyi +15 -0
- jaclang/vendor/mypy/typeshed/stdlib/unittest/suite.pyi +22 -0
- jaclang/vendor/mypy/typeshed/stdlib/unittest/util.pyi +23 -0
- jaclang/vendor/mypy/typeshed/stdlib/urllib/__init__.pyi +0 -0
- jaclang/vendor/mypy/typeshed/stdlib/urllib/error.pyi +23 -0
- jaclang/vendor/mypy/typeshed/stdlib/urllib/parse.pyi +210 -0
- jaclang/vendor/mypy/typeshed/stdlib/urllib/request.pyi +400 -0
- jaclang/vendor/mypy/typeshed/stdlib/urllib/response.pyi +43 -0
- jaclang/vendor/mypy/typeshed/stdlib/urllib/robotparser.pyi +20 -0
- jaclang/vendor/mypy/typeshed/stdlib/uu.pyi +13 -0
- jaclang/vendor/mypy/typeshed/stdlib/uuid.pyi +100 -0
- jaclang/vendor/mypy/typeshed/stdlib/warnings.pyi +112 -0
- jaclang/vendor/mypy/typeshed/stdlib/wave.pyi +85 -0
- jaclang/vendor/mypy/typeshed/stdlib/weakref.pyi +149 -0
- jaclang/vendor/mypy/typeshed/stdlib/webbrowser.pyi +74 -0
- jaclang/vendor/mypy/typeshed/stdlib/winreg.pyi +132 -0
- jaclang/vendor/mypy/typeshed/stdlib/winsound.pyi +28 -0
- jaclang/vendor/mypy/typeshed/stdlib/wsgiref/__init__.pyi +0 -0
- jaclang/vendor/mypy/typeshed/stdlib/wsgiref/handlers.pyi +91 -0
- jaclang/vendor/mypy/typeshed/stdlib/wsgiref/headers.pyi +26 -0
- jaclang/vendor/mypy/typeshed/stdlib/wsgiref/simple_server.pyi +37 -0
- jaclang/vendor/mypy/typeshed/stdlib/wsgiref/types.pyi +32 -0
- jaclang/vendor/mypy/typeshed/stdlib/wsgiref/util.pyi +24 -0
- jaclang/vendor/mypy/typeshed/stdlib/wsgiref/validate.pyi +50 -0
- jaclang/vendor/mypy/typeshed/stdlib/xdrlib.pyi +57 -0
- jaclang/vendor/mypy/typeshed/stdlib/xml/__init__.pyi +1 -0
- jaclang/vendor/mypy/typeshed/stdlib/xml/dom/NodeFilter.pyi +19 -0
- jaclang/vendor/mypy/typeshed/stdlib/xml/dom/__init__.pyi +69 -0
- jaclang/vendor/mypy/typeshed/stdlib/xml/dom/domreg.pyi +8 -0
- jaclang/vendor/mypy/typeshed/stdlib/xml/dom/expatbuilder.pyi +100 -0
- jaclang/vendor/mypy/typeshed/stdlib/xml/dom/minicompat.pyi +22 -0
- jaclang/vendor/mypy/typeshed/stdlib/xml/dom/minidom.pyi +404 -0
- jaclang/vendor/mypy/typeshed/stdlib/xml/dom/pulldom.pyi +94 -0
- jaclang/vendor/mypy/typeshed/stdlib/xml/dom/xmlbuilder.pyi +108 -0
- jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementInclude.pyi +28 -0
- jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementPath.pyi +34 -0
- jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementTree.pyi +327 -0
- jaclang/vendor/mypy/typeshed/stdlib/xml/etree/__init__.pyi +0 -0
- jaclang/vendor/mypy/typeshed/stdlib/xml/etree/cElementTree.pyi +1 -0
- jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/__init__.pyi +1 -0
- jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/__init__.pyi +1 -0
- jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/errors.pyi +1 -0
- jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/model.pyi +1 -0
- jaclang/vendor/mypy/typeshed/stdlib/xml/sax/__init__.pyi +25 -0
- jaclang/vendor/mypy/typeshed/stdlib/xml/sax/_exceptions.pyi +19 -0
- jaclang/vendor/mypy/typeshed/stdlib/xml/sax/handler.pyi +55 -0
- jaclang/vendor/mypy/typeshed/stdlib/xml/sax/saxutils.pyi +60 -0
- jaclang/vendor/mypy/typeshed/stdlib/xml/sax/xmlreader.pyi +87 -0
- jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/__init__.pyi +0 -0
- jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/client.pyi +296 -0
- jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/server.pyi +143 -0
- jaclang/vendor/mypy/typeshed/stdlib/xxlimited.pyi +22 -0
- jaclang/vendor/mypy/typeshed/stdlib/zipapp.pyi +20 -0
- jaclang/vendor/mypy/typeshed/stdlib/zipfile/__init__.pyi +306 -0
- jaclang/vendor/mypy/typeshed/stdlib/zipfile/_path.pyi +95 -0
- jaclang/vendor/mypy/typeshed/stdlib/zipimport.pyi +32 -0
- jaclang/vendor/mypy/typeshed/stdlib/zlib.pyi +56 -0
- jaclang/vendor/mypy/typeshed/stdlib/zoneinfo/__init__.pyi +38 -0
- jaclang/vendor/mypy/typeshed/stubs/mypy-extensions/mypy_extensions.pyi +218 -0
- jaclang/vendor/mypy/typestate.py +5 -15
- jaclang/vendor/mypy/typetraverser.py +9 -3
- jaclang/vendor/mypy/typevars.py +2 -8
- jaclang/vendor/mypy/util.py +14 -45
- jaclang/vendor/mypy/version.py +1 -19
- jaclang/vendor/mypy/visitor.py +3 -9
- jaclang/vendor/mypy/xml/mypy-html.css +104 -0
- jaclang/vendor/mypy/xml/mypy-html.xslt +81 -0
- jaclang/vendor/mypy/xml/mypy-txt.xslt +100 -0
- jaclang/vendor/mypy/xml/mypy.xsd +50 -0
- jaclang/vendor/mypy-1.10.0.dist-info/LICENSE +229 -0
- jaclang/vendor/mypy-1.10.0.dist-info/METADATA +48 -0
- jaclang/vendor/mypy-1.10.0.dist-info/RECORD +1241 -0
- jaclang/vendor/mypy-1.10.0.dist-info/WHEEL +6 -0
- jaclang/vendor/mypy-1.10.0.dist-info/entry_points.txt +6 -0
- jaclang/vendor/mypy-1.10.0.dist-info/top_level.txt +3 -0
- jaclang/vendor/mypy_extensions-1.0.0.dist-info/LICENSE +27 -0
- jaclang/vendor/mypy_extensions-1.0.0.dist-info/METADATA +29 -0
- jaclang/vendor/mypy_extensions-1.0.0.dist-info/RECORD +6 -0
- jaclang/vendor/mypy_extensions-1.0.0.dist-info/WHEEL +5 -0
- jaclang/vendor/mypy_extensions-1.0.0.dist-info/top_level.txt +1 -0
- jaclang/vendor/mypy_extensions.py +21 -40
- jaclang/vendor/mypyc/README.md +133 -0
- jaclang/vendor/mypyc/__main__.py +1 -3
- jaclang/vendor/mypyc/analysis/attrdefined.py +6 -22
- jaclang/vendor/mypyc/analysis/dataflow.py +5 -3
- jaclang/vendor/mypyc/analysis/ircheck.py +13 -26
- jaclang/vendor/mypyc/analysis/selfleaks.py +4 -0
- jaclang/vendor/mypyc/build.py +6 -19
- jaclang/vendor/mypyc/codegen/emit.py +20 -73
- jaclang/vendor/mypyc/codegen/emitclass.py +22 -72
- jaclang/vendor/mypyc/codegen/emitfunc.py +20 -62
- jaclang/vendor/mypyc/codegen/emitmodule.py +50 -117
- jaclang/vendor/mypyc/codegen/emitwrapper.py +22 -78
- jaclang/vendor/mypyc/codegen/literals.py +1 -3
- jaclang/vendor/mypyc/common.py +1 -3
- jaclang/vendor/mypyc/doc/Makefile +20 -0
- jaclang/vendor/mypyc/doc/bool_operations.rst +27 -0
- jaclang/vendor/mypyc/doc/compilation_units.rst +20 -0
- jaclang/vendor/mypyc/doc/conf.py +59 -0
- jaclang/vendor/mypyc/doc/cpython-timings.md +25 -0
- jaclang/vendor/mypyc/doc/dev-intro.md +548 -0
- jaclang/vendor/mypyc/doc/dict_operations.rst +59 -0
- jaclang/vendor/mypyc/doc/differences_from_python.rst +332 -0
- jaclang/vendor/mypyc/doc/float_operations.rst +50 -0
- jaclang/vendor/mypyc/doc/future.md +42 -0
- jaclang/vendor/mypyc/doc/getting_started.rst +240 -0
- jaclang/vendor/mypyc/doc/index.rst +61 -0
- jaclang/vendor/mypyc/doc/int_operations.rst +162 -0
- jaclang/vendor/mypyc/doc/introduction.rst +150 -0
- jaclang/vendor/mypyc/doc/list_operations.rst +65 -0
- jaclang/vendor/mypyc/doc/make.bat +35 -0
- jaclang/vendor/mypyc/doc/native_classes.rst +206 -0
- jaclang/vendor/mypyc/doc/native_operations.rst +55 -0
- jaclang/vendor/mypyc/doc/performance_tips_and_tricks.rst +244 -0
- jaclang/vendor/mypyc/doc/set_operations.rst +47 -0
- jaclang/vendor/mypyc/doc/str_operations.rst +35 -0
- jaclang/vendor/mypyc/doc/tuple_operations.rst +33 -0
- jaclang/vendor/mypyc/doc/using_type_annotations.rst +398 -0
- jaclang/vendor/mypyc/external/googletest/LICENSE +28 -0
- jaclang/vendor/mypyc/external/googletest/README.md +280 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-death-test.h +294 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-message.h +250 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-param-test.h +1444 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-param-test.h.pump +510 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-printers.h +993 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-spi.h +232 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-test-part.h +179 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-typed-test.h +263 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/gtest.h +2236 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/gtest_pred_impl.h +358 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/gtest_prod.h +58 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest-port.h +69 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest-printers.h +42 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest.h +41 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-death-test-internal.h +319 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-filepath.h +206 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-internal.h +1238 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-linked_ptr.h +243 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h +5146 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h.pump +286 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util.h +731 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-port-arch.h +93 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-port.h +2560 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-string.h +167 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-tuple.h +1020 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-tuple.h.pump +347 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-type-util.h +3331 -0
- jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-type-util.h.pump +297 -0
- jaclang/vendor/mypyc/external/googletest/make/Makefile +61 -0
- jaclang/vendor/mypyc/external/googletest/src/gtest-all.cc +48 -0
- jaclang/vendor/mypyc/external/googletest/src/gtest-death-test.cc +1342 -0
- jaclang/vendor/mypyc/external/googletest/src/gtest-filepath.cc +387 -0
- jaclang/vendor/mypyc/external/googletest/src/gtest-internal-inl.h +1183 -0
- jaclang/vendor/mypyc/external/googletest/src/gtest-port.cc +1259 -0
- jaclang/vendor/mypyc/external/googletest/src/gtest-printers.cc +373 -0
- jaclang/vendor/mypyc/external/googletest/src/gtest-test-part.cc +110 -0
- jaclang/vendor/mypyc/external/googletest/src/gtest-typed-test.cc +118 -0
- jaclang/vendor/mypyc/external/googletest/src/gtest.cc +5388 -0
- jaclang/vendor/mypyc/external/googletest/src/gtest_main.cc +38 -0
- jaclang/vendor/mypyc/ir/class_ir.py +8 -24
- jaclang/vendor/mypyc/ir/func_ir.py +3 -16
- jaclang/vendor/mypyc/ir/module_ir.py +2 -6
- jaclang/vendor/mypyc/ir/ops.py +103 -66
- jaclang/vendor/mypyc/ir/pprint.py +35 -55
- jaclang/vendor/mypyc/ir/rtypes.py +16 -48
- jaclang/vendor/mypyc/irbuild/ast_helpers.py +4 -1
- jaclang/vendor/mypyc/irbuild/builder.py +46 -148
- jaclang/vendor/mypyc/irbuild/callable_class.py +5 -19
- jaclang/vendor/mypyc/irbuild/classdef.py +27 -83
- jaclang/vendor/mypyc/irbuild/env_class.py +3 -9
- jaclang/vendor/mypyc/irbuild/expression.py +42 -100
- jaclang/vendor/mypyc/irbuild/for_helpers.py +56 -105
- jaclang/vendor/mypyc/irbuild/format_str_tokenizer.py +1 -4
- jaclang/vendor/mypyc/irbuild/function.py +40 -132
- jaclang/vendor/mypyc/irbuild/generator.py +14 -49
- jaclang/vendor/mypyc/irbuild/ll_builder.py +197 -426
- jaclang/vendor/mypyc/irbuild/mapper.py +2 -13
- jaclang/vendor/mypyc/irbuild/match.py +11 -36
- jaclang/vendor/mypyc/irbuild/nonlocalcontrol.py +2 -7
- jaclang/vendor/mypyc/irbuild/prebuildvisitor.py +1 -4
- jaclang/vendor/mypyc/irbuild/prepare.py +25 -83
- jaclang/vendor/mypyc/irbuild/specialize.py +22 -72
- jaclang/vendor/mypyc/irbuild/statement.py +30 -96
- jaclang/vendor/mypyc/irbuild/targets.py +1 -3
- jaclang/vendor/mypyc/irbuild/util.py +2 -8
- jaclang/vendor/mypyc/irbuild/vtable.py +1 -3
- jaclang/vendor/mypyc/lib-rt/CPy.h +638 -0
- jaclang/vendor/mypyc/lib-rt/bytes_ops.c +143 -0
- jaclang/vendor/mypyc/lib-rt/dict_ops.c +446 -0
- jaclang/vendor/mypyc/lib-rt/exc_ops.c +259 -0
- jaclang/vendor/mypyc/lib-rt/float_ops.c +192 -0
- jaclang/vendor/mypyc/lib-rt/generic_ops.c +64 -0
- jaclang/vendor/mypyc/lib-rt/getargs.c +450 -0
- jaclang/vendor/mypyc/lib-rt/getargsfast.c +569 -0
- jaclang/vendor/mypyc/lib-rt/init.c +13 -0
- jaclang/vendor/mypyc/lib-rt/int_ops.c +803 -0
- jaclang/vendor/mypyc/lib-rt/list_ops.c +335 -0
- jaclang/vendor/mypyc/lib-rt/misc_ops.c +942 -0
- jaclang/vendor/mypyc/lib-rt/module_shim.tmpl +18 -0
- jaclang/vendor/mypyc/lib-rt/mypyc_util.h +118 -0
- jaclang/vendor/mypyc/lib-rt/pythoncapi_compat.h +497 -0
- jaclang/vendor/mypyc/lib-rt/pythonsupport.h +533 -0
- jaclang/vendor/mypyc/lib-rt/set_ops.c +17 -0
- jaclang/vendor/mypyc/lib-rt/setup.py +70 -0
- jaclang/vendor/mypyc/lib-rt/str_ops.c +241 -0
- jaclang/vendor/mypyc/lib-rt/test_capi.cc +585 -0
- jaclang/vendor/mypyc/lib-rt/tuple_ops.c +61 -0
- jaclang/vendor/mypyc/lower/__init__.py +0 -0
- jaclang/vendor/mypyc/lower/int_ops.py +113 -0
- jaclang/vendor/mypyc/lower/list_ops.py +45 -0
- jaclang/vendor/mypyc/lower/misc_ops.py +12 -0
- jaclang/vendor/mypyc/lower/registry.py +26 -0
- jaclang/vendor/mypyc/options.py +1 -3
- jaclang/vendor/mypyc/primitives/dict_ops.py +1 -4
- jaclang/vendor/mypyc/primitives/exc_ops.py +3 -12
- jaclang/vendor/mypyc/primitives/int_ops.py +22 -32
- jaclang/vendor/mypyc/primitives/list_ops.py +10 -0
- jaclang/vendor/mypyc/primitives/misc_ops.py +28 -22
- jaclang/vendor/mypyc/primitives/registry.py +56 -19
- jaclang/vendor/mypyc/primitives/set_ops.py +1 -3
- jaclang/vendor/mypyc/rt_subtype.py +1 -2
- jaclang/vendor/mypyc/sametype.py +2 -5
- jaclang/vendor/mypyc/subtype.py +3 -12
- jaclang/vendor/mypyc/test/test_alwaysdefined.py +2 -6
- jaclang/vendor/mypyc/test/test_analysis.py +8 -24
- jaclang/vendor/mypyc/test/test_cheader.py +12 -4
- jaclang/vendor/mypyc/test/test_emit.py +4 -14
- jaclang/vendor/mypyc/test/test_emitclass.py +1 -8
- jaclang/vendor/mypyc/test/test_emitfunc.py +30 -77
- jaclang/vendor/mypyc/test/test_emitwrapper.py +1 -3
- jaclang/vendor/mypyc/test/test_exceptions.py +4 -12
- jaclang/vendor/mypyc/test/test_external.py +1 -5
- jaclang/vendor/mypyc/test/test_irbuild.py +2 -6
- jaclang/vendor/mypyc/test/test_ircheck.py +6 -17
- jaclang/vendor/mypyc/test/test_literals.py +1 -4
- jaclang/vendor/mypyc/test/test_lowering.py +56 -0
- jaclang/vendor/mypyc/test/test_namegen.py +1 -4
- jaclang/vendor/mypyc/test/test_optimizations.py +68 -0
- jaclang/vendor/mypyc/test/test_refcount.py +3 -9
- jaclang/vendor/mypyc/test/test_run.py +12 -38
- jaclang/vendor/mypyc/test/test_serialization.py +1 -3
- jaclang/vendor/mypyc/test/test_struct.py +3 -11
- jaclang/vendor/mypyc/test/test_tuplename.py +4 -13
- jaclang/vendor/mypyc/test/test_typeops.py +1 -4
- jaclang/vendor/mypyc/test/testutil.py +2 -6
- jaclang/vendor/mypyc/test-data/alwaysdefined.test +732 -0
- jaclang/vendor/mypyc/test-data/analysis.test +470 -0
- jaclang/vendor/mypyc/test-data/commandline.test +245 -0
- jaclang/vendor/mypyc/test-data/driver/driver.py +48 -0
- jaclang/vendor/mypyc/test-data/exceptions-freq.test +125 -0
- jaclang/vendor/mypyc/test-data/exceptions.test +699 -0
- jaclang/vendor/mypyc/test-data/fixtures/ir.py +373 -0
- jaclang/vendor/mypyc/test-data/fixtures/testutil.py +103 -0
- jaclang/vendor/mypyc/test-data/fixtures/typing-full.pyi +169 -0
- jaclang/vendor/mypyc/test-data/irbuild-any.test +236 -0
- jaclang/vendor/mypyc/test-data/irbuild-basic.test +3399 -0
- jaclang/vendor/mypyc/test-data/irbuild-bool.test +424 -0
- jaclang/vendor/mypyc/test-data/irbuild-bytes.test +181 -0
- jaclang/vendor/mypyc/test-data/irbuild-classes.test +1302 -0
- jaclang/vendor/mypyc/test-data/irbuild-constant-fold.test +480 -0
- jaclang/vendor/mypyc/test-data/irbuild-dict.test +584 -0
- jaclang/vendor/mypyc/test-data/irbuild-dunders.test +215 -0
- jaclang/vendor/mypyc/test-data/irbuild-float.test +497 -0
- jaclang/vendor/mypyc/test-data/irbuild-generics.test +150 -0
- jaclang/vendor/mypyc/test-data/irbuild-glue-methods.test +437 -0
- jaclang/vendor/mypyc/test-data/irbuild-i16.test +526 -0
- jaclang/vendor/mypyc/test-data/irbuild-i32.test +598 -0
- jaclang/vendor/mypyc/test-data/irbuild-i64.test +2144 -0
- jaclang/vendor/mypyc/test-data/irbuild-int.test +194 -0
- jaclang/vendor/mypyc/test-data/irbuild-isinstance.test +109 -0
- jaclang/vendor/mypyc/test-data/irbuild-lists.test +513 -0
- jaclang/vendor/mypyc/test-data/irbuild-match.test +1717 -0
- jaclang/vendor/mypyc/test-data/irbuild-math.test +64 -0
- jaclang/vendor/mypyc/test-data/irbuild-nested.test +807 -0
- jaclang/vendor/mypyc/test-data/irbuild-optional.test +536 -0
- jaclang/vendor/mypyc/test-data/irbuild-set.test +806 -0
- jaclang/vendor/mypyc/test-data/irbuild-singledispatch.test +257 -0
- jaclang/vendor/mypyc/test-data/irbuild-statements.test +1060 -0
- jaclang/vendor/mypyc/test-data/irbuild-str.test +312 -0
- jaclang/vendor/mypyc/test-data/irbuild-strip-asserts.test +12 -0
- jaclang/vendor/mypyc/test-data/irbuild-try.test +523 -0
- jaclang/vendor/mypyc/test-data/irbuild-tuple.test +386 -0
- jaclang/vendor/mypyc/test-data/irbuild-u8.test +543 -0
- jaclang/vendor/mypyc/test-data/irbuild-unreachable.test +241 -0
- jaclang/vendor/mypyc/test-data/irbuild-vectorcall.test +153 -0
- jaclang/vendor/mypyc/test-data/lowering-int.test +377 -0
- jaclang/vendor/mypyc/test-data/lowering-list.test +33 -0
- jaclang/vendor/mypyc/test-data/opt-copy-propagation.test +400 -0
- jaclang/vendor/mypyc/test-data/opt-flag-elimination.test +296 -0
- jaclang/vendor/mypyc/test-data/refcount.test +1482 -0
- jaclang/vendor/mypyc/test-data/run-async.test +173 -0
- jaclang/vendor/mypyc/test-data/run-attrs.test +318 -0
- jaclang/vendor/mypyc/test-data/run-bench.test +196 -0
- jaclang/vendor/mypyc/test-data/run-bools.test +229 -0
- jaclang/vendor/mypyc/test-data/run-bytes.test +302 -0
- jaclang/vendor/mypyc/test-data/run-classes.test +2505 -0
- jaclang/vendor/mypyc/test-data/run-dicts.test +334 -0
- jaclang/vendor/mypyc/test-data/run-dunders.test +945 -0
- jaclang/vendor/mypyc/test-data/run-exceptions.test +448 -0
- jaclang/vendor/mypyc/test-data/run-floats.test +516 -0
- jaclang/vendor/mypyc/test-data/run-functions.test +1310 -0
- jaclang/vendor/mypyc/test-data/run-generators.test +682 -0
- jaclang/vendor/mypyc/test-data/run-i16.test +338 -0
- jaclang/vendor/mypyc/test-data/run-i32.test +336 -0
- jaclang/vendor/mypyc/test-data/run-i64.test +1519 -0
- jaclang/vendor/mypyc/test-data/run-imports.test +265 -0
- jaclang/vendor/mypyc/test-data/run-integers.test +540 -0
- jaclang/vendor/mypyc/test-data/run-lists.test +411 -0
- jaclang/vendor/mypyc/test-data/run-loops.test +485 -0
- jaclang/vendor/mypyc/test-data/run-match.test +283 -0
- jaclang/vendor/mypyc/test-data/run-math.test +106 -0
- jaclang/vendor/mypyc/test-data/run-misc.test +1170 -0
- jaclang/vendor/mypyc/test-data/run-multimodule.test +887 -0
- jaclang/vendor/mypyc/test-data/run-mypy-sim.test +138 -0
- jaclang/vendor/mypyc/test-data/run-primitives.test +375 -0
- jaclang/vendor/mypyc/test-data/run-python37.test +159 -0
- jaclang/vendor/mypyc/test-data/run-python38.test +88 -0
- jaclang/vendor/mypyc/test-data/run-sets.test +150 -0
- jaclang/vendor/mypyc/test-data/run-singledispatch.test +698 -0
- jaclang/vendor/mypyc/test-data/run-strings.test +641 -0
- jaclang/vendor/mypyc/test-data/run-traits.test +411 -0
- jaclang/vendor/mypyc/test-data/run-tuples.test +258 -0
- jaclang/vendor/mypyc/test-data/run-u8.test +303 -0
- jaclang/vendor/mypyc/transform/copy_propagation.py +94 -0
- jaclang/vendor/mypyc/transform/exceptions.py +1 -5
- jaclang/vendor/mypyc/transform/flag_elimination.py +108 -0
- jaclang/vendor/mypyc/transform/ir_transform.py +368 -0
- jaclang/vendor/mypyc/transform/lower.py +33 -0
- jaclang/vendor/mypyc/transform/refcount.py +7 -30
- jaclang/vendor/mypyc/transform/uninit.py +4 -15
- jaclang/vendor/pluggy/__init__.py +15 -11
- jaclang/vendor/pluggy/_callers.py +34 -5
- jaclang/vendor/pluggy/_hooks.py +35 -7
- jaclang/vendor/pluggy/_manager.py +26 -3
- jaclang/vendor/pluggy/_result.py +0 -15
- jaclang/vendor/pluggy/_version.py +16 -0
- jaclang/vendor/pluggy/_warnings.py +27 -0
- jaclang/vendor/pluggy-1.5.0.dist-info/LICENSE +21 -0
- jaclang/vendor/pluggy-1.5.0.dist-info/METADATA +155 -0
- jaclang/vendor/pluggy-1.5.0.dist-info/RECORD +14 -0
- jaclang/vendor/pluggy-1.5.0.dist-info/top_level.txt +1 -0
- jaclang/vendor/pygls/__init__.py +25 -0
- jaclang/vendor/pygls/capabilities.py +460 -0
- jaclang/vendor/pygls/client.py +176 -0
- jaclang/vendor/pygls/constants.py +26 -0
- jaclang/vendor/pygls/exceptions.py +215 -0
- jaclang/vendor/pygls/feature_manager.py +244 -0
- jaclang/vendor/pygls/lsp/__init__.py +139 -0
- jaclang/vendor/pygls/lsp/client.py +1961 -0
- jaclang/vendor/pygls/progress.py +79 -0
- jaclang/vendor/pygls/protocol/__init__.py +78 -0
- jaclang/vendor/pygls/protocol/json_rpc.py +560 -0
- jaclang/vendor/pygls/protocol/language_server.py +569 -0
- jaclang/vendor/pygls/protocol/lsp_meta.py +51 -0
- jaclang/vendor/pygls/py.typed +2 -0
- jaclang/vendor/pygls/server.py +616 -0
- jaclang/vendor/pygls/uris.py +184 -0
- jaclang/vendor/pygls/workspace/__init__.py +97 -0
- jaclang/vendor/pygls/workspace/position_codec.py +206 -0
- jaclang/vendor/pygls/workspace/text_document.py +238 -0
- jaclang/vendor/pygls/workspace/workspace.py +323 -0
- jaclang/vendor/pygls-1.3.1.dist-info/LICENSE.txt +201 -0
- jaclang/vendor/pygls-1.3.1.dist-info/METADATA +105 -0
- jaclang/vendor/pygls-1.3.1.dist-info/RECORD +24 -0
- jaclang/vendor/pygls-1.3.1.dist-info/WHEEL +4 -0
- jaclang/vendor/typing_extensions-4.12.2.dist-info/LICENSE +279 -0
- jaclang/vendor/typing_extensions-4.12.2.dist-info/METADATA +67 -0
- jaclang/vendor/typing_extensions-4.12.2.dist-info/RECORD +5 -0
- jaclang/vendor/typing_extensions-4.12.2.dist-info/WHEEL +4 -0
- jaclang/vendor/typing_extensions.py +1209 -641
- jaclang-0.6.5.dist-info/METADATA +106 -0
- jaclang-0.6.5.dist-info/RECORD +1476 -0
- jaclang-0.6.5.dist-info/WHEEL +4 -0
- jaclang-0.6.5.dist-info/entry_points.txt +3 -0
- jaclang/compiler/generated/jac_parser.py +0 -4069
- jaclang-0.6.0.dist-info/METADATA +0 -17
- jaclang-0.6.0.dist-info/RECORD +0 -426
- jaclang-0.6.0.dist-info/entry_points.txt +0 -2
- jaclang-0.6.0.dist-info/top_level.txt +0 -1
- /jaclang/{compiler/generated/__init__.py → vendor/attr/py.typed} +0 -0
- {jaclang-0.6.0.dist-info → jaclang/vendor/pluggy-1.5.0.dist-info}/WHEEL +0 -0
|
@@ -101,11 +101,7 @@ class Constraint:
|
|
|
101
101
|
def __eq__(self, other: object) -> bool:
|
|
102
102
|
if not isinstance(other, Constraint):
|
|
103
103
|
return False
|
|
104
|
-
return (self.type_var, self.op, self.target) == (
|
|
105
|
-
other.type_var,
|
|
106
|
-
other.op,
|
|
107
|
-
other.target,
|
|
108
|
-
)
|
|
104
|
+
return (self.type_var, self.op, self.target) == (other.type_var, other.op, other.target)
|
|
109
105
|
|
|
110
106
|
|
|
111
107
|
def infer_constraints_for_callable(
|
|
@@ -201,8 +197,7 @@ def infer_constraints_for_callable(
|
|
|
201
197
|
inner_unpacked_type,
|
|
202
198
|
SUPERTYPE_OF,
|
|
203
199
|
TupleType(
|
|
204
|
-
actual_types[:-suffix_len],
|
|
205
|
-
inner_unpacked_type.tuple_fallback,
|
|
200
|
+
actual_types[:-suffix_len], inner_unpacked_type.tuple_fallback
|
|
206
201
|
),
|
|
207
202
|
)
|
|
208
203
|
)
|
|
@@ -214,15 +209,11 @@ def infer_constraints_for_callable(
|
|
|
214
209
|
)
|
|
215
210
|
for at in actual_types[:-suffix_len]:
|
|
216
211
|
constraints.extend(
|
|
217
|
-
infer_constraints(
|
|
218
|
-
inner_unpacked_type.args[0], at, SUPERTYPE_OF
|
|
219
|
-
)
|
|
212
|
+
infer_constraints(inner_unpacked_type.args[0], at, SUPERTYPE_OF)
|
|
220
213
|
)
|
|
221
214
|
# Now handle the suffix (if any).
|
|
222
215
|
if suffix_len:
|
|
223
|
-
for tt, at in zip(
|
|
224
|
-
unpacked_type.items[1:], actual_types[-suffix_len:]
|
|
225
|
-
):
|
|
216
|
+
for tt, at in zip(unpacked_type.items[1:], actual_types[-suffix_len:]):
|
|
226
217
|
constraints.extend(infer_constraints(tt, at, SUPERTYPE_OF))
|
|
227
218
|
else:
|
|
228
219
|
assert False, "mypy bug: unhandled constraint inference case"
|
|
@@ -233,10 +224,7 @@ def infer_constraints_for_callable(
|
|
|
233
224
|
continue
|
|
234
225
|
|
|
235
226
|
actual_type = mapper.expand_actual_type(
|
|
236
|
-
actual_arg_type,
|
|
237
|
-
arg_kinds[actual],
|
|
238
|
-
callee.arg_names[i],
|
|
239
|
-
callee.arg_kinds[i],
|
|
227
|
+
actual_arg_type, arg_kinds[actual], callee.arg_names[i], callee.arg_kinds[i]
|
|
240
228
|
)
|
|
241
229
|
if param_spec and callee.arg_kinds[i] in (ARG_STAR, ARG_STAR2):
|
|
242
230
|
# If actual arguments are mapped to ParamSpec type, we can't infer individual
|
|
@@ -246,25 +234,16 @@ def infer_constraints_for_callable(
|
|
|
246
234
|
if not incomplete_star_mapping:
|
|
247
235
|
param_spec_arg_types.append(
|
|
248
236
|
mapper.expand_actual_type(
|
|
249
|
-
actual_arg_type,
|
|
250
|
-
arg_kinds[actual],
|
|
251
|
-
None,
|
|
252
|
-
arg_kinds[actual],
|
|
237
|
+
actual_arg_type, arg_kinds[actual], None, arg_kinds[actual]
|
|
253
238
|
)
|
|
254
239
|
)
|
|
255
240
|
actual_kind = arg_kinds[actual]
|
|
256
241
|
param_spec_arg_kinds.append(
|
|
257
|
-
ARG_POS
|
|
258
|
-
if actual_kind not in (ARG_STAR, ARG_STAR2)
|
|
259
|
-
else actual_kind
|
|
260
|
-
)
|
|
261
|
-
param_spec_arg_names.append(
|
|
262
|
-
arg_names[actual] if arg_names else None
|
|
242
|
+
ARG_POS if actual_kind not in (ARG_STAR, ARG_STAR2) else actual_kind
|
|
263
243
|
)
|
|
244
|
+
param_spec_arg_names.append(arg_names[actual] if arg_names else None)
|
|
264
245
|
else:
|
|
265
|
-
c = infer_constraints(
|
|
266
|
-
callee.arg_types[i], actual_type, SUPERTYPE_OF
|
|
267
|
-
)
|
|
246
|
+
c = infer_constraints(callee.arg_types[i], actual_type, SUPERTYPE_OF)
|
|
268
247
|
constraints.extend(c)
|
|
269
248
|
if (
|
|
270
249
|
param_spec
|
|
@@ -354,10 +333,7 @@ def _infer_constraints(
|
|
|
354
333
|
# causing us to infer Any in situations where a better job could
|
|
355
334
|
# be done otherwise. (This can produce false positives but that
|
|
356
335
|
# doesn't really matter because it is all heuristic anyway.)
|
|
357
|
-
if (
|
|
358
|
-
isinstance(actual, AnyType)
|
|
359
|
-
and actual.type_of_any == TypeOfAny.suggestion_engine
|
|
360
|
-
):
|
|
336
|
+
if isinstance(actual, AnyType) and actual.type_of_any == TypeOfAny.suggestion_engine:
|
|
361
337
|
return []
|
|
362
338
|
|
|
363
339
|
# If the template is simply a type variable, emit a Constraint directly.
|
|
@@ -407,10 +383,7 @@ def _infer_constraints(
|
|
|
407
383
|
# variable if possible. This seems to help with some real-world
|
|
408
384
|
# use cases.
|
|
409
385
|
return any_constraints(
|
|
410
|
-
[
|
|
411
|
-
infer_constraints_if_possible(template, a_item, direction)
|
|
412
|
-
for a_item in items
|
|
413
|
-
],
|
|
386
|
+
[infer_constraints_if_possible(template, a_item, direction) for a_item in items],
|
|
414
387
|
eager=True,
|
|
415
388
|
)
|
|
416
389
|
if direction == SUPERTYPE_OF and isinstance(template, UnionType):
|
|
@@ -442,9 +415,7 @@ def infer_constraints_if_possible(
|
|
|
442
415
|
(In this case infer_constraints would return [], just like it would for
|
|
443
416
|
an automatically satisfied relation like template=List[T] and actual=object.)
|
|
444
417
|
"""
|
|
445
|
-
if direction == SUBTYPE_OF and not mypy.subtypes.is_subtype(
|
|
446
|
-
erase_typevars(template), actual
|
|
447
|
-
):
|
|
418
|
+
if direction == SUBTYPE_OF and not mypy.subtypes.is_subtype(erase_typevars(template), actual):
|
|
448
419
|
return None
|
|
449
420
|
if direction == SUPERTYPE_OF and not mypy.subtypes.is_subtype(
|
|
450
421
|
actual, erase_typevars(template)
|
|
@@ -461,9 +432,7 @@ def infer_constraints_if_possible(
|
|
|
461
432
|
return infer_constraints(template, actual, direction)
|
|
462
433
|
|
|
463
434
|
|
|
464
|
-
def select_trivial(
|
|
465
|
-
options: Sequence[list[Constraint] | None],
|
|
466
|
-
) -> list[list[Constraint]]:
|
|
435
|
+
def select_trivial(options: Sequence[list[Constraint] | None]) -> list[list[Constraint]]:
|
|
467
436
|
"""Select only those lists where each item is a constraint against Any."""
|
|
468
437
|
res = []
|
|
469
438
|
for option in options:
|
|
@@ -489,9 +458,7 @@ def merge_with_any(constraint: Constraint) -> Constraint:
|
|
|
489
458
|
)
|
|
490
459
|
|
|
491
460
|
|
|
492
|
-
def handle_recursive_union(
|
|
493
|
-
template: UnionType, actual: Type, direction: int
|
|
494
|
-
) -> list[Constraint]:
|
|
461
|
+
def handle_recursive_union(template: UnionType, actual: Type, direction: int) -> list[Constraint]:
|
|
495
462
|
# This is a hack to special-case things like Union[T, Inst[T]] in recursive types. Although
|
|
496
463
|
# it is quite arbitrary, it is a relatively common pattern, so we should handle it well.
|
|
497
464
|
# This function may be called when inferring against such union resulted in different
|
|
@@ -504,9 +471,7 @@ def handle_recursive_union(
|
|
|
504
471
|
) or infer_constraints(UnionType.make_union(type_var_items), actual, direction)
|
|
505
472
|
|
|
506
473
|
|
|
507
|
-
def any_constraints(
|
|
508
|
-
options: list[list[Constraint] | None], eager: bool
|
|
509
|
-
) -> list[Constraint]:
|
|
474
|
+
def any_constraints(options: list[list[Constraint] | None], eager: bool) -> list[Constraint]:
|
|
510
475
|
"""Deduce what we can from a collection of constraint lists.
|
|
511
476
|
|
|
512
477
|
It's a given that at least one of the lists must be satisfied. A
|
|
@@ -541,9 +506,7 @@ def any_constraints(
|
|
|
541
506
|
if option in trivial_options:
|
|
542
507
|
continue
|
|
543
508
|
if option is not None:
|
|
544
|
-
merged_option: list[Constraint] | None = [
|
|
545
|
-
merge_with_any(c) for c in option
|
|
546
|
-
]
|
|
509
|
+
merged_option: list[Constraint] | None = [merge_with_any(c) for c in option]
|
|
547
510
|
else:
|
|
548
511
|
merged_option = None
|
|
549
512
|
merged_options.append(merged_option)
|
|
@@ -573,8 +536,7 @@ def filter_satisfiable(option: list[Constraint] | None) -> list[Constraint] | No
|
|
|
573
536
|
for c in option:
|
|
574
537
|
if isinstance(c.origin_type_var, TypeVarType) and c.origin_type_var.values:
|
|
575
538
|
if any(
|
|
576
|
-
mypy.subtypes.is_subtype(c.target, value)
|
|
577
|
-
for value in c.origin_type_var.values
|
|
539
|
+
mypy.subtypes.is_subtype(c.target, value) for value in c.origin_type_var.values
|
|
578
540
|
):
|
|
579
541
|
satisfiable.append(c)
|
|
580
542
|
elif mypy.subtypes.is_subtype(c.target, c.origin_type_var.upper_bound):
|
|
@@ -625,9 +587,9 @@ def _is_similar_constraints(x: list[Constraint], y: list[Constraint]) -> bool:
|
|
|
625
587
|
has_similar = False
|
|
626
588
|
for c2 in y:
|
|
627
589
|
# Ignore direction when either constraint is against Any.
|
|
628
|
-
skip_op_check = isinstance(
|
|
629
|
-
get_proper_type(
|
|
630
|
-
)
|
|
590
|
+
skip_op_check = isinstance(get_proper_type(c1.target), AnyType) or isinstance(
|
|
591
|
+
get_proper_type(c2.target), AnyType
|
|
592
|
+
)
|
|
631
593
|
if c1.type_var == c2.type_var and (c1.op == c2.op or skip_op_check):
|
|
632
594
|
has_similar = True
|
|
633
595
|
break
|
|
@@ -732,9 +694,7 @@ class ConstraintBuilderVisitor(TypeVisitor[List[Constraint]]):
|
|
|
732
694
|
if type_state.infer_polymorphic and isinstance(self.actual, Parameters):
|
|
733
695
|
# For polymorphic inference we need to be able to infer secondary constraints
|
|
734
696
|
# in situations like [x: T] <: P <: [x: int].
|
|
735
|
-
return infer_callable_arguments_constraints(
|
|
736
|
-
template, self.actual, self.direction
|
|
737
|
-
)
|
|
697
|
+
return infer_callable_arguments_constraints(template, self.actual, self.direction)
|
|
738
698
|
raise RuntimeError("Parameters cannot be constrained to")
|
|
739
699
|
|
|
740
700
|
# Non-leaf types
|
|
@@ -806,9 +766,7 @@ class ConstraintBuilderVisitor(TypeVisitor[List[Constraint]]):
|
|
|
806
766
|
assert isinstance(erased, Instance) # type: ignore[misc]
|
|
807
767
|
# We always try nominal inference if possible,
|
|
808
768
|
# it is much faster than the structural one.
|
|
809
|
-
if self.direction == SUBTYPE_OF and template.type.has_base(
|
|
810
|
-
instance.type.fullname
|
|
811
|
-
):
|
|
769
|
+
if self.direction == SUBTYPE_OF and template.type.has_base(instance.type.fullname):
|
|
812
770
|
mapped = map_instance_to_supertype(template, instance.type)
|
|
813
771
|
tvars = mapped.type.defn.type_vars
|
|
814
772
|
|
|
@@ -828,39 +786,25 @@ class ConstraintBuilderVisitor(TypeVisitor[List[Constraint]]):
|
|
|
828
786
|
m_prefix, m_middle, m_suffix = split_with_prefix_and_suffix(
|
|
829
787
|
mapped.args, prefix_len, suffix_len
|
|
830
788
|
)
|
|
831
|
-
instance_args = (
|
|
832
|
-
|
|
833
|
-
)
|
|
834
|
-
mapped_args = (
|
|
835
|
-
m_prefix + (TupleType(list(m_middle), fallback),) + m_suffix
|
|
836
|
-
)
|
|
789
|
+
instance_args = i_prefix + (TupleType(list(i_middle), fallback),) + i_suffix
|
|
790
|
+
mapped_args = m_prefix + (TupleType(list(m_middle), fallback),) + m_suffix
|
|
837
791
|
else:
|
|
838
792
|
mapped_args = mapped.args
|
|
839
793
|
instance_args = instance.args
|
|
840
794
|
|
|
841
795
|
# N.B: We use zip instead of indexing because the lengths might have
|
|
842
796
|
# mismatches during daemon reprocessing.
|
|
843
|
-
for tvar, mapped_arg, instance_arg in zip(
|
|
844
|
-
tvars, mapped_args, instance_args
|
|
845
|
-
):
|
|
797
|
+
for tvar, mapped_arg, instance_arg in zip(tvars, mapped_args, instance_args):
|
|
846
798
|
if isinstance(tvar, TypeVarType):
|
|
847
799
|
# The constraints for generic type parameters depend on variance.
|
|
848
800
|
# Include constraints from both directions if invariant.
|
|
849
801
|
if tvar.variance != CONTRAVARIANT:
|
|
850
|
-
res.extend(
|
|
851
|
-
infer_constraints(
|
|
852
|
-
mapped_arg, instance_arg, self.direction
|
|
853
|
-
)
|
|
854
|
-
)
|
|
802
|
+
res.extend(infer_constraints(mapped_arg, instance_arg, self.direction))
|
|
855
803
|
if tvar.variance != COVARIANT:
|
|
856
804
|
res.extend(
|
|
857
|
-
infer_constraints(
|
|
858
|
-
mapped_arg, instance_arg, neg_op(self.direction)
|
|
859
|
-
)
|
|
805
|
+
infer_constraints(mapped_arg, instance_arg, neg_op(self.direction))
|
|
860
806
|
)
|
|
861
|
-
elif isinstance(tvar, ParamSpecType) and isinstance(
|
|
862
|
-
mapped_arg, ParamSpecType
|
|
863
|
-
):
|
|
807
|
+
elif isinstance(tvar, ParamSpecType) and isinstance(mapped_arg, ParamSpecType):
|
|
864
808
|
prefix = mapped_arg.prefix
|
|
865
809
|
if isinstance(instance_arg, Parameters):
|
|
866
810
|
# No such thing as variance for ParamSpecs, consider them invariant
|
|
@@ -876,29 +820,19 @@ class ConstraintBuilderVisitor(TypeVisitor[List[Constraint]]):
|
|
|
876
820
|
elif isinstance(instance_arg, ParamSpecType):
|
|
877
821
|
suffix = instance_arg.copy_modified(
|
|
878
822
|
prefix=Parameters(
|
|
879
|
-
instance_arg.prefix.arg_types[
|
|
880
|
-
|
|
881
|
-
],
|
|
882
|
-
instance_arg.prefix.arg_kinds[
|
|
883
|
-
len(prefix.arg_kinds) :
|
|
884
|
-
],
|
|
885
|
-
instance_arg.prefix.arg_names[
|
|
886
|
-
len(prefix.arg_names) :
|
|
887
|
-
],
|
|
823
|
+
instance_arg.prefix.arg_types[len(prefix.arg_types) :],
|
|
824
|
+
instance_arg.prefix.arg_kinds[len(prefix.arg_kinds) :],
|
|
825
|
+
instance_arg.prefix.arg_names[len(prefix.arg_names) :],
|
|
888
826
|
)
|
|
889
827
|
)
|
|
890
828
|
res.append(Constraint(mapped_arg, SUBTYPE_OF, suffix))
|
|
891
829
|
res.append(Constraint(mapped_arg, SUPERTYPE_OF, suffix))
|
|
892
830
|
elif isinstance(tvar, TypeVarTupleType):
|
|
893
831
|
# Handle variadic type variables covariantly for consistency.
|
|
894
|
-
res.extend(
|
|
895
|
-
infer_constraints(mapped_arg, instance_arg, self.direction)
|
|
896
|
-
)
|
|
832
|
+
res.extend(infer_constraints(mapped_arg, instance_arg, self.direction))
|
|
897
833
|
|
|
898
834
|
return res
|
|
899
|
-
elif self.direction == SUPERTYPE_OF and instance.type.has_base(
|
|
900
|
-
template.type.fullname
|
|
901
|
-
):
|
|
835
|
+
elif self.direction == SUPERTYPE_OF and instance.type.has_base(template.type.fullname):
|
|
902
836
|
mapped = map_instance_to_supertype(instance, template.type)
|
|
903
837
|
tvars = template.type.defn.type_vars
|
|
904
838
|
if template.type.has_type_var_tuple_type:
|
|
@@ -917,34 +851,22 @@ class ConstraintBuilderVisitor(TypeVisitor[List[Constraint]]):
|
|
|
917
851
|
m_prefix, m_middle, m_suffix = split_with_prefix_and_suffix(
|
|
918
852
|
mapped.args, prefix_len, suffix_len
|
|
919
853
|
)
|
|
920
|
-
template_args = (
|
|
921
|
-
|
|
922
|
-
)
|
|
923
|
-
mapped_args = (
|
|
924
|
-
m_prefix + (TupleType(list(m_middle), fallback),) + m_suffix
|
|
925
|
-
)
|
|
854
|
+
template_args = t_prefix + (TupleType(list(t_middle), fallback),) + t_suffix
|
|
855
|
+
mapped_args = m_prefix + (TupleType(list(m_middle), fallback),) + m_suffix
|
|
926
856
|
else:
|
|
927
857
|
mapped_args = mapped.args
|
|
928
858
|
template_args = template.args
|
|
929
859
|
# N.B: We use zip instead of indexing because the lengths might have
|
|
930
860
|
# mismatches during daemon reprocessing.
|
|
931
|
-
for tvar, mapped_arg, template_arg in zip(
|
|
932
|
-
tvars, mapped_args, template_args
|
|
933
|
-
):
|
|
861
|
+
for tvar, mapped_arg, template_arg in zip(tvars, mapped_args, template_args):
|
|
934
862
|
if isinstance(tvar, TypeVarType):
|
|
935
863
|
# The constraints for generic type parameters depend on variance.
|
|
936
864
|
# Include constraints from both directions if invariant.
|
|
937
865
|
if tvar.variance != CONTRAVARIANT:
|
|
938
|
-
res.extend(
|
|
939
|
-
infer_constraints(
|
|
940
|
-
template_arg, mapped_arg, self.direction
|
|
941
|
-
)
|
|
942
|
-
)
|
|
866
|
+
res.extend(infer_constraints(template_arg, mapped_arg, self.direction))
|
|
943
867
|
if tvar.variance != COVARIANT:
|
|
944
868
|
res.extend(
|
|
945
|
-
infer_constraints(
|
|
946
|
-
template_arg, mapped_arg, neg_op(self.direction)
|
|
947
|
-
)
|
|
869
|
+
infer_constraints(template_arg, mapped_arg, neg_op(self.direction))
|
|
948
870
|
)
|
|
949
871
|
elif isinstance(tvar, ParamSpecType) and isinstance(
|
|
950
872
|
template_arg, ParamSpecType
|
|
@@ -964,27 +886,17 @@ class ConstraintBuilderVisitor(TypeVisitor[List[Constraint]]):
|
|
|
964
886
|
elif isinstance(mapped_arg, ParamSpecType):
|
|
965
887
|
suffix = mapped_arg.copy_modified(
|
|
966
888
|
prefix=Parameters(
|
|
967
|
-
mapped_arg.prefix.arg_types[
|
|
968
|
-
|
|
969
|
-
],
|
|
970
|
-
mapped_arg.prefix.arg_kinds[
|
|
971
|
-
len(prefix.arg_kinds) :
|
|
972
|
-
],
|
|
973
|
-
mapped_arg.prefix.arg_names[
|
|
974
|
-
len(prefix.arg_names) :
|
|
975
|
-
],
|
|
889
|
+
mapped_arg.prefix.arg_types[len(prefix.arg_types) :],
|
|
890
|
+
mapped_arg.prefix.arg_kinds[len(prefix.arg_kinds) :],
|
|
891
|
+
mapped_arg.prefix.arg_names[len(prefix.arg_names) :],
|
|
976
892
|
)
|
|
977
893
|
)
|
|
978
894
|
res.append(Constraint(template_arg, SUBTYPE_OF, suffix))
|
|
979
895
|
res.append(Constraint(template_arg, SUPERTYPE_OF, suffix))
|
|
980
896
|
elif isinstance(tvar, TypeVarTupleType):
|
|
981
897
|
# Consider variadic type variables to be invariant.
|
|
982
|
-
res.extend(
|
|
983
|
-
|
|
984
|
-
)
|
|
985
|
-
res.extend(
|
|
986
|
-
infer_constraints(template_arg, mapped_arg, SUPERTYPE_OF)
|
|
987
|
-
)
|
|
898
|
+
res.extend(infer_constraints(template_arg, mapped_arg, SUBTYPE_OF))
|
|
899
|
+
res.extend(infer_constraints(template_arg, mapped_arg, SUPERTYPE_OF))
|
|
988
900
|
return res
|
|
989
901
|
if (
|
|
990
902
|
template.type.is_protocol
|
|
@@ -999,9 +911,7 @@ class ConstraintBuilderVisitor(TypeVisitor[List[Constraint]]):
|
|
|
999
911
|
# because some type may be considered a subtype of a protocol
|
|
1000
912
|
# due to _promote, but still not implement the protocol.
|
|
1001
913
|
not any(template == t for t in reversed(template.type.inferring))
|
|
1002
|
-
and mypy.subtypes.is_protocol_implementation(
|
|
1003
|
-
instance, erased, skip=["__call__"]
|
|
1004
|
-
)
|
|
914
|
+
and mypy.subtypes.is_protocol_implementation(instance, erased, skip=["__call__"])
|
|
1005
915
|
):
|
|
1006
916
|
template.type.inferring.append(template)
|
|
1007
917
|
res.extend(
|
|
@@ -1017,9 +927,7 @@ class ConstraintBuilderVisitor(TypeVisitor[List[Constraint]]):
|
|
|
1017
927
|
and
|
|
1018
928
|
# We avoid infinite recursion for structural subtypes also here.
|
|
1019
929
|
not any(instance == i for i in reversed(instance.type.inferring))
|
|
1020
|
-
and mypy.subtypes.is_protocol_implementation(
|
|
1021
|
-
erased, instance, skip=["__call__"]
|
|
1022
|
-
)
|
|
930
|
+
and mypy.subtypes.is_protocol_implementation(erased, instance, skip=["__call__"])
|
|
1023
931
|
):
|
|
1024
932
|
instance.type.inferring.append(instance)
|
|
1025
933
|
res.extend(
|
|
@@ -1054,9 +962,7 @@ class ConstraintBuilderVisitor(TypeVisitor[List[Constraint]]):
|
|
|
1054
962
|
res.extend(cb)
|
|
1055
963
|
return res
|
|
1056
964
|
elif isinstance(actual, TupleType) and self.direction == SUPERTYPE_OF:
|
|
1057
|
-
return infer_constraints(
|
|
1058
|
-
template, mypy.typeops.tuple_fallback(actual), self.direction
|
|
1059
|
-
)
|
|
965
|
+
return infer_constraints(template, mypy.typeops.tuple_fallback(actual), self.direction)
|
|
1060
966
|
elif isinstance(actual, TypeVarType):
|
|
1061
967
|
if not actual.values and not actual.id.is_meta_var():
|
|
1062
968
|
return infer_constraints(template, actual.upper_bound, self.direction)
|
|
@@ -1084,9 +990,7 @@ class ConstraintBuilderVisitor(TypeVisitor[List[Constraint]]):
|
|
|
1084
990
|
"""
|
|
1085
991
|
res = []
|
|
1086
992
|
for member in protocol.type.protocol_members:
|
|
1087
|
-
inst = mypy.subtypes.find_member(
|
|
1088
|
-
member, instance, subtype, class_obj=class_obj
|
|
1089
|
-
)
|
|
993
|
+
inst = mypy.subtypes.find_member(member, instance, subtype, class_obj=class_obj)
|
|
1090
994
|
temp = mypy.subtypes.find_member(member, template, subtype)
|
|
1091
995
|
if inst is None or temp is None:
|
|
1092
996
|
if member == "__call__":
|
|
@@ -1095,9 +999,7 @@ class ConstraintBuilderVisitor(TypeVisitor[List[Constraint]]):
|
|
|
1095
999
|
# The above is safe since at this point we know that 'instance' is a subtype
|
|
1096
1000
|
# of (erased) 'template', therefore it defines all protocol members
|
|
1097
1001
|
res.extend(infer_constraints(temp, inst, self.direction))
|
|
1098
|
-
if mypy.subtypes.IS_SETTABLE in mypy.subtypes.get_member_flags(
|
|
1099
|
-
member, protocol
|
|
1100
|
-
):
|
|
1002
|
+
if mypy.subtypes.IS_SETTABLE in mypy.subtypes.get_member_flags(member, protocol):
|
|
1101
1003
|
# Settable members are invariant, add opposite constraints
|
|
1102
1004
|
res.extend(infer_constraints(temp, inst, neg_op(self.direction)))
|
|
1103
1005
|
return res
|
|
@@ -1116,13 +1018,23 @@ class ConstraintBuilderVisitor(TypeVisitor[List[Constraint]]):
|
|
|
1116
1018
|
param_spec = template.param_spec()
|
|
1117
1019
|
|
|
1118
1020
|
template_ret_type, cactual_ret_type = template.ret_type, cactual.ret_type
|
|
1119
|
-
if template.type_guard is not None:
|
|
1021
|
+
if template.type_guard is not None and cactual.type_guard is not None:
|
|
1120
1022
|
template_ret_type = template.type_guard
|
|
1121
|
-
if cactual.type_guard is not None:
|
|
1122
1023
|
cactual_ret_type = cactual.type_guard
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1024
|
+
elif template.type_guard is not None:
|
|
1025
|
+
template_ret_type = AnyType(TypeOfAny.special_form)
|
|
1026
|
+
elif cactual.type_guard is not None:
|
|
1027
|
+
cactual_ret_type = AnyType(TypeOfAny.special_form)
|
|
1028
|
+
|
|
1029
|
+
if template.type_is is not None and cactual.type_is is not None:
|
|
1030
|
+
template_ret_type = template.type_is
|
|
1031
|
+
cactual_ret_type = cactual.type_is
|
|
1032
|
+
elif template.type_is is not None:
|
|
1033
|
+
template_ret_type = AnyType(TypeOfAny.special_form)
|
|
1034
|
+
elif cactual.type_is is not None:
|
|
1035
|
+
cactual_ret_type = AnyType(TypeOfAny.special_form)
|
|
1036
|
+
|
|
1037
|
+
res.extend(infer_constraints(template_ret_type, cactual_ret_type, self.direction))
|
|
1126
1038
|
|
|
1127
1039
|
if param_spec is None:
|
|
1128
1040
|
# TODO: Erase template variables if it is generic?
|
|
@@ -1168,20 +1080,14 @@ class ConstraintBuilderVisitor(TypeVisitor[List[Constraint]]):
|
|
|
1168
1080
|
# TODO: do we need some special-casing when unpack is present in actual
|
|
1169
1081
|
# callable but not in template callable?
|
|
1170
1082
|
res.extend(
|
|
1171
|
-
infer_callable_arguments_constraints(
|
|
1172
|
-
template, cactual, self.direction
|
|
1173
|
-
)
|
|
1083
|
+
infer_callable_arguments_constraints(template, cactual, self.direction)
|
|
1174
1084
|
)
|
|
1175
1085
|
else:
|
|
1176
1086
|
prefix = param_spec.prefix
|
|
1177
1087
|
prefix_len = len(prefix.arg_types)
|
|
1178
1088
|
cactual_ps = cactual.param_spec()
|
|
1179
1089
|
|
|
1180
|
-
if
|
|
1181
|
-
type_state.infer_polymorphic
|
|
1182
|
-
and cactual.variables
|
|
1183
|
-
and not self.skip_neg_op
|
|
1184
|
-
):
|
|
1090
|
+
if type_state.infer_polymorphic and cactual.variables and not self.skip_neg_op:
|
|
1185
1091
|
# Similar logic to the branch above.
|
|
1186
1092
|
res.extend(
|
|
1187
1093
|
infer_constraints(
|
|
@@ -1197,32 +1103,22 @@ class ConstraintBuilderVisitor(TypeVisitor[List[Constraint]]):
|
|
|
1197
1103
|
arg_names=cactual.arg_names[:prefix_len],
|
|
1198
1104
|
)
|
|
1199
1105
|
res.extend(
|
|
1200
|
-
infer_callable_arguments_constraints(
|
|
1201
|
-
prefix, cactual_prefix, self.direction
|
|
1202
|
-
)
|
|
1106
|
+
infer_callable_arguments_constraints(prefix, cactual_prefix, self.direction)
|
|
1203
1107
|
)
|
|
1204
1108
|
|
|
1205
1109
|
param_spec_target: Type | None = None
|
|
1206
1110
|
if not cactual_ps:
|
|
1207
|
-
max_prefix_len = len(
|
|
1208
|
-
[k for k in cactual.arg_kinds if k in (ARG_POS, ARG_OPT)]
|
|
1209
|
-
)
|
|
1111
|
+
max_prefix_len = len([k for k in cactual.arg_kinds if k in (ARG_POS, ARG_OPT)])
|
|
1210
1112
|
prefix_len = min(prefix_len, max_prefix_len)
|
|
1211
1113
|
param_spec_target = Parameters(
|
|
1212
1114
|
arg_types=cactual.arg_types[prefix_len:],
|
|
1213
1115
|
arg_kinds=cactual.arg_kinds[prefix_len:],
|
|
1214
1116
|
arg_names=cactual.arg_names[prefix_len:],
|
|
1215
|
-
variables=
|
|
1216
|
-
cactual.variables
|
|
1217
|
-
if not type_state.infer_polymorphic
|
|
1218
|
-
else []
|
|
1219
|
-
),
|
|
1117
|
+
variables=cactual.variables if not type_state.infer_polymorphic else [],
|
|
1220
1118
|
imprecise_arg_kinds=cactual.imprecise_arg_kinds,
|
|
1221
1119
|
)
|
|
1222
1120
|
else:
|
|
1223
|
-
if len(param_spec.prefix.arg_types) <= len(
|
|
1224
|
-
cactual_ps.prefix.arg_types
|
|
1225
|
-
):
|
|
1121
|
+
if len(param_spec.prefix.arg_types) <= len(cactual_ps.prefix.arg_types):
|
|
1226
1122
|
param_spec_target = cactual_ps.copy_modified(
|
|
1227
1123
|
prefix=Parameters(
|
|
1228
1124
|
arg_types=cactual_ps.prefix.arg_types[prefix_len:],
|
|
@@ -1232,9 +1128,7 @@ class ConstraintBuilderVisitor(TypeVisitor[List[Constraint]]):
|
|
|
1232
1128
|
)
|
|
1233
1129
|
)
|
|
1234
1130
|
if param_spec_target is not None:
|
|
1235
|
-
res.append(
|
|
1236
|
-
Constraint(param_spec, self.direction, param_spec_target)
|
|
1237
|
-
)
|
|
1131
|
+
res.append(Constraint(param_spec, self.direction, param_spec_target))
|
|
1238
1132
|
if extra_tvars:
|
|
1239
1133
|
for c in res:
|
|
1240
1134
|
c.extra_tvars += cactual.variables
|
|
@@ -1250,9 +1144,7 @@ class ConstraintBuilderVisitor(TypeVisitor[List[Constraint]]):
|
|
|
1250
1144
|
Constraint(
|
|
1251
1145
|
param_spec,
|
|
1252
1146
|
SUBTYPE_OF,
|
|
1253
|
-
Parameters(
|
|
1254
|
-
[any_type, any_type], [ARG_STAR, ARG_STAR2], [None, None]
|
|
1255
|
-
),
|
|
1147
|
+
Parameters([any_type, any_type], [ARG_STAR, ARG_STAR2], [None, None]),
|
|
1256
1148
|
)
|
|
1257
1149
|
]
|
|
1258
1150
|
res.extend(infer_constraints(template.ret_type, any_type, self.direction))
|
|
@@ -1260,9 +1152,7 @@ class ConstraintBuilderVisitor(TypeVisitor[List[Constraint]]):
|
|
|
1260
1152
|
elif isinstance(self.actual, Overloaded):
|
|
1261
1153
|
return self.infer_against_overloaded(self.actual, template)
|
|
1262
1154
|
elif isinstance(self.actual, TypeType):
|
|
1263
|
-
return infer_constraints(
|
|
1264
|
-
template.ret_type, self.actual.item, self.direction
|
|
1265
|
-
)
|
|
1155
|
+
return infer_constraints(template.ret_type, self.actual.item, self.direction)
|
|
1266
1156
|
elif isinstance(self.actual, Instance):
|
|
1267
1157
|
# Instances with __call__ method defined are considered structural
|
|
1268
1158
|
# subtypes of Callable with a compatible signature.
|
|
@@ -1305,9 +1195,7 @@ class ConstraintBuilderVisitor(TypeVisitor[List[Constraint]]):
|
|
|
1305
1195
|
unpacked_type = get_proper_type(unpack_type.type)
|
|
1306
1196
|
if isinstance(unpacked_type, TypeVarTupleType):
|
|
1307
1197
|
res = [
|
|
1308
|
-
Constraint(
|
|
1309
|
-
type_var=unpacked_type, op=self.direction, target=actual
|
|
1310
|
-
)
|
|
1198
|
+
Constraint(type_var=unpacked_type, op=self.direction, target=actual)
|
|
1311
1199
|
]
|
|
1312
1200
|
else:
|
|
1313
1201
|
assert (
|
|
@@ -1315,17 +1203,13 @@ class ConstraintBuilderVisitor(TypeVisitor[List[Constraint]]):
|
|
|
1315
1203
|
and unpacked_type.type.fullname == "builtins.tuple"
|
|
1316
1204
|
)
|
|
1317
1205
|
res = infer_constraints(unpacked_type, actual, self.direction)
|
|
1318
|
-
assert isinstance(
|
|
1319
|
-
actual, Instance
|
|
1320
|
-
) # ensured by is_varlength_tuple == True
|
|
1206
|
+
assert isinstance(actual, Instance) # ensured by is_varlength_tuple == True
|
|
1321
1207
|
for i, ti in enumerate(template.items):
|
|
1322
1208
|
if i == unpack_index:
|
|
1323
1209
|
# This one we just handled above.
|
|
1324
1210
|
continue
|
|
1325
1211
|
# For Tuple[T, *Ts, S] <: tuple[X, ...] infer also T <: X and S <: X.
|
|
1326
|
-
res.extend(
|
|
1327
|
-
infer_constraints(ti, actual.args[0], self.direction)
|
|
1328
|
-
)
|
|
1212
|
+
res.extend(infer_constraints(ti, actual.args[0], self.direction))
|
|
1329
1213
|
return res
|
|
1330
1214
|
else:
|
|
1331
1215
|
assert isinstance(actual, TupleType)
|
|
@@ -1358,9 +1242,7 @@ class ConstraintBuilderVisitor(TypeVisitor[List[Constraint]]):
|
|
|
1358
1242
|
assert a_unpacked.type.fullname == "builtins.tuple"
|
|
1359
1243
|
for tm in t_middle:
|
|
1360
1244
|
res.extend(
|
|
1361
|
-
infer_constraints(
|
|
1362
|
-
tm, a_unpacked.args[0], self.direction
|
|
1363
|
-
)
|
|
1245
|
+
infer_constraints(tm, a_unpacked.args[0], self.direction)
|
|
1364
1246
|
)
|
|
1365
1247
|
else:
|
|
1366
1248
|
actual_items = ()
|
|
@@ -1380,15 +1262,11 @@ class ConstraintBuilderVisitor(TypeVisitor[List[Constraint]]):
|
|
|
1380
1262
|
):
|
|
1381
1263
|
# For named tuples using just the fallbacks usually gives better results.
|
|
1382
1264
|
return res + infer_constraints(
|
|
1383
|
-
template.partial_fallback,
|
|
1384
|
-
actual.partial_fallback,
|
|
1385
|
-
self.direction,
|
|
1265
|
+
template.partial_fallback, actual.partial_fallback, self.direction
|
|
1386
1266
|
)
|
|
1387
1267
|
for i in range(len(template_items)):
|
|
1388
1268
|
res.extend(
|
|
1389
|
-
infer_constraints(
|
|
1390
|
-
template_items[i], actual_items[i], self.direction
|
|
1391
|
-
)
|
|
1269
|
+
infer_constraints(template_items[i], actual_items[i], self.direction)
|
|
1392
1270
|
)
|
|
1393
1271
|
return res
|
|
1394
1272
|
elif isinstance(actual, AnyType):
|
|
@@ -1403,11 +1281,7 @@ class ConstraintBuilderVisitor(TypeVisitor[List[Constraint]]):
|
|
|
1403
1281
|
# NOTE: Non-matching keys are ignored. Compatibility is checked
|
|
1404
1282
|
# elsewhere so this shouldn't be unsafe.
|
|
1405
1283
|
for item_name, template_item_type, actual_item_type in template.zip(actual):
|
|
1406
|
-
res.extend(
|
|
1407
|
-
infer_constraints(
|
|
1408
|
-
template_item_type, actual_item_type, self.direction
|
|
1409
|
-
)
|
|
1410
|
-
)
|
|
1284
|
+
res.extend(infer_constraints(template_item_type, actual_item_type, self.direction))
|
|
1411
1285
|
return res
|
|
1412
1286
|
elif isinstance(actual, AnyType):
|
|
1413
1287
|
return self.infer_against_any(template.items.values(), actual)
|
|
@@ -1423,9 +1297,7 @@ class ConstraintBuilderVisitor(TypeVisitor[List[Constraint]]):
|
|
|
1423
1297
|
def visit_type_alias_type(self, template: TypeAliasType) -> list[Constraint]:
|
|
1424
1298
|
assert False, f"This should be never called, got {template}"
|
|
1425
1299
|
|
|
1426
|
-
def infer_against_any(
|
|
1427
|
-
self, types: Iterable[Type], any_type: AnyType
|
|
1428
|
-
) -> list[Constraint]:
|
|
1300
|
+
def infer_against_any(self, types: Iterable[Type], any_type: AnyType) -> list[Constraint]:
|
|
1429
1301
|
res: list[Constraint] = []
|
|
1430
1302
|
for t in types:
|
|
1431
1303
|
if isinstance(t, UnpackType):
|
|
@@ -1454,13 +1326,9 @@ class ConstraintBuilderVisitor(TypeVisitor[List[Constraint]]):
|
|
|
1454
1326
|
|
|
1455
1327
|
def visit_type_type(self, template: TypeType) -> list[Constraint]:
|
|
1456
1328
|
if isinstance(self.actual, CallableType):
|
|
1457
|
-
return infer_constraints(
|
|
1458
|
-
template.item, self.actual.ret_type, self.direction
|
|
1459
|
-
)
|
|
1329
|
+
return infer_constraints(template.item, self.actual.ret_type, self.direction)
|
|
1460
1330
|
elif isinstance(self.actual, Overloaded):
|
|
1461
|
-
return infer_constraints(
|
|
1462
|
-
template.item, self.actual.items[0].ret_type, self.direction
|
|
1463
|
-
)
|
|
1331
|
+
return infer_constraints(template.item, self.actual.items[0].ret_type, self.direction)
|
|
1464
1332
|
elif isinstance(self.actual, TypeType):
|
|
1465
1333
|
return infer_constraints(template.item, self.actual.item, self.direction)
|
|
1466
1334
|
elif isinstance(self.actual, AnyType):
|
|
@@ -1480,9 +1348,7 @@ def neg_op(op: int) -> int:
|
|
|
1480
1348
|
raise ValueError(f"Invalid operator {op}")
|
|
1481
1349
|
|
|
1482
1350
|
|
|
1483
|
-
def find_matching_overload_item(
|
|
1484
|
-
overloaded: Overloaded, template: CallableType
|
|
1485
|
-
) -> CallableType:
|
|
1351
|
+
def find_matching_overload_item(overloaded: Overloaded, template: CallableType) -> CallableType:
|
|
1486
1352
|
"""Disambiguate overload item against a template."""
|
|
1487
1353
|
items = overloaded.items
|
|
1488
1354
|
for item in items:
|
|
@@ -1602,9 +1468,7 @@ def build_constraints_for_simple_unpack(
|
|
|
1602
1468
|
# Set TypeVarTuple to empty to improve error messages.
|
|
1603
1469
|
return [
|
|
1604
1470
|
Constraint(
|
|
1605
|
-
t_unpack.type,
|
|
1606
|
-
direction,
|
|
1607
|
-
TupleType([], t_unpack.type.tuple_fallback),
|
|
1471
|
+
t_unpack.type, direction, TupleType([], t_unpack.type.tuple_fallback)
|
|
1608
1472
|
)
|
|
1609
1473
|
]
|
|
1610
1474
|
else:
|
|
@@ -1644,27 +1508,17 @@ def build_constraints_for_simple_unpack(
|
|
|
1644
1508
|
else:
|
|
1645
1509
|
a_tp = get_proper_type(a.type)
|
|
1646
1510
|
# This is the case *tuple[T, ...] <: *tuple[A, ...].
|
|
1647
|
-
if (
|
|
1648
|
-
|
|
1649
|
-
and a_tp.type.fullname == "builtins.tuple"
|
|
1650
|
-
):
|
|
1651
|
-
res.extend(
|
|
1652
|
-
infer_constraints(tp.args[0], a_tp.args[0], direction)
|
|
1653
|
-
)
|
|
1511
|
+
if isinstance(a_tp, Instance) and a_tp.type.fullname == "builtins.tuple":
|
|
1512
|
+
res.extend(infer_constraints(tp.args[0], a_tp.args[0], direction))
|
|
1654
1513
|
elif isinstance(tp, TypeVarTupleType):
|
|
1655
|
-
res.append(
|
|
1656
|
-
Constraint(tp, direction, TupleType(list(middle), tp.tuple_fallback))
|
|
1657
|
-
)
|
|
1514
|
+
res.append(Constraint(tp, direction, TupleType(list(middle), tp.tuple_fallback)))
|
|
1658
1515
|
elif actual_unpack is not None:
|
|
1659
1516
|
# A special case for a variadic tuple unpack, we simply infer T <: X from
|
|
1660
1517
|
# Tuple[..., *tuple[T, ...], ...] <: Tuple[..., *tuple[X, ...], ...].
|
|
1661
1518
|
actual_unpack_type = actual_args[actual_unpack]
|
|
1662
1519
|
assert isinstance(actual_unpack_type, UnpackType)
|
|
1663
1520
|
a_unpacked = get_proper_type(actual_unpack_type.type)
|
|
1664
|
-
if (
|
|
1665
|
-
isinstance(a_unpacked, Instance)
|
|
1666
|
-
and a_unpacked.type.fullname == "builtins.tuple"
|
|
1667
|
-
):
|
|
1521
|
+
if isinstance(a_unpacked, Instance) and a_unpacked.type.fullname == "builtins.tuple":
|
|
1668
1522
|
t_unpack = template_args[template_unpack]
|
|
1669
1523
|
assert isinstance(t_unpack, UnpackType)
|
|
1670
1524
|
tp = get_proper_type(t_unpack.type)
|
|
@@ -1673,9 +1527,7 @@ def build_constraints_for_simple_unpack(
|
|
|
1673
1527
|
return res
|
|
1674
1528
|
|
|
1675
1529
|
|
|
1676
|
-
def infer_directed_arg_constraints(
|
|
1677
|
-
left: Type, right: Type, direction: int
|
|
1678
|
-
) -> list[Constraint]:
|
|
1530
|
+
def infer_directed_arg_constraints(left: Type, right: Type, direction: int) -> list[Constraint]:
|
|
1679
1531
|
"""Infer constraints between two arguments using direction between original callables."""
|
|
1680
1532
|
if isinstance(left, (ParamSpecType, UnpackType)) or isinstance(
|
|
1681
1533
|
right, (ParamSpecType, UnpackType)
|
|
@@ -1716,22 +1568,16 @@ def infer_callable_arguments_constraints(
|
|
|
1716
1568
|
# Numbering of steps below matches the one in are_parameters_compatible() for convenience.
|
|
1717
1569
|
# Phase 1a: compare star vs star arguments.
|
|
1718
1570
|
if left_star is not None and right_star is not None:
|
|
1719
|
-
res.extend(
|
|
1720
|
-
infer_directed_arg_constraints(left_star.typ, right_star.typ, direction)
|
|
1721
|
-
)
|
|
1571
|
+
res.extend(infer_directed_arg_constraints(left_star.typ, right_star.typ, direction))
|
|
1722
1572
|
if left_star2 is not None and right_star2 is not None:
|
|
1723
|
-
res.extend(
|
|
1724
|
-
infer_directed_arg_constraints(left_star2.typ, right_star2.typ, direction)
|
|
1725
|
-
)
|
|
1573
|
+
res.extend(infer_directed_arg_constraints(left_star2.typ, right_star2.typ, direction))
|
|
1726
1574
|
|
|
1727
1575
|
# Phase 1b: compare left args with corresponding non-star right arguments.
|
|
1728
1576
|
for right_arg in right.formal_arguments():
|
|
1729
1577
|
left_arg = mypy.typeops.callable_corresponding_argument(left, right_arg)
|
|
1730
1578
|
if left_arg is None:
|
|
1731
1579
|
continue
|
|
1732
|
-
res.extend(
|
|
1733
|
-
infer_directed_arg_constraints(left_arg.typ, right_arg.typ, direction)
|
|
1734
|
-
)
|
|
1580
|
+
res.extend(infer_directed_arg_constraints(left_arg.typ, right_arg.typ, direction))
|
|
1735
1581
|
|
|
1736
1582
|
# Phase 1c: compare left args with right *args.
|
|
1737
1583
|
if right_star is not None:
|
|
@@ -1764,9 +1610,7 @@ def infer_callable_arguments_constraints(
|
|
|
1764
1610
|
left_by_name = left.argument_by_name(name)
|
|
1765
1611
|
assert left_by_name is not None
|
|
1766
1612
|
res.extend(
|
|
1767
|
-
infer_directed_arg_constraints(
|
|
1768
|
-
left_by_name.typ, right_by_name.typ, direction
|
|
1769
|
-
)
|
|
1613
|
+
infer_directed_arg_constraints(left_by_name.typ, right_by_name.typ, direction)
|
|
1770
1614
|
)
|
|
1771
1615
|
return res
|
|
1772
1616
|
|
|
@@ -1785,10 +1629,7 @@ def filter_imprecise_kinds(cs: list[Constraint]) -> list[Constraint]:
|
|
|
1785
1629
|
have_precise.add(c.type_var)
|
|
1786
1630
|
new_cs = []
|
|
1787
1631
|
for c in cs:
|
|
1788
|
-
if (
|
|
1789
|
-
not isinstance(c.origin_type_var, ParamSpecType)
|
|
1790
|
-
or c.type_var not in have_precise
|
|
1791
|
-
):
|
|
1632
|
+
if not isinstance(c.origin_type_var, ParamSpecType) or c.type_var not in have_precise:
|
|
1792
1633
|
new_cs.append(c)
|
|
1793
1634
|
if not isinstance(c.target, Parameters) or not c.target.imprecise_arg_kinds:
|
|
1794
1635
|
new_cs.append(c)
|