1
0
forked from VimPlug/jedi
Commit Graph

56 Commits

Author SHA1 Message Date
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
e656a5f18f Make it possible to infer Callable TypeVars, fixes #1449 2019-12-12 23:46:55 +01:00
Dave Halter
8213d183fb Start using generic managers, for #1413 2019-12-08 21:56:30 +01:00
Dave Halter
df697cfb03 Make AbstractAnnotatedClass private 2019-12-08 19:00:26 +01:00
Dave Halter
bc99fbdfea Remove an unused InstanceArguments 2019-12-07 15:27:26 +01:00
Dave Halter
48ac0c9421 Move more stuff from gradual/typing.py to gradual/base.py 2019-12-07 15:27:14 +01:00
Dave Halter
ab8f0ba834 Make sure Callable TypeVars are better identified, solves a part of #1413 2019-12-07 15:02:41 +01:00
Samuel Roeca
761f0828c7 Fix missing inference for typing.Type[typing.TypeVar] (#1448)
* Add Type[TypeVar] support
* Completion tests for typing.Type[typing.TypeVar]
2019-11-27 22:10:58 +01:00
Jérome Perrin
6d632a01eb Fix inference from type comment for function parameter with dot
fix for https://github.com/davidhalter/jedi/issues/1437
2019-11-08 13:41:17 +01:00
Dave Halter
34f131e9b3 Remove an unneeded list cast 2019-09-04 01:22:16 +02:00
Dave Halter
ac4dd06d11 Use get_executed_param_names if get_executed_param_names_and_issues is not necessary 2019-09-03 22:11:00 +02:00
Dave Halter
d4f3963cd0 Don't use get_executed_param_names_and_issues as an attribute on arguments 2019-09-03 22:07:34 +02:00
Dave Halter
7ad7d22fb0 Use function/arguments intead of execution 2019-09-02 21:50:56 +02:00
Dave Halter
edb17b8e7c Refactor params and what execution contexts need 2019-09-01 14:14:42 +02:00
Dave Halter
066b189bfa Fix cases where dicts are passed to dicts and generics were not properly applied 2019-08-27 20:41:46 +02:00
Dave Halter
98d0fc632e Some more renames 2019-08-24 14:02:04 +02:00
Dave Halter
b1d2f2462b get_executed_params_and_issues -> get_executed_param_names_and_issues 2019-08-24 13:45:47 +02:00
Dave Halter
8b1f35a8b1 Use get_kind in ExecutedParam 2019-08-24 13:20:53 +02:00
Dave Halter
88cf198552 Avoid function executions if they are not necessary
This also means that annotations are prefered to docstring types
2019-08-24 12:23:33 +02:00
Dave Halter
b19ba12566 Fix some more context issues 2019-08-19 19:33:12 +02:00
Dave Halter
0c419a5094 Fix class tests 2019-08-17 23:52:52 +02:00
Dave Halter
a9b1de7060 execution_value -> execution_context 2019-08-17 17:13:29 +02:00
Dave Halter
03920502c4 infer_state -> inference_state 2019-08-16 11:44:30 +02:00
Dave Halter
9986d8c9aa Context -> Value 2019-08-15 01:26:11 +02:00
Dave Halter
49f996867d NO_CONTEXTS -> NO_VALUES 2019-08-15 01:24:28 +02:00