Commit Graph
100 Commits
Author SHA1 Message Date
Dave Halter d7face17f6 Using expr_stmt now instead of simple_stmt as ExprStmt, because that resembles the official grammar better. 2014-10-17 12:03:41 +02:00
Dave Halter 19acdd32b7 Fixed issues with the Python3.4 grammar file.
The order of symbols matters. 'file_input' needs to be the first symbol.
2014-10-17 01:34:47 +02:00
Dave Halter ae8969a0d1 New kind of KeywordStatement 2014-10-17 01:26:34 +02:00
Dave Halter aefc5ec15f add the 3.4 grammar. 2014-10-16 14:47:14 +02:00
Dave Halter 01ce93cb5c Preparation for a parser refactoring. 2014-10-16 11:45:25 +02:00
Dave Halter 887949e23f Start making executions work. 2014-10-16 10:58:27 +02:00
Dave Halter 7b91050c85 introduce something that resembles argument clinic in stdlib. 2014-10-16 10:58:11 +02:00
Dave Halter 631aa0ea61 Processing atom and power nodes. 2014-10-15 13:40:56 +02:00
Dave Halter 485b8ae3da Move Node away from pytree into the parser representation. 2014-10-13 13:47:32 +02:00
Dave Halter 6458047bac Name in statement definition implementation. 2014-10-13 13:33:49 +02:00
Dave Halter 0def3afaaa A move function for Nodes. 2014-10-12 23:37:46 +02:00
Dave Halter 660124aca1 Get an example running: 'import json; json.dump'. 2014-10-12 22:37:23 +02:00
Dave Halter e2b7e74aef Import improvements. 2014-10-10 17:52:36 +02:00
Dave Halter a192f4f347 Add keywords, improve import support. 2014-10-10 17:48:40 +02:00
Dave Halter 54c91b1509 Get a first local test passing. 2014-10-10 12:07:08 +02:00
Dave Halter 3bf1fec568 Start implementing an algorithm for actually evaluating the parser tree. 2014-10-10 11:29:22 +02:00
Dave Halter 66840a742c Implement the new parser in jedi.parser.Parser 2014-10-10 00:06:28 +02:00
Dave Halter 05fd7f992e Don't use the fast parser at the moment. It's more important for now to even get a parser working. 2014-10-09 14:36:52 +02:00
Dave Halter aa75140f96 Remove old base class for Nodes. 2014-10-09 13:33:42 +02:00
Dave Halter 92ee2a912e Actually get the first few written tests passing. 2014-10-09 13:21:30 +02:00
Dave Halter 68d23840bb Start actual testing of the new parser. 2014-10-09 13:16:28 +02:00
Dave Halter daee273a08 Remove all the old get_code references. 2014-10-09 11:38:57 +02:00
Dave Halter 843efb43e9 statement refactoring. 2014-10-09 11:36:27 +02:00
Dave Halter a0092c2653 remove old statement parser code. 2014-10-09 11:20:49 +02:00
Dave Halter 140320143a Remove the old Leave class. 2014-10-09 11:02:03 +02:00
Dave Halter c7c222daab Implement WhiteSpace as well and merge with pytree. 2014-10-09 10:55:03 +02:00
Dave Halter 8236ce18a2 Refactor Literal. 2014-10-09 03:23:52 +02:00
Dave Halter eb384fc2d1 Name refactoring. 2014-10-09 03:21:18 +02:00
Dave Halter 432ec8f186 Operator refactoring. 2014-10-09 03:15:50 +02:00
Dave Halter 6bb88ddd85 Function is starting to work. 2014-10-08 17:58:02 +02:00
Dave Halter 585e92ac9f Temporarily disable evaluate/compiled stuff, because it interferes with the current changes of the parser. This will be undone. 2014-10-08 17:45:49 +02:00
Dave Halter 308c971ad7 Change pr.Simple. 2014-10-08 17:02:37 +02:00
Dave Halter d9aa84f971 simplify the use of 'context' 2014-10-08 16:33:35 +02:00
Dave Halter e54dac3777 Start setting up the parser.representation merge 2014-10-08 16:15:27 +02:00
Dave Halter 220ddc8a74 Probably the last big removals, there's not a lot left. 2014-10-08 15:35:45 +02:00
Dave Halter a23ad3df10 Remove more and more from pytree. 2014-10-08 15:30:15 +02:00
Dave Halter 2781a4ac98 Remove comparison methods. 2014-10-08 15:22:44 +02:00
Dave Halter 1fb6e15750 Fix prefixes of Leafs. 2014-10-08 15:19:36 +02:00
Dave Halter 36368cd606 More removals and cleanups. 2014-10-08 15:13:43 +02:00
Dave Halter 07d9111c77 Remove some more pytree methods. 2014-10-08 15:05:29 +02:00
Dave Halter a7fff54d7b Remove some fixer related stuff (lib2to3 stuff). 2014-10-08 15:04:01 +02:00
Dave Halter 834172a3e9 Add a new parser, check it pgen2 would work. (already modified outside this repository) 2014-10-08 14:26:52 +02:00
Dave Halter 09a7317bc9 Merge branch 'dev' of github.com:davidhalter/jedi into dev 2014-10-06 17:55:46 +02:00
Dave Halter e9a3a44780 Remove some other _star_import_cache stuff, and with this, #489 should be fixed. 2014-10-06 17:55:28 +02:00
Dave Halter 3638d5149d Change time_cache, to also host the star_import_cache. 2014-10-06 17:37:34 +02:00
Dave Halter bbdb4703ec change cache_call_signatures, so that it has a well defined input. 2014-10-06 16:07:33 +02:00
Dave Halter 87574e9d2e star_import_cache refactorings: Make it more readable. 2014-10-04 12:43:08 +02:00
Dave Halter a1b55a9df7 clear_caches -> clear_time_caches 2014-10-03 14:23:46 +02:00
Dave Halter 116e9e72fc is_definition/Import issue 2014-10-02 11:27:01 +02:00
Dave Halter 8ca48f03db Tests for imports and is_definition. 2014-10-02 11:14:03 +02:00
Dave Halter 90d159eadd Merge pull request #483 from ColinDuquesnoy/fix_runtime_error
Fix RuntimeError: the PyQt5.QtCore and PyQt4.QtCore modules both wrap the QObject class
2014-09-29 16:07:01 +04:30
Dave Halter 27444ed64d Remove Import.alias_name_part, it was simply an alias for another lookup. 2014-09-26 16:32:36 +02:00
Dave Halter 03e01631cc Remove NamePart from existance and rename it to Name. 2014-09-26 16:29:53 +02:00
Dave Halter 522c9eda90 Remove pr.Name completely. 2014-09-26 16:18:10 +02:00
Dave Halter 4d7db35340 Fix a few last tests, now Jedi's working again, tests are passing. 2014-09-26 16:02:03 +02:00
Dave Halter 6f29e802c2 Fix an issue with as_names. 2014-09-26 15:48:49 +02:00
Dave Halter 7fea6437d9 Fix issues with Definition.full_name 2014-09-26 13:07:21 +02:00
Dave Halter 4f4ac505a3 Fix isses with interpreter completions. 2014-09-26 13:07:08 +02:00
Dave Halter 3add6e4289 Fix various bugs. 2014-09-26 12:22:56 +02:00
Dave Halter ce3ec6b534 Finally remove ArrayMethod and use an InstanceElement instead (which it basically is). 2014-09-26 12:08:04 +02:00
Dave Halter 90842ce62d Fixed global variables. 2014-09-26 11:58:11 +02:00
Dave Halter 4eaee09d6e Fix named param issues. 2014-09-26 11:52:26 +02:00
Dave Halter 47c4369d28 Fix remaining issues with sys path checks. 2014-09-25 18:28:03 +02:00
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 c43afae24a Issues with imports. 2014-09-24 21:12:38 +02:00
Dave Halter ff61c1d81c Fix an extremely annoying bug that made pickling impossible. 2014-09-24 20:58:29 +02:00
Dave Halter 56243e10c6 The get_code generation of imports was buggy. 2014-09-24 17:48:11 +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 c61f79314b Introduce get_names_dict to statements to actually fetch the calls out of a statement.
This is going to be the new default method to do dynamic stuff as well as self.foo resolutions for instances.
2014-09-24 12:06:41 +02:00
Dave Halter 5efa467449 Few import issues. 2014-09-22 23:45:48 +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 04cf742973 Temporary parser implementation. Now we're pretty much done with pr.Name. 2014-09-22 17:05:23 +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 779618c08b First changes to eventually replace Name by NamePart. 2014-09-22 11:57:19 +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 e0f84ccb86 Tests for issues with default args in dynamic param contexts. 2014-09-19 16:56:26 +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 610b2fc832 tests for goto on imports. 2014-09-19 00:49:22 +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 ba80e35204 Test for an issue with named params in class calls (instead of functions). 2014-09-18 13:30:52 +02:00