1
0
forked from VimPlug/jedi
Commit Graph

118 Commits

Author SHA1 Message Date
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
Peter Law
dd60a8a4c9 Extract nested function which is going to be used elsewhere 2020-03-22 15:20:58 +00:00
Peter Law
5bd6a9c164 Rename function which is going to be used elsewhere 2020-03-22 15:18:41 +00:00
Peter Law
c743e5d9f3 Push type check into helper 2020-03-22 15:14:01 +00:00
Peter Law
5ca69458d4 Add testing for mismatch cases
This should help catch any errors in our handling of invalid cases.
While some of these produce outputs which aren't correct, what
we're checking here is that we don't _error_ while producing that
output.

Also fix a case which this showed up.
2020-03-22 15:10:43 +00:00
Peter Law
0f8e7b453e Formatting 2020-03-18 22:12:21 +00:00
Peter Law
da9d312185 Remove redundant attribute check 2020-03-12 22:06:13 +00:00
Peter Law
b198434694 Remove resolved TODO
The common logic this refers to has now been extracted (see 95cec459)
and the remaining checks are specific to tuple handling.
2020-03-07 20:29:14 +00:00
Peter Law
d06efd0dd1 Push fetching of generics into nested function
This slightly simplifies both the calling code and semantics of
the nested function.
2020-03-07 18:09:20 +00:00
Peter Law
96132587b7 Clarify generic tuple inference
This hoist a loop invariant conditional check outside the loop
making it clearer and one branch more obviously similar to the
general type handling.
2020-03-07 17:35:29 +00:00
Peter Law
5d273f4630 Explain these branches 2020-03-07 17:35:03 +00:00
Peter Law
95cec459a8 Extract nested function for common pattern
This slightly simplifies the code, as well as providing a place
to put an explanation of what the moved block of code does.
2020-03-07 17:06:22 +00:00
Peter Law
3b4fa2aa9c Clarify variable name 2020-03-07 16:32:38 +00:00
Peter Law
54e29eede1 Add explanation of the parameters to _infer_type_vars 2020-03-07 16:31:12 +00:00
Peter Law
f1a9e681ad Ensure comprehensions and generator expressions work 2020-02-23 15:25:28 +00:00
Peter Law
f4cbf61604 Ensure variadic tuples (Tuple[T, ...]) behave like sequences 2020-02-23 14:00:39 +00:00
Peter Law
e557129121 Remove check which doesn't seem to be needed
I'm not sure why I added this, though removing it doesn't seem to
casue any issues. I suspect there might be some oddness if the type
being passed in doesn't match the type expected, though them having
the same number of generic paramters isn't an expecially great way
to validate that.
2020-02-23 14:00:16 +00:00
Peter Law
c15e0ef9b8 Ensure specialised types inheriting from generics work 2020-02-23 14:00:15 +00:00
Peter Law
c03ae0315e Make nested Type[T] annotations work 2020-02-23 13:59:44 +00:00
Peter Law
bc53dabce3 Make tuple generic parameters work 2020-02-23 13:59:44 +00:00
Peter Law
969a8f1fd9 First pass at extending infer_type_vars
This mostly works for the new tests, but doesn't work for:
- tuples (though this seems to be because they lack generic information anyway)
- nested Type[T] handling (e.g: List[Type[T]])
2020-02-23 13:59:44 +00:00
Peter Law
6efafb348e Extract the annotation name upfront
We almost always need this and this simplifies the code within
each branch. This also means we'll be able to the name to determine
the branching.
2020-02-22 19:42:08 +00:00
Peter Law
36b4b797c1 Add trailing comma 2020-02-22 19:42:08 +00:00
Dave Halter
7a55484b79 Fix a test issue 2020-02-04 23:56:01 +01:00
Dave Halter
a49c757b8a Make Ellipsis without list in Callable work, fixes #1475 2020-02-03 09:25:46 +01:00
Dave Halter
eee919174d Stubs should not become stubs again in the conversion function, fixes #1475 2020-02-03 00:58:54 +01:00
Dave Halter
e3c4b5b77e Make sure param hints are working for functions 2020-02-02 18:42:01 +01:00
Dave Halter
4c7179bc87 Generate type hints, fixes #987 2020-02-02 16:55:10 +01:00
Dave Halter
5c68304bec Raise a proper exception instead of assert in case only_stubs and prefer_stubs are given 2020-01-22 10:00:10 +01:00
Dave Halter
8bcd1f5fd9 Fix stub conversion 2020-01-14 01:08:26 +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
a17b56f260 Use one single way to convert stubs to Python, see #1466 2020-01-07 10:02:31 +01:00
Dave Halter
9b9cacfbf9 Make sure to use _stub_to_python_value_set for all conversions, see #1466 2020-01-07 01:27:50 +01:00
Dave Halter
ea0972d7ac Make sure to check the module cache before loading a module (again)
This hopefully results in some performance improvements (maybe numpy?).
2020-01-05 18:28:34 +01:00
Dave Halter
829ee0e6b0 Remove unused code 2020-01-01 03:27:17 +01:00
Dave Halter
8611fcf8ea Fix some tests 2019-12-27 11:59:40 +01:00
Dave Halter
4161bfc7f2 Avoid some duplication of code 2019-12-22 01:24:50 +01:00
Dave Halter
fcede44c2a Move the docstring checking code to the names 2019-12-21 20:06:37 +01:00
Dave Halter
e56d4fde98 Improved Generic subclass matching 2019-12-20 01:33:41 +01:00
Dave Halter
51e2e90dce Make sure overload checks work for TypeAlias, see #1416 2019-12-20 01:33:41 +01:00
Dave Halter
38eb2c9ba3 Make sure that the definition order in stubs are ignored 2019-12-15 18:41:41 +01:00
Dave Halter
9d35adda02 Make sure that a goto on stubs even without the implementation is possible 2019-12-15 18:00:09 +01:00
Dave Halter
7bdedb40e3 Fix: Stubs in typeshed weren't loaded properly sometimes, fixes #1434 2019-12-14 21:33:00 +01:00
Dave Halter
e656a5f18f Make it possible to infer Callable TypeVars, fixes #1449 2019-12-12 23:46:55 +01:00
Dave Halter
536a77551b Account for sys path potentially not being all unicode in typeshed, fixes #1456
This is a bit stupid, but don't care too much, it will get removed soon, when
Python 2 support is going to get removed.
2019-12-11 00:30:37 +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