From d48f32d96e20524ffb0b9314dcb904abfe824f17 Mon Sep 17 00:00:00 2001 From: KotlinIsland Date: Mon, 11 Nov 2024 00:45:23 +1000 Subject: [PATCH] type functions --- .idea/watcherTasks.xml | 4 + mypy/binder.py | 4 +- mypy/checker.py | 19 +- mypy/checkexpr.py | 135 ++++++++++- mypy/errorcodes.py | 3 + mypy/expandtype.py | 39 ++-- mypy/fastparse.py | 3 +- mypy/join.py | 3 +- mypy/meet.py | 2 + mypy/nodes.py | 2 + mypy/semanal.py | 4 + mypy/typeanal.py | 14 +- mypy/types.py | 8 +- mypy/typeshed/stdlib/builtins.pyi | 221 +++++++++++++++++- mypy/valuetotype.py | 58 +++++ test-data/unit/check-based-assignment.test | 17 ++ test-data/unit/check-based-bare-literals.test | 21 +- test-data/unit/check-based-inference.test | 26 +++ test-data/unit/check-based-misc.test | 6 +- test-data/unit/check-based-type-function.test | 56 +++++ test-data/unit/check-based-type-render.test | 2 +- test-data/unit/check-based-typevar.test | 36 +++ test-data/unit/check-classes.test | 2 +- test-data/unit/check-columns.test | 2 +- test-data/unit/check-custom-plugin.test | 4 +- test-data/unit/check-enum.test | 5 +- test-data/unit/check-errorcodes.test | 8 +- test-data/unit/check-expressions.test | 8 +- test-data/unit/check-flags.test | 6 +- test-data/unit/check-functions.test | 2 +- test-data/unit/check-functools.test | 4 +- test-data/unit/check-generics.test | 8 +- test-data/unit/check-incremental.test | 4 +- test-data/unit/check-inference-context.test | 6 +- test-data/unit/check-inference.test | 10 +- test-data/unit/check-literal.test | 70 +++--- test-data/unit/check-modules.test | 4 +- test-data/unit/check-newsemanal.test | 4 +- test-data/unit/check-optional.test | 22 +- test-data/unit/check-python312.test | 28 +-- test-data/unit/check-python38.test | 11 +- test-data/unit/check-redefine.test | 28 +-- test-data/unit/check-selftype.test | 12 +- test-data/unit/check-serialize.test | 6 +- test-data/unit/check-statements.test | 8 +- test-data/unit/check-tuples.test | 8 +- test-data/unit/check-typeddict.test | 14 +- test-data/unit/check-typeis.test | 4 +- test-data/unit/check-typevar-tuple.test | 2 +- test-data/unit/check-unions.test | 48 ++-- test-data/unit/check-unreachable-code.test | 18 +- test-data/unit/check-varargs.test | 2 +- test-data/unit/check-warnings.test | 2 +- test-data/unit/cmdline.test | 8 +- test-data/unit/fine-grained.test | 2 +- test-data/unit/lib-stub/basedtyping.pyi | 2 + test-data/unit/pep561.test | 8 +- test-data/unit/typexport-basic.test | 4 +- 58 files changed, 838 insertions(+), 229 deletions(-) create mode 100644 mypy/valuetotype.py create mode 100644 test-data/unit/check-based-assignment.test create mode 100644 test-data/unit/check-based-inference.test create mode 100644 test-data/unit/check-based-type-function.test diff --git a/.idea/watcherTasks.xml b/.idea/watcherTasks.xml index 6e069eeaf..266b4324a 100644 --- a/.idea/watcherTasks.xml +++ b/.idea/watcherTasks.xml @@ -41,5 +41,9 @@