Commit Graph

6979 Commits

Author SHA1 Message Date
Sam Roeca
c2fd7b3104 Fix: upward search omits unnecessary paths
In the previous implementation, Jedi's traverse_parents function
traversed parent directories to the system root every time. This would
inadvertently add every folder to the system root every time. Obviously,
this is not the behavior desired for the import system.

This commit collects directories in an upward search until we:

1. Hit any directory without an __init__.py, AND
2. Are above self._path.
2019-11-29 21:12:12 -05:00
Sam Roeca
4bc4f167e9 Revert "Fix: no longer shows folders recursively to root"
This reverts commit 03b4177d3d.
2019-11-29 20:11:23 -05:00
Sam Roeca
03b4177d3d Fix: no longer shows folders recursively to root
In the previous implementation, Jedi would's traverse_parents function
traversed parent directories to the system root every time. This would
inadvertently add every folder to the system root every time. Obviously,
this is not the behavior desired for the import system.

This pull request provides a new argument to the traverse_parents
function, "root", which represents the root parent for the search. This
argument defaults to None, thereby preserving the existing behavior of
the function.

I chose to duplicate some code for performance reasons. Since I'm trying
to avoid too much path manipulation magic, we do:

* a search to a valid specified root, OR
* a simple upward search until hitting the system root when there is no
valid root specified.
2019-11-28 23:04:08 -05: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
Dave Halter
facd21afc6 Remove Python 3.9 dev build from travis, it's not needed 2019-11-27 20:50:29 +01:00
Dave Halter
e1d840c89b Start to use Python 3.8 in the normal CI pipeline 2019-11-27 20:15:52 +01:00
Dave Halter
15c13c1386 Fix the pow test for Python 3.8 2019-11-27 20:12:50 +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
Endill
00b220516d Fix annotation string generated from wrong object 2019-10-26 13:58:15 +02:00
Dave Halter
a6fcf779d4 Fix a small issue created in #1398 2019-09-21 23:29:07 +02:00
Levente Polyak
527ef6fcdd fix static analysis test skips with latest pytest
Latest pytest ensures pytest.skip is being called with a str parameter.
However, test_static_analysis passed over the skip parameter which
contains a tuple returned from skip_python_version leading to test
regression.
Unify the version skip reasons for both, static analysis and integration
tests by using a shared BaseTestCase parent to avoid code duplication.
Furthermore handle test_static_analysis skip_reason extraction
orthogonal to test_completion.
2019-09-21 21:42:05 +02:00
Philipp A
a0f95fc89f Fixed rST in changelog 2019-09-21 21:35:04 +02:00
Maxim Cournoyer
96d650cab3 test: test_completion: Dynamically resolve current directory name.
This fixes issue #1395 (see:
https://github.com/davidhalter/jedi/issues/1395).

* test/test_api/test_completion.py(current_dirname): New variable.
(test_file_path_completions): Use it.
2019-09-19 23:35:18 +02:00
Dave Halter
66022edf14 Skip Python 2 tests for some array issues 2019-09-06 00:04:44 +02:00
Dave Halter
ae79919eb4 Skip some param resolving tests in Python 2/3.4 2019-09-05 18:27:37 +02:00
Dave Halter
fbe58306c3 Add a few tests for a previous assertion failure 2019-09-05 10:57:04 +02:00
Dave Halter
9c19f72af3 Make sure a compiled instance is is_compiled 2019-09-05 10:13:03 +02:00
Dave Halter
a9f1d3d9bb Reenable a test 2019-09-05 10:09:33 +02:00
Dave Halter
1db3e9a65d Disable a test in Python2 2019-09-05 10:03:50 +02:00
Dave Halter
599eded3d1 Remove a few unused imports 2019-09-05 00:54:13 +02:00
Dave Halter
4e68287bba Move eval_node to one place 2019-09-05 00:52:14 +02:00
Dave Halter
008e9860a8 Avoid creating the same object twice 2019-09-05 00:37:51 +02:00
Dave Halter
8cd5932fed Move inference_state.goto to the name and _follow_error_node_imports_if_possible away from inference_state 2019-09-05 00:34:13 +02:00
Dave Halter
67c007338a Make some dynamic array variables private 2019-09-05 00:18:01 +02:00
Dave Halter
aea2ddcbd8 ContextualizedName -> TreeNameDefinition 2019-09-05 00:15:38 +02:00
Dave Halter
4d332c32c0 Use create_name instead of duplicated logic 2019-09-05 00:04:24 +02:00
Dave Halter
02046d5333 Replace obj with value 2019-09-04 11:12:30 +02:00
Dave Halter
2faa8ade8b Remove get_object, it's not needed anymore 2019-09-04 11:04:09 +02:00
Dave Halter
f9292ca8fa Implement properties properly 2019-09-04 11:00:43 +02:00
Dave Halter
40b01bfd2c Make arguments private for instance 2019-09-04 09:34:22 +02:00
Dave Halter
46e9b9e7cf Refactor dynamic params a bit 2019-09-04 09:31:01 +02:00
Dave Halter
96848dd627 Revert "Refactor some dynamic function arguments things"
This reverts commit e7d9a59da2.
2019-09-04 09:28:31 +02:00
Dave Halter
e7d9a59da2 Refactor some dynamic function arguments things 2019-09-04 09:27:06 +02:00
Dave Halter
dd400f115a Move some annotation inferring code to proper functions 2019-09-04 01:29:41 +02:00
Dave Halter
34f131e9b3 Remove an unneeded list cast 2019-09-04 01:22:16 +02:00
Dave Halter
47d6ae3da1 SimpleParamName -> AnonymousParamName 2019-09-04 01:20:44 +02:00
Dave Halter
79f9d78c83 Make create_instance_context a lot more understandable (and shorter) 2019-09-04 01:06:25 +02:00
Dave Halter
06d2119f51 Make sure a self variable is only defined in a function not outside 2019-09-04 00:53:46 +02:00
Dave Halter
b27f47683c get_first_non_keyword_argument_values is not really used anymore 2019-09-04 00:08:49 +02:00
Dave Halter
0be9ab0caf A simplification 2019-09-04 00:03:03 +02:00
Dave Halter
c8564a68df Fix recursion issues about dynamic param lookups and defaults work again 2019-09-03 23:59:31 +02:00
Dave Halter
75262d294f Refactor search_param_names interface 2019-09-03 22:17:30 +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
a3659e2750 Remvoe AnonymousArguments 2019-09-03 21:59:50 +02:00
Dave Halter
3a74d65404 Refactor AnonymousInstance/TreeInstance, so that the anonymous instance doesn't have to use arguments 2019-09-03 21:56:48 +02:00
Dave Halter
acda3527cb Separate tree/compiled instances better 2019-09-03 21:36:13 +02:00
Dave Halter
03f6d0edf8 Get rid of create_init_executions 2019-09-03 17:50:03 +02:00
Dave Halter
c79faa6b10 Implement super() properly 2019-09-03 14:53:40 +02:00
Dave Halter
4b10644100 Start using AnonymousMethodExecutionContext instead of the normal function execution context with arguments 2019-09-03 14:44:01 +02:00