47c4369d28
Fix remaining issues with sys path checks.
Dave Halter2014-09-25 18:27:35 +02:00
f4c99259b5
Fix an issue with sys.path. Also moved the names closure for isinstance checks away (used for sys.path stuff) and use a get_code check instead, which is more flexible.
Dave Halter2014-09-25 12:35:53 +02:00
c2d645b7c1
Fix one of the really hard issues: deep_ast_copy didn't copy the newly created _names_dict.
Dave Halter2014-09-25 12:15:15 +02:00
19b32a3657
And by changing small things about NamePart/InstanceElement usage, we're finally able to pass the class tests again.
Dave Halter2014-09-24 15:42:44 +02:00
0a65eea2cf
Start to change the logic for self.foo variables.
Dave Halter2014-09-24 14:33:15 +02:00
12e391c97a
Add a LazyDict to be able to use it within FunctionExecution for get_names_dict
Dave Halter2014-09-24 12:57:26 +02:00
d5fbc006e2
Add a names_dict to scopes. This is good for the future parser and now useful to process self.foo and other stuff.
Dave Halter2014-09-24 12:44:24 +02:00
c61f79314b
Introduce get_names_dict to statements to actually fetch the calls out of a statement.
Dave Halter2014-09-24 12:06:41 +02:00
7b0bb83d16
Change the behavior of eval_statement_element and follow_call_path. Arrays should only be looked at in the latter.
Dave Halter2014-09-18 23:44:11 +02:00
69e6139527
Goto on named params in class calls is now working.
Dave Halter2014-09-18 20:11:58 +02:00
ba80e35204
Test for an issue with named params in class calls (instead of functions).
Dave Halter2014-09-18 13:30:46 +02:00
9fa6a86a19
Tests for Definition.is_definition().
Dave Halter2014-09-17 18:17:22 +02:00
fb86388890
Fix RuntimeError: the PyQt5.QtCore and PyQt4.QtCore modules both wrap the QObject class
ColinDuquesnoy2014-09-13 12:18:34 +02:00
9983898162
Temporarily disable a test for goto on nested imports. The positions are currently wrong. But this is a known issue.
Dave Halter2014-09-11 02:27:53 +02:00
085c8034b3
Apply evaluate.representation wrappers already before they go out into the goto world.
Dave Halter2014-09-11 02:20:54 +02:00
1624fa0872
Replace BaseDefinition._name.get_definition() calls with BaseDefinition._definition.
Dave Halter2014-09-11 01:36:21 +02:00
283afa78f1
Remove code that is not needed anymore, because the Definition/Completion import is now standardized (to NamePart).
Dave Halter2014-09-11 01:15:00 +02:00
9f16555f47
Big refactoring: BaseDefinition._definnition changes to BaseDefinition._name, because it's a NamePart now.
Dave Halter2014-09-11 01:02:20 +02:00
58526e2302
Completion now also uses only NameParts as its _definition attribute.
Dave Halter2014-09-10 20:12:19 +02:00
8f892e3922
Use FakeName instead of a custom KeywordName.
Dave Halter2014-09-10 20:07:13 +02:00
1fb9b4bc6b
Completion now always takes a NamePart as input.
Dave Halter2014-09-10 18:59:08 +02:00
0eea30f227
NamePart migration of Definition is complete. Now Completion.
Dave Halter2014-09-10 18:29:10 +02:00
2aa538999e
Removed an old test from the days where it was allowed to add Keywords to Definitions.
Dave Halter2014-09-10 18:05:04 +02:00
46b49af5d9
Even params should be NameParts as a Definition input.
Dave Halter2014-09-10 17:41:06 +02:00
87aa76678a
Goto should work on named params, too.
Dave Halter2014-09-09 16:48:53 +02:00
110f130741
Make it possible to get previous statements of Calls.
Dave Halter2014-09-09 16:44:56 +02:00
b68a59daef
Fix the last remaining issues of the first part of the NamePart switch.
Dave Halter2014-09-09 15:58:20 +02:00
45e033c50e
Quite a few fixes to be eventually able to use NameParts as Definition inputs.
Dave Halter2014-09-09 15:21:27 +02:00
1199defabb
Start to use NameParts only in Definition contexts.
Dave Halter2014-09-09 14:13:01 +02:00
ff7680c15f
Generate the expression_list of a statement in any case.
Dave Halter2014-09-09 12:54:46 +02:00
740fd0657f
Add a goto_assignments test for named params
Dave Halter2014-09-09 00:06:24 +02:00
0dcb91d236
Add a Definition.is_definition function to be able to check if a name is a definition or not.
Dave Halter2014-09-08 23:44:35 +02:00
851717a968
Publicize jedi.names and add a first test.
Dave Halter2014-09-08 22:39:47 +02:00
be85391321
Create a 'jedi.names' function with the proper docstring.
Dave Halter2014-09-08 21:43:16 +02:00
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.
Dave Halter2014-09-06 13:23:00 +02:00
ece9fdf4ae
Fixing most of the issues that existed, because of the recent Name.get_definition/Call.name.parent change.
Dave Halter2014-09-06 13:02:52 +02:00
2e7e2f0a29
Name parents are now Calls (once their statements have generated the Calls).
Dave Halter2014-09-06 12:18:40 +02:00
5a3ee02399
Use ExprStmt pretty much everywhere where it should be used.
Dave Halter2014-09-06 11:04:49 +02:00
f57d9ef675
Rename Name.get_parent_stmt to Name.get_definition, because it's not always a statement. Also start using it in the NameFinder.
Dave Halter2014-09-06 10:43:26 +02:00
99116cdcb7
Add a Name.get_parent_stmt() function.
Dave Halter2014-09-05 22:26:55 +02:00
6c07c7acfe
Create an ExprStatement class to replace the Statement class in the future and separate array parts of actual statements
Dave Halter2014-09-05 22:21:26 +02:00
ba805879b4
Updated helpers.deep_ast_copy. Now the function copies statements in a better way.
Dave Halter2014-09-05 11:49:45 +02:00
42d6b57599
precedence._is_string -> precedence.is_string
Dave Halter2014-09-04 14:13:26 +02:00
7b2e11d71b
Rewrote sys_path._paths_from_assignment.
Dave Halter2014-09-04 14:12:10 +02:00
4180005893
Forgot to add the the params in the case of a class in the previous commit.
Dave Halter2014-09-04 12:53:34 +02:00
06699993f1
Class inheritance definitions shouldn't be params. It's just statements.
Dave Halter2014-09-04 12:28:50 +02:00
1df025c39d
Definitions should not be followed in Evaluator.goto.
Dave Halter2014-09-04 11:55:42 +02:00
e872d9e073
Script.goto_assignments now always needs a call_path. Otherwise it raises a NotFoundError.
Dave Halter2014-09-04 00:56:58 +02:00
fb10199f37
Remove search_name and search_name_part from goto returns.
Dave Halter2014-09-03 23:28:19 +02:00
f7a1c110ba
Fix remaining issues with CompiledName.name change.
Dave Halter2014-09-03 19:47:37 +02:00
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.
Dave Halter2014-09-03 19:43:21 +02:00
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.
Dave Halter2014-09-03 19:30:00 +02:00
59578966cf
Remove code that is not used anymore from Script._goto
Dave Halter2014-09-03 18:02:20 +02:00
e2ca11435c
Script._goto improvements and documentation.
Dave Halter2014-09-03 17:27:26 +02:00
95852f5e7f
Clarify inner workings of Evaluator.goto
Dave Halter2014-09-03 14:58:24 +02:00
ea5b98905e
Make statement_elements_in_statement work with ListComprehensions, Lambdas and 'except foo as' expressions
Dave Halter2014-09-02 14:52:04 +02:00
38c71fce3f
Added tests for statement_elements_in_statement
Dave Halter2014-09-02 12:10:16 +02:00
f785aa26dd
Additional helper methods, to find all the statement elements that are needed.
Dave Halter2014-09-02 03:26:17 +02:00