Commit Graph
100 Commits
Author SHA1 Message Date
Dave Halter ee47be0140 Merge Parser and ParserWithRecovery. 2017-03-28 02:08:16 +02:00
Dave Halter 1d0796ac07 Remove a usage of the old module path. 2017-03-28 01:43:40 +02:00
Dave Halter 6a9c2f8795 Start using ContextualizedNode for py__iter__. 2017-03-28 01:34:07 +02:00
Dave Halter bb9ea54402 Remove ImplicitTuple. 2017-03-27 23:18:06 +02:00
Dave Halter 8a35a04439 Remove the module path from the parser tree.
Some static analysis tests are still failing.
2017-03-27 18:13:32 +02:00
Dave Halter b60ec024fa Remove start_parsing completely from the Parsers. 2017-03-26 12:52:37 +02:00
Dave Halter 63cafeaa87 Remove all usages of start_parsing=True in the fast parser. 2017-03-26 12:49:40 +02:00
Dave Halter 3d27d06781 Use the new parse method instead of a Parser. 2017-03-26 11:49:17 +02:00
Dave Halter 5c54650216 Code to source. 2017-03-26 01:50:19 +01:00
Dave Halter aff0cbd68c Remove the last usage of save/load_parser in jedi. 2017-03-26 01:48:45 +01:00
Dave Halter fb8ffde32e Fix an issue in the parse call. 2017-03-26 01:26:01 +01:00
Dave Halter 7874026ee5 A lot of work toward a better diff parser API. 2017-03-25 01:51:03 +01:00
Dave Halter ac0d0869c9 Start using the parse function for caching as well. 2017-03-24 01:52:55 +01:00
Dave Halter fb4cff8ef9 A small buildout script refactoring. 2017-03-23 14:22:27 -07:00
Dave Halter 5aa379945e Merge the FileNotFoundError cache. 2017-03-23 14:22:19 -07:00
Dave Halter 6fef385774 Clean the path in pickling. 2017-03-23 08:52:25 +01:00
Dave Halter 26cce4d078 Add the grammar as an argument to saving the parser.
This makes collisions of different grammars when loading from the cache impossible.
2017-03-22 18:32:49 +01:00
Dave Halter c41bee4253 Trying to ideas to reshape the diff parser APIs. 2017-03-22 09:38:06 +01:00
Dave Halter 2cb565561d Replace the diff parser imports with the modified path. 2017-03-21 22:10:01 +01:00
Dave Halter 3a2811fbe8 Move the diff parser. 2017-03-21 22:03:58 +01:00
Dave Halter 6f01264ed3 Restructure import's module loading. 2017-03-21 17:20:10 +01:00
Dave Halter ff90beca6b Remove some documentation that was not necessary. 2017-03-20 21:10:49 +01:00
Dave Halter d218acee6b Create a default implementation of leafs. 2017-03-20 19:34:48 +01:00
Dave Halter c6811675b6 Rename ast_mapping to node_map. 2017-03-20 08:55:18 +01:00
Dave Halter 2d7fd30111 Remove _remove_last_newline from the parser. 2017-03-20 08:49:30 +01:00
Dave Halter 9dedb9ff68 Don't start parsing in our own API. 2017-03-20 08:44:52 +01:00
Dave Halter 53b4e78a9b Make some stuff private in the pgen parser API. 2017-03-20 08:36:11 +01:00
Dave Halter 689af9fc4e Remove tokens initialization parameter from the parser api. 2017-03-20 08:34:07 +01:00
Dave Halter 42e8861798 Simplify the parse method. 2017-03-19 22:15:01 +01:00
Dave Halter b4af42ddb3 Some minor parser changes to get ready for bigger stuff. 2017-03-19 21:30:41 +01:00
Dave Halter 3163f4d821 Trying to start moving more stuff to the BaseParser. 2017-03-19 21:06:51 +01:00
Dave Halter dad40597c5 Start moving stuff to the parser. 2017-03-18 15:01:34 +01:00
Dave Halter 52d855118a Remove get_parsed_node from the parser as well. 2017-03-18 03:55:23 +01:00
Dave Halter 0f66a3c7a8 Remove the module attribute from the parser. 2017-03-18 03:53:34 +01:00
Dave Halter d0b6d41e99 Remove the old star import cache, because it's not even used. 2017-03-18 03:30:23 +01:00
Dave Halter aaf6c61e69 Make remove_last_newline private. 2017-03-18 03:07:01 +01:00
Dave Halter 519fa9cfb5 Remove complicated merging of used names from the parser.
It's a lot of complicated code and a lot can go wrong. It also didn't speed up anything. If anything it made things like 5% slower. I have tested this with:

./scripts/diff_parser_profile.py wx._core.py

wx._core.py is not part of Jedi.
2017-03-16 22:00:01 +01:00
Dave Halter ce41119051 Fix some stuff in a diff profile test script. 2017-03-16 21:45:51 +01:00
Dave Halter 8156a6b8a2 Remove used_names from the parser step. It's a separate iteration, now. 2017-03-16 21:28:42 +01:00
Dave Halter fd50146f92 Simple cleanup. 2017-03-16 20:20:58 +01:00
Dave Halter 96c67cee26 Simplify the leaf with newlines stuff. 2017-03-16 20:18:30 +01:00
Dave Halter 4573ab19f4 Separate the python syntax tree stuff from the non python stuff. 2017-03-16 19:54:08 +01:00
Dave Halter 448bfd0992 Move the python parser tree. 2017-03-16 17:20:32 +01:00
Dave Halter b136800cfc Don't use as in imports when not needed. 2017-03-16 08:45:12 +01:00
Dave Halter 06702d2a40 Move the python parser. 2017-03-16 08:40:19 +01:00
Dave Halter a83b43ccfd Merge branch 'dev' of github.com:davidhalter/jedi into dev 2017-03-15 19:12:51 +01:00
Dave Halter 93f14157a6 Cleanup the ParseError stuff. 2017-03-15 18:41:58 +01:00
Dave Halter 0effd348e8 Add a note about the grammar creation. 2017-03-15 18:18:06 +01:00
Dave Halter c332fba488 Fix a namespace packages related issue. 2017-03-15 08:59:24 +01:00
Dave Halter 375749c5c3 Small restructuring. 2017-03-15 08:56:49 +01:00
Dave Halter 55c9fd3227 Fix an issue in the fake parser 2017-03-15 08:44:49 +01:00
Dave Halter 68a7365a0a A few docstring improvements. 2017-03-14 21:03:03 +01:00
Dave Halter 9efb3f0af2 More direct parser usage removals. 2017-03-14 19:31:54 +01:00
Dave Halter 717bfeb574 Remove an occurance of the complicated parser creation. 2017-03-14 19:27:03 +01:00
Dave Halter 97fc3bc23c Refactored the parser calls. Now it's possible to use jedi.parser.python.parse to quickly parse something. 2017-03-14 00:38:58 +01:00
Dave Halter 9b5e6d16da Improved grammar loading API. 2017-03-13 20:33:29 +01:00
Dave Halter 595ffc24d4 Move some more stuff to a python directory in the parser. 2017-03-13 00:54:39 +01:00
Dave Halter 922c480e2e Moved the parser to a new file. 2017-03-12 21:33:41 +01:00
Dave Halter a635b6839a Remove unused code. 2017-03-12 21:28:32 +01:00
Dave Halter af9b0ba8d6 Merge branch 'master' into dev 2017-03-12 20:51:17 +01:00
Dave Halter a7b1e3fe70 Fixed another diff parser error. 2017-03-12 15:58:14 +01:00
Dave Halter 6e3b00802c Another endless while loop issue, add an assert. 2017-03-11 14:54:44 +01:00
Dave Halter 818fb4f60c Fix a bug that might have caused an endless while loop a while ago. Fixes #878. 2017-03-09 21:47:16 +01:00
Dave Halter ccef008376 Python 2 compatibility. 2017-03-09 21:06:20 +01:00
Dave Halter c7a74e6d1c Make the tokenizer a generator. 2017-03-09 18:53:09 +01:00
Dave Halter 989e4bac89 Speed up splitlines.
We use the python function again with the modifications we need.
I ran it with:

    python3 -m timeit  -n 10000 -s 'from jedi.common import splitlines; x = open("test_regression.py").read()'

The speed differences are quite remarkable, it's ~3 times faster:

    10000 loops, best of 3: 52.1 usec per loop

vs. the old:

    10000 loops, best of 3: 148 usec per loop

We might need to speedup splitlines with  as well. It's probably
also a factor 2-3 slower than it should be.
2017-03-09 08:58:57 +01:00
Dave Halter b814a91f29 Avoid endless loop with an assert in the diff parser. 2017-03-08 18:33:38 +01:00
Dave Halter 5c9769c5a3 Merge remote-tracking branch 'origin/master' into dev 2017-03-07 19:01:53 +01:00
Dave Halter ee98eab64c Merge branch 'dev' of github.com:davidhalter/jedi into dev 2017-03-07 19:01:42 +01:00
Dave Halter 05e05252fa Make python -m jedi.parser.tokenize possible for debugging purposes. 2017-03-07 18:31:12 +01:00
Dave Halter 8131f19751 Correct an issue in the tests with the last commit. 2017-02-04 18:11:54 +01:00
Dave Halter b6e61133d8 Move the tests for the last PR #848. 2017-02-04 18:11:14 +01:00
Dave Halter 1d64a5caa1 Replace first_leaf and last_leaf with get_first_leaf and get_last_leaf. 2017-02-03 17:35:53 +01:00
Dave Halter 90fffd883e Clean up the function docstring. 2017-02-03 17:30:58 +01:00
Dave Halter 647aec11a6 Return None instead of raising an IndexError in get_next_leaf. 2017-02-03 17:26:02 +01:00
Dave Halter c5071f9f49 Change get_previous_leaf to return None if there is no leaf anymore (at the start of the file). 2017-02-03 17:23:15 +01:00
Dave Halter 445bf6c419 Get rid of get_parent_until. 2017-02-03 09:59:32 +01:00
Dave Halter b3cb7b5490 Remove the def isinstance from the parser. It was a really bad pattern. 2017-02-03 09:37:59 +01:00
Dave Halter 6ccac94162 Add a deploy script. 2017-02-03 00:40:19 +01:00
Dave Halter f2b41b1752 Update already the version number so we don't forget it. 2017-02-03 00:38:08 +01:00
Dave Halter 7020086166 Changelog for 0.10.0 2017-02-03 00:08:51 +01:00
Dave Halter 8027aeebd8 Fix a small bug that was raised two commits ago (in the test suite). 2017-02-02 23:50:29 +01:00
Dave Halter f627d541b8 Trying to fix the docs. 2017-02-02 23:39:10 +01:00
Dave Halter a5a54fbc85 Fix a call signature issue. 2017-02-01 19:21:07 +01:00
Dave Halter 68a3a9cf41 Don't do anything with the diff parser if nothing changes. 2017-01-29 22:12:24 +01:00
Dave Halter e5af996829 Remove old debug code from the diff parser. 2017-01-29 21:57:09 +01:00
Dave Halter e0c8b3dd3b Fix an context issue in completions. 2017-01-29 19:09:35 +01:00
Dave Halter 3f1e658e1d Set the limit for debugging failed diff parsers a bit higher. 2017-01-29 14:34:20 +01:00
Dave Halter 40b6079ebd If an INDENT is the next supposed token, we should still be able to complete. 2017-01-29 14:06:22 +01:00
Dave Halter b0f340748c So much work for one simple diff fail. 2017-01-29 00:42:09 +01:00
Dave Halter b779677bf9 Merge branch 'dev' of github.com:davidhalter/jedi into dev 2017-01-25 23:21:45 +01:00
Dave Halter b18239f9dd Add a way to profile the diff parser. 2017-01-25 23:00:33 +01:00
Dave Halter 9982975ad2 Another small performance improvement. 2017-01-25 22:54:08 +01:00
Dave Halter 4918fb49f5 Implement binary search for get_leaf_for_position. This makes it a lot faster. 2017-01-25 22:27:36 +01:00
Dave Halter f2db0dceb4 A few small performances improvements on the diff parser. 2017-01-25 21:12:13 +01:00
Dave Halter dfced86730 Merge pull request #834 from Carreau/fix-keyword
Fix keywords detected as modules
2017-01-24 13:27:49 +01:00
Dave Halter 551c122cf8 Fix an issue in sith where there we have accessed a removed Jedi property. 2017-01-24 09:57:43 +01:00
Dave Halter f4b8a02d37 Add a few speed debugging times to the diff parser. 2017-01-24 09:51:23 +01:00
Dave Halter 09779c88aa Fix a nasty issue in the tokenizer. Fixes #836.
At the same time there was a related issue of not cleaning up newlines properly.
2017-01-24 00:50:37 +01:00
Dave Halter 741993a738 Merge branch 'dev' of github.com:davidhalter/jedi into dev 2017-01-23 20:37:34 +01:00