1
0
forked from VimPlug/jedi
Commit Graph

576 Commits

Author SHA1 Message Date
Dave Halter 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. 2014-09-25 12:35:53 +02:00
Dave Halter c2d645b7c1 Fix one of the really hard issues: deep_ast_copy didn't copy the newly created _names_dict. 2014-09-25 12:15:15 +02:00
Dave Halter 16f244a1b2 Fix isinstance issues. 2014-09-25 00:36:53 +02:00
Dave Halter 59225ceaa3 usages issues. 2014-09-25 00:14:43 +02:00
Dave Halter 9ecf3774a0 Import issues again. 2014-09-24 21:59:08 +02:00
Dave Halter db31536d78 Fix issue with descriptors. 2014-09-24 16:52:44 +02:00
Dave Halter 19b32a3657 And by changing small things about NamePart/InstanceElement usage, we're finally able to pass the class tests again. 2014-09-24 15:42:44 +02:00
Dave Halter f300e63dae A couple of changes:
- parser.representation now uses ArrayStmt and ExprStatement to be able to differentiate easily with isinstance.
- NameParts are temporarily allowed again as InstanceElements.
2014-09-24 15:21:56 +02:00
Dave Halter 0a65eea2cf Start to change the logic for self.foo variables. 2014-09-24 14:33:15 +02:00
Dave Halter 12e391c97a Add a LazyDict to be able to use it within FunctionExecution for get_names_dict 2014-09-24 12:57:26 +02:00
Dave Halter d5fbc006e2 Add a names_dict to scopes. This is good for the future parser and now useful to process self.foo and other stuff. 2014-09-24 12:44:24 +02:00
Dave Halter 1d71b25109 Previously forgot to add the NameParts to used_names. (which had worked before that) 2014-09-22 23:24:29 +02:00
Dave Halter 6819deb404 Resolve some **kwargs issues. 2014-09-22 23:06:22 +02:00
Dave Halter dae1a48d70 Remove a lot of the old Name.names usages in favor of a direct NamePart usage. 2014-09-22 22:34:33 +02:00
Dave Halter 6bd7ef56f1 Now most tests pass and we're able to continue getting rid of parsing.representation.Name. 2014-09-22 15:41:27 +02:00
Dave Halter 8f3301f281 Passing Function tests now. 2014-09-22 14:06:38 +02:00
Dave Halter c4e45916c6 Modules also use a NamePart as a name, now. 2014-09-22 12:52:48 +02:00
Dave Halter b26f51ded2 Fix obvious UnboundLocalError. 2014-09-19 18:08:30 +02:00
Dave Halter 78bd775889 Only real modules should be added in get_modules_containing_name. 2014-09-19 18:05:57 +02:00
Dave Halter d4503c77a5 get_parent_until should always have the same signature.
Fix it for ArrayMethod.get_parent_until.
2014-09-19 16:17:05 +02:00
Dave Halter 99d35e57b6 Fix alias usages in goto_assignments. 2014-09-19 13:42:47 +02:00
Dave Halter ed56f73836 Care for nested imports in goto_assignments. 2014-09-19 12:14:29 +02:00
Dave Halter fc5f73861c Fix issues with the os module.
Using a try/finally assures that the recursion checkers work the right way.
2014-09-19 10:59:24 +02:00
Dave Halter b2342c76be Refactoring: Make Import.get_all_import_names return NameParts. 2014-09-19 01:40:09 +02:00
Dave Halter 83d2af5138 First imports are working with goto. 2014-09-19 01:21:17 +02:00
Dave Halter 7b0bb83d16 Change the behavior of eval_statement_element and follow_call_path. Arrays should only be looked at in the latter. 2014-09-18 23:44:11 +02:00
Dave Halter 69e6139527 Goto on named params in class calls is now working. 2014-09-18 20:11:58 +02:00
Dave Halter 085c8034b3 Apply evaluate.representation wrappers already before they go out into the goto world. 2014-09-11 02:20:54 +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 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 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 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 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 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 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 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 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