Dave Halter
283afa78f1
Remove code that is not needed anymore, because the Definition/Completion import is now standardized (to NamePart).
2014-09-11 01:15:00 +02:00
Dave Halter
9f16555f47
Big refactoring: BaseDefinition._definnition changes to BaseDefinition._name, because it's a NamePart now.
...
This also includes changes to tests and some simplifications like deleting the old name logic of Definition.
2014-09-11 01:03:30 +02:00
Dave Halter
58526e2302
Completion now also uses only NameParts as its _definition attribute.
2014-09-10 20:12:19 +02:00
Dave Halter
8f892e3922
Use FakeName instead of a custom KeywordName.
2014-09-10 20:07:13 +02:00
Dave Halter
1fb9b4bc6b
Completion now always takes a NamePart as input.
2014-09-10 18:59:08 +02:00
Dave Halter
0eea30f227
NamePart migration of Definition is complete. Now Completion.
2014-09-10 18:29:10 +02:00
Dave Halter
2aa538999e
Removed an old test from the days where it was allowed to add Keywords to Definitions.
2014-09-10 18:05:04 +02:00
Dave Halter
46b49af5d9
Even params should be NameParts as a Definition input.
2014-09-10 17:41:06 +02:00
Dave Halter
5e28d69437
Fix remaining usage issues.
2014-09-10 17:15:58 +02:00
Dave Halter
4060c4dc55
Fix some goto issues.
2014-09-10 16:39:09 +02:00
Dave Halter
a93a389d5c
Fix all the normal issues with the NameFinder change. Now goto...
2014-09-10 16:30:22 +02:00
Dave Halter
657a2c7d4f
Trying to get the NameFinder to use only NameParts.
2014-09-10 16:20:30 +02:00
Dave Halter
43cf1d451f
Python 2/3 compatibility issues that were not resolved in the latest commit.
2014-09-09 17:51:39 +02:00
Dave Halter
fdc637c5c4
Add a forgotten test module, test_sys_path.py and fix Python2/3 compatibility issues.
2014-09-09 17:08:22 +02:00
Dave Halter
38f7296f39
Typo.
2014-09-09 16:51:46 +02:00
Dave Halter
87aa76678a
Goto should work on named params, too.
2014-09-09 16:48:53 +02:00
Dave Halter
110f130741
Make it possible to get previous statements of Calls.
2014-09-09 16:44:56 +02:00
Dave Halter
b68a59daef
Fix the last remaining issues of the first part of the NamePart switch.
2014-09-09 15:58:20 +02:00
Dave Halter
45e033c50e
Quite a few fixes to be eventually able to use NameParts as Definition inputs.
2014-09-09 15:21:27 +02:00
Dave Halter
1199defabb
Start to use NameParts only in Definition contexts.
2014-09-09 14:13:10 +02:00
Dave Halter
ff7680c15f
Generate the expression_list of a statement in any case.
...
This is a consequence of being able to have Calls as parents of Names. Otherwise we would have changing Name.parent values.
2014-09-09 12:54:46 +02:00
Dave Halter
740fd0657f
Add a goto_assignments test for named params
2014-09-09 00:06:24 +02:00
Dave Halter
0dcb91d236
Add a Definition.is_definition function to be able to check if a name is a definition or not.
2014-09-08 23:44:35 +02:00
Dave Halter
851717a968
Publicize jedi.names and add a first test.
2014-09-08 22:39:47 +02:00
Dave Halter
be85391321
Create a 'jedi.names' function with the proper docstring.
...
Modelled according the discussion in #477 .
2014-09-08 21:43:16 +02:00
Dave Halter
ca536baf9b
Last fixes, because of the Name.get_definition change. The recent parser.representation changes are now fully working and we're ready to improve Evaluator.goto again.
2014-09-06 13:23:00 +02:00
Dave Halter
ece9fdf4ae
Fixing most of the issues that existed, because of the recent Name.get_definition/Call.name.parent change.
2014-09-06 13:02:52 +02:00
Dave Halter
2e7e2f0a29
Name parents are now Calls (once their statements have generated the Calls).
...
This makes the goto function more powerful. Also fixes an issue with the deep_ast_copy, that I tried to fix previously, but failed, because I hadn't tested it.
2014-09-06 12:19:07 +02:00
Dave Halter
5a3ee02399
Use ExprStmt pretty much everywhere where it should be used.
...
ExprStmt is now really a normal statement. All the other statements are from now on considered legacy code. As a side effect this increases the parser pickling version.
2014-09-06 11:13:58 +02:00
Dave Halter
cb84bc0829
Start using ExprStmt.
2014-09-06 10:46:59 +02:00
Dave Halter
f57d9ef675
Rename Name.get_parent_stmt to Name.get_definition, because it's not always a statement. Also start using it in the NameFinder.
2014-09-06 10:43:26 +02:00
Dave Halter
99116cdcb7
Add a Name.get_parent_stmt() function.
2014-09-05 22:26:55 +02:00
Dave Halter
6c07c7acfe
Create an ExprStatement class to replace the Statement class in the future and separate array parts of actual statements
2014-09-05 22:21:26 +02:00
Dave Halter
12154fdecf
Refactor a few name finder things.
2014-09-05 12:12:29 +02:00
Dave Halter
ba805879b4
Updated helpers.deep_ast_copy. Now the function copies statements in a better way.
...
Previously statement attributes where scanned like every other objects. Now two statements get priority: _assignment_details and _expression_list. This is necessary if we want to switch towards proper name parents (A Call would be the parent of a name, not a Statement)
2014-09-05 11:49:45 +02:00
Dave Halter
42d6b57599
precedence._is_string -> precedence.is_string
2014-09-04 14:13:26 +02:00
Dave Halter
7b2e11d71b
Rewrote sys_path._paths_from_assignment.
2014-09-04 14:12:10 +02:00
Dave Halter
4180005893
Forgot to add the the params in the case of a class in the previous commit.
2014-09-04 12:53:42 +02:00
Dave Halter
06699993f1
Class inheritance definitions shouldn't be params. It's just statements.
2014-09-04 12:28:50 +02:00
Dave Halter
1df025c39d
Definitions should not be followed in Evaluator.goto.
2014-09-04 11:55:42 +02:00
Dave Halter
e872d9e073
Script.goto_assignments now always needs a call_path. Otherwise it raises a NotFoundError.
...
This change makes Jedi's behavior more consistent.
2014-09-04 00:56:58 +02:00
Dave Halter
fb10199f37
Remove search_name and search_name_part from goto returns.
...
The search_name can be retrieved by checking definitions for it. Definitions should always be names or even better name_parts in case of goto. Therefore we can just get it there.
2014-09-03 23:28:19 +02:00
Dave Halter
f7a1c110ba
Fix remaining issues with CompiledName.name change.
2014-09-03 19:47:37 +02:00
Dave Halter
bb5ffe9343
CompiledObject.name returns a Name now, not a string. This is more consistent with the Jedi design and doesn't lead to bugs while ducktyping.
2014-09-03 19:43:21 +02:00
Dave Halter
18204c4c19
By trying to get rid of search_name in usages, we had to fix an issue with imports:
...
If used like 'follow(is_goto)', it could return a ModuleWrapper instead of a Name, which is what we actually want.
2014-09-03 19:30:00 +02:00
Dave Halter
59578966cf
Remove code that is not used anymore from Script._goto
2014-09-03 18:02:20 +02:00
Dave Halter
e2ca11435c
Script._goto improvements and documentation.
2014-09-03 17:27:26 +02:00
Dave Halter
95852f5e7f
Clarify inner workings of Evaluator.goto
2014-09-03 14:58:24 +02:00
Dave Halter
bcc84820fe
Fix issues with unreachable flows.
...
This benefits static analysis as well as autocompletion: Unreachable code (things like code within 'if 0:') should still be resolveable.
2014-09-03 00:05:37 +02:00
Dave Halter
ea5b98905e
Make statement_elements_in_statement work with ListComprehensions, Lambdas and 'except foo as' expressions
2014-09-02 14:52:04 +02:00