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
95b0cdcb5e
Add test for child of specialised generic
2020-03-18 22:15:32 +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
5e990d9206
Support passing through values for non-annotated tuples
2020-02-23 14:00:16 +00:00
Peter Law
80db4dcf56
Add test to ensure unions work
2020-02-23 14:00:16 +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
e455709a31
Add test case for nested generic callables
2020-02-23 14:00:13 +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
0a7820f6de
Add many test cases
...
While these definitely _ought_ to work on Python 2.7, the annotation
support there is very limited and as Python 2 is deprecated it
doesn't seem worth it.
2020-02-23 13:58:10 +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
Lior Goldberg
1874e9be81
Remove the word 'class' from annotation_string
...
Currently, 'foo(x: int)' results with annotation_string="<class 'int'>".
Change this to 'int'.
2020-02-20 09:35:01 +01:00
Peter Law
c4cf0d78e1
Add a couple of docstrings
...
These are based on observation of the outputs of these functions.
2020-02-15 12:25:12 +01:00
Peter Law
c7d1b8de9e
Tell sith that 'completions' became 'complete'
2020-02-13 09:51:31 +01:00
Jma353
d42d3f45f0
Add venv to .gitignore
2020-02-11 19:08:47 +01:00
Peter Law
370e539a7e
Remove additional prefix which seems incorrect
2020-02-09 11:39:41 +01:00
Peter Law
fd1f9f22e9
Update use of _source which no longer exists to _code
2020-02-09 11:39:41 +01:00
Dave Halter
bcb7cc864c
Make sure to move up VSCode, because it's used a lot
2020-02-08 20:09:46 +01:00
Dave Halter
de2f753546
Revert "Make sure to mention that VSCode is using Jedi"
...
It was already in there.
This reverts commit 2cf06bcf48 .
2020-02-08 20:06:17 +01:00
Dave Halter
2cf06bcf48
Make sure to mention that VSCode is using Jedi
...
It has been used for a long time
2020-02-08 20:04:47 +01:00
Dave Halter
7a55484b79
Fix a test issue
2020-02-04 23:56:01 +01:00
Dave Halter
40fced2450
Actually use follow_builtin_imports and improve the goto docstring, fixes #1492
2020-02-04 19:34:42 +01:00
Dave Halter
3388a9659b
Catch an error with illegal class instances, fixes #1491
2020-02-03 22:27:48 +01:00
Dave Halter
a49c757b8a
Make Ellipsis without list in Callable work, fixes #1475
2020-02-03 09:25:46 +01:00
Dave Halter
3ad3dc08b8
Run get_type_hint tests only for 3.6+
2020-02-03 01:03:19 +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
e802f5aabd
Make sure to print errors in __main__ completions
2020-02-02 23:28:55 +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
f4b1fc479d
Bump version to 0.16.1
2020-01-31 13:38:27 +01:00
Dave Halter
e1425de8a4
Make sure to be able to deal with all kinds of loaders, fixes #1487
2020-01-31 13:26:56 +01:00
Dave Halter
e930f47861
Make generators return more correct values with while loops, fixes #683
2020-01-29 10:13:46 +01:00