Dave Halter
0db50b521d
Fix an issue with Tuple generics
2020-05-16 14:55:59 +02:00
Dave Halter
9942a3d44c
A few class renames
2020-05-16 14:35:15 +02:00
Peter Law
43806f8668
Add support for generic optional parameters ( #1559 )
...
* Add support for generic optional parameters
* Tests for passing non-optional arguments to optional parameters
* Remove now-redundant is_class_value handling
This parameter has since been removed from infer_type_vars methods,
much simplifying the code.
2020-05-15 19:56:03 +02:00
Dave Halter
e6e43413ff
Any -> AnyClass
2020-05-10 03:17:52 +02:00
Dave Halter
e9a0c01af8
TypedDictBase -> TypedDictClass
2020-05-10 03:17:07 +02:00
Dave Halter
b57654aed3
Rename some classes to make it clearer that they are classes
2020-05-10 03:04:52 +02:00
Dave Halter
434866558a
Instances should not need get_generics
2020-05-10 02:59:54 +02:00
Dave Halter
42963a0e03
By having get_annotated_class_object for Tuple/Callable, some details are not necessary anymore
2020-05-10 02:52:42 +02:00
Dave Halter
c2d1da09cb
Make sure that Tuple/Callable instances have the correct py__class__
2020-05-10 01:05:55 +02:00
Dave Halter
d56f607f35
Reinstate an if that was deleted by mistake
2020-05-09 00:13:18 +02:00
Dave Halter
39a2cd8aa2
Fix a potential issue with tuples
2020-05-08 18:07:15 +02:00
Dave Halter
14ca8e6499
Add a comment
2020-05-08 18:00:35 +02:00
Dave Halter
2a227dcc7a
Remove is_class_value from infer_type_vars
2020-05-08 17:49:02 +02:00
Peter Law
55facaaf3d
Switch back to using execute_annotation
...
get_annotated_class_object is (sort-of) the inverse of execute_annotation,
so adding a get_annotated_class_object to implement execute_annotation
specifically for Tuples didn't make much sense.
2020-04-26 14:39:39 +01:00
Peter Law
17ca3a620f
Merge branch 'master' into fix-nested-tuple-argument
2020-04-26 13:56:14 +01:00
Peter Law
612fd23777
Support accessing the py__class__ of a NewType
...
The test here is a bit contrived, the actual place I found this
was in using a NewType as a type within a NamedTuple. However due
to https://github.com/davidhalter/jedi/issues/1560 that currently
also fails for other reasons. This still feels useful to fix on
its own though.
2020-04-26 00:59:07 +01:00
Peter Law
c19c13e2c6
Apply tuple-only filtering to apply more broadly
2020-04-24 16:44:25 +01:00
Peter Law
891383f8dc
Use get_annotated_class_object over execute_annotation
2020-04-24 16:32:00 +01:00
Peter Law
ce1ac38cde
Implement get_annotated_class_object for Tuples
2020-04-24 16:25:19 +01:00
Peter Law
343a10d491
Drop redundant blank line
2020-04-19 14:42:57 +01:00
Peter Law
72c52f5f15
Add type match guard
2020-04-19 14:29:44 +01:00
Peter Law
cfa01d3ac5
Add handling of nested generic tuples
2020-04-19 14:10:03 +01:00
Peter Law
f8e7447d35
Add handling of nested generic callables
...
Previously tests for these were passing somewhat by accident,
however this commit's parent adds a case which showed that the
handling was missing.
Note that this also relies on the recent fix for nested tuples
which changed the `isinstance` check in `define_generics`.
2020-04-19 13:27:06 +01:00
Dave Halter
dde40b3a71
Add a comment to clarify the Type case
2020-04-02 00:23:38 +02:00
Dave Halter
28f256d2a6
Merge branch 'improve-type-annotation-inference-refactors' of https://github.com/PeterJCLaw/jedi
2020-04-01 00:54:25 +02:00
Dave Halter
883f5a3824
Merge branch 'improve-type-annotation-inference' of https://github.com/PeterJCLaw/jedi
2020-04-01 00:54:13 +02:00
Peter Law
e2090772f3
Push tuple handling onto Tuple class
...
This resolves a TODO to avoid using a private method
2020-03-22 16:04:39 +00:00
Peter Law
525b88e9f1
Simplify early-exit code by having it once
2020-03-22 15:49:31 +00:00
Peter Law
3c90a84f68
Extract common get_generics() calls
...
These no longer need to be guarded by the conditions now that we
know these types are generic anyway.
2020-03-22 15:47:46 +00:00
Peter Law
ea33db388b
Remove dict merging where it doesn't do anything
...
These cases are all at the end of a single-path branch that ends
up "merging" against an empty mapping which is then returned
unchanged.
2020-03-22 15:45:18 +00:00
Peter Law
f68d65ed59
Push much looping and merging of infering type vars into ValueSet
2020-03-22 15:29:11 +00:00
Peter Law
3c7621049c
Extract annotation inference onto annotation classes
...
This removes the _infer_type_vars util in favour of a polymorphic
implementation, removing the conditional checks on the type of
the annotation instance.
While for the moment this creates some circular imports, further
refactoring to follow should be able to remove those.
2020-03-22 15:29:11 +00:00
Dave Halter
656324f686
Disable some more tests for Python 2
2020-03-01 13:30:41 +01:00
Dave Halter
609737322d
TypedDict checking should be at a later point
2020-03-01 02:34:38 +01:00
Peter Law
bc53dabce3
Make tuple generic parameters work
2020-02-23 13:59:44 +00:00
Sam Roeca
9d2083fa08
Remove argument to filter.values()
...
Given 87161df2 , values(from_instance=False) doesn't produce completions
anymore. Therefore, we remove from_instance as an argument.
2020-02-07 13:38:52 -05:00
Sam Roeca
6a9745b42b
Get basic completions working with TypedDict
2020-02-07 13:24:00 -05:00
Dave Halter
87161df2f0
Make sure that typeddict py__getitem__ works
2020-02-07 16:45:03 +01:00
Dave Halter
8eb980db73
Create the basics to work with TypedDict in the future
2020-01-26 19:25:23 +01:00
Dave Halter
095f1295af
Avoid a bug that a compiler might have found, fixes #1469
2020-01-11 21:35:39 +01:00
Dave Halter
3ba68b5bc6
Properly convert compiled values to generic classes
2020-01-10 15:09:16 +01:00
Dave Halter
8611fcf8ea
Fix some tests
2019-12-27 11:59:40 +01:00
Dave Halter
51e2e90dce
Make sure overload checks work for TypeAlias, see #1416
2019-12-20 01:33:41 +01:00
Dave Halter
e656a5f18f
Make it possible to infer Callable TypeVars, fixes #1449
2019-12-12 23:46:55 +01:00
Dave Halter
28ecc2709a
Don't use globals anymore
2019-12-09 00:15:21 +01:00
Dave Halter
33224ae7e1
Remove a duplicate method
2019-12-09 00:11:51 +01:00
Dave Halter
5acbb06315
Refactor so typing uses BaseTypingValueWithGenerics
...
This makes it finally possible to use type vars with Callable and some other classes.
Fixes #1413
2019-12-08 23:50:57 +01:00
Dave Halter
9eef771ec5
Remove get_index_and_execute and use something else
2019-12-08 22:55:52 +01:00
Dave Halter
ad92882c48
Use the generics manager for all the typing classes
2019-12-08 22:42:01 +01:00
Dave Halter
c112858a1c
Move iter_over_arguments to a separate file
2019-12-08 20:14:15 +01:00