Commit Graph
100 Commits
Author SHA1 Message Date
Dave Halter 76588aa040 Static analysis issues resolved (that were cause by the removal of using ExprStmt for every node). 2015-03-05 14:18:10 +01:00
Dave Halter e698e6aeeb Rework some of the analysis statement gathering. 2015-03-05 13:36:41 +01:00
Dave Halter b489019f5b Most integration tests (except 2) pass if we don't always make the use of an ExprStmt. 2015-03-05 01:55:25 +01:00
Dave Halter 5d54922c4b Docstring change, to make non ExprStmt statements possible. 2015-03-05 01:37:47 +01:00
Dave Halter ec7a609e44 Remove some unnecessary code in dynamic.py 2015-03-05 01:13:43 +01:00
Dave Halter f273e314b6 Preparing for an eventual replacement of using expr_stmt for all nodes. 2015-03-05 00:07:50 +01:00
Dave Halter aea38ca9aa Remove the classify function in the parser. This could make Jedi a tiny bit faster. 2015-03-04 17:15:33 +01:00
Dave Halter 9c2e73d460 Add syntax errors to the parser. 2015-03-04 17:12:51 +01:00
Dave Halter a3c2108ecf Fix and test CallSignature.bracket_start. 2015-03-04 12:15:43 +01:00
Dave Halter 1ce96f2581 More fixes for ExprStmt docstrings. 2015-03-03 18:08:24 +01:00
Dave Halter 40e61fc96d Fix ExprStmt docstring bugs. 2015-03-03 17:42:49 +01:00
Dave Halter ff0c7e27d3 Comment for two commits earlier. 2015-03-03 13:00:32 +01:00
Dave Halter 5cc5505185 Moved comprehension tests out of basic tests into its own file. 2015-03-03 12:58:52 +01:00
Dave Halter 96add84459 Fix a very complicated issue with comprehensions. 2015-03-03 12:56:48 +01:00
Dave Halter 1520ebf557 Fixed an issue with ArrayInstances that were using name lookups, which it doesn't have. 2015-03-03 02:39:02 +01:00
Dave Halter 5322c4a965 decorator dotted_names goto lookups. 2015-03-02 14:31:12 +01:00
Dave Halter 5a845e4dea Fix a decorator goto issue. 2015-03-02 13:23:26 +01:00
Dave Halter 6d3bb5c4b1 Fix generator comprehensions issue when used as an argument. 2015-03-02 03:06:58 +01:00
Dave Halter 2b1ddb19c9 Need py__bool__ on generators as well as any other object. 2015-02-27 12:36:03 +01:00
Dave Halter 23fe08363d Simplify cache_call_signatures. 2015-02-27 12:20:55 +01:00
Dave Halter ea8209d45e Call signatures should not fail when used on if(. 2015-02-27 12:17:44 +01:00
Dave Halter 53490991d7 Goto_definitions bug fix -> imports stuff. 2015-02-27 11:56:36 +01:00
Dave Halter 1bc9ac1c00 Goto bug fix. 2015-02-27 11:37:49 +01:00
Dave Halter 610068dde4 Fix merged array values. 2015-02-27 11:23:53 +01:00
Dave Halter a5728f8767 list comprehensions should be completeable. 2015-02-27 11:14:08 +01:00
Dave Halter f5dad437dd Get rid of the None default for memoize_default. It shouldn't have a default if not given. This also uncovered a bug in for/else loops, that wasn't teste before. 2015-02-27 01:42:14 +01:00
Dave Halter a998c36fa3 Fix an attribute error in static analysis code. 2015-02-26 14:40:33 +01:00
Dave Halter 9b4385fb24 Merge branch 'dev' of github.com:davidhalter/jedi into dev 2015-02-26 13:59:30 +01:00
Dave Halter b8a8c4d402 Fix an array lookup issue. list.pop calls work now pretty well and return the right type. 2015-02-26 13:57:54 +01:00
Dave Halter d318d3c855 Fix a potential issue in sys path searching. However not tested. This is something that raised an error with sith that was not reproducible. 2015-02-26 13:56:28 +01:00
Dave Halter d7b69ab92c Fix a small bug in the logic of finding self variables. 2015-02-25 13:54:13 +01:00
Dave Halter 30efdc5e4e Because we replaced and simplified strings in the last commits (including string ERRORTOKENs), we are now able to remove an error recovery in the backwards tokenizer. 2015-02-25 13:34:12 +01:00
Dave Halter 8c08a4e574 Call signatures again: function definitions and other things that cannot be a part of call signatures stop the process of scanning for them. Also strings get replaced and simplified. 2015-02-25 13:33:09 +01:00
Dave Halter 48392a7dac Fix some issues in call signatures. 2015-02-24 16:55:33 +01:00
Dave Halter b8386d29d5 Whitespace before brackets should still show call signatures. 2015-02-24 01:48:25 +01:00
Dave Halter 0ae74a7666 Replace a __bases__ call with an __mro__ call, because the latter is closer to how Python actually works. __bases__ is never used. 2015-02-23 19:07:23 +01:00
Dave Halter 4f2d4992da Fix an mro resolution issue. 2015-02-23 19:04:35 +01:00
Dave Halter a91e240c8b ALWAYS_BREAK_TOKEN -> ALWAYS_BREAK_TOKENS 2015-02-23 14:10:29 +01:00
Dave Halter aebeafccc4 Rewrite last newlines in the fast parser to get correct get_code outputs even with the fast parser. 2015-02-23 13:36:43 +01:00
Dave Halter 489ea8fc83 Replace set_parser with direct ParserNode instance calls. 2015-02-23 13:10:40 +01:00
Dave Halter 2fcb1b9b65 Fast parser fix. 2015-02-23 01:00:17 +01:00
Dave Halter 69412224eb Merge pull request #550 from IanLee1521/issue-525
Point docs at readthedocs.org rather than jedidjah.ch
2015-02-23 00:17:46 +01:00
Dave Halter 3a5b2d396e Failed statements should not lead to parser fails. 2015-02-22 20:29:22 +01:00
Dave Halter 3ec96b25cc Issue with backslashes again in the fast parser. 2015-02-21 18:07:21 +01:00
Dave Halter 3347718808 Merge pull request #549 from IanLee1521/readme-update
Readme update
2015-02-21 10:37:26 +01:00
Dave Halter 0b5a509e83 Small correction: mixed up a re.match and re.search. 2015-02-20 00:48:05 +01:00
Dave Halter ce96af5e04 Fix an issue with open parentheses and function definitions right after. The fast parser should behave like the normal one and just ignore the open brackets. 2015-02-19 11:02:11 +01:00
Dave Halter 9d048623dd Delete the old and unused MultiLevelStopIteration exception. 2015-02-19 01:43:43 +01:00
Dave Halter 0e73bf7d80 Account for code parts that were not parsed in the fast parser. 2015-02-19 01:42:13 +01:00
Dave Halter 39bf9f426b Handle backslash escaping. 2015-02-18 17:32:34 +01:00
Dave Halter 595da50ab8 The fast parser splitting now also checks for parentheses levels, because without that, sometimes we split in very strange positions, while ignoring others. 2015-02-18 13:49:03 +01:00
Dave Halter 38e26892f2 The fast parser doesn't work with open parentheses properly, document that. 2015-02-18 12:50:26 +01:00
Dave Halter cefd76e5d1 Testing open parentheses in the fast parser. 2015-02-17 17:26:00 +01:00
Dave Halter 506d602795 Fix multi line param issues in the fast parser. 2015-02-17 15:24:49 +01:00
Dave Halter 7663703989 Fix issues with multi line for loops in the fast parser. 2015-02-17 14:57:00 +01:00
Dave Halter 4d9608ea6f Check more precisely for flow keywords. 2015-02-16 16:04:48 +01:00
Dave Halter e1c28d2c3f variables starting with 'class' and 'def' should not slow down the parser, changed the check to 'class ' and 'def '. 2015-02-16 10:08:22 +01:00
Dave Halter 3680784234 Add another for in one line test for the fast parser. 2015-02-15 20:28:59 +01:00
Dave Halter db31e0e37d The fast parser works now faster in case of for flows with a simple_stmt after. 2015-02-14 18:57:04 +01:00
Dave Halter a3b32729a7 Test for an issue with for loops and a statement on the same line. (fast parser) 2015-02-14 16:27:04 +01:00
Dave Halter 4613a810a5 Some small refactorings to the names_dict/deep_ast_copy logic. 2015-02-12 13:24:08 +01:00
Dave Halter 774b3d5ce8 Python 2 compatibility. 2015-02-12 11:36:36 +01:00
Dave Halter a8d3a9ab42 Remove old deep_ast_copy code. 2015-02-12 11:24:17 +01:00
Dave Halter bcf6be0636 Radically rewrote deep_ast_copy. 2015-02-12 02:25:54 +01:00
Dave Halter a12f259a0f Actually remove check_first from deep_ast_copy. 2015-02-11 14:47:28 +01:00
Dave Halter 315c687048 Remove the need for the check_first param in deep_ast_copy. 2015-02-11 14:46:51 +01:00
Dave Halter bc722a70f2 Simplify deep_ast_copy. 2015-02-11 02:16:57 +01:00
Dave Halter 6e5ba3de87 Fix remaining issue siwh the Param refactoring. 2015-02-11 01:40:18 +01:00
Dave Halter cdbe26786a Trying to get ird of the weird param generation in the parser tree. 2015-02-10 15:49:26 +01:00
Dave Halter 8775d90173 Merge the master branch into the dev branch. 2015-02-09 14:41:41 +01:00
Dave Halter 07156b427c Fix some compatibilty issues in the test suite for Python 2.7. 2015-02-09 14:15:25 +01:00
Dave Halter 28d3ba6c04 Fix a test about regex goto, don't know how that one even worked in the first place. 2015-02-09 12:35:20 +01:00
Dave Halter a095f8d9e0 Replace some isinstance checks in the parser tree with .type checks. 2015-02-09 12:27:29 +01:00
Dave Halter a9a3387cb0 Refactor user scope search. 2015-02-05 21:52:57 +01:00
Dave Halter 8125d5f562 Remove asserts and calculate them dynamically. 2015-02-05 20:16:55 +01:00
Dave Halter 0a3797cf6e Small refactorings. 2015-02-05 19:47:26 +01:00
Dave Halter 2dd08594fc Simplify the indent calculation in the fast parser. 2015-02-05 14:37:24 +01:00
Dave Halter abe6c8934c Update the parser pickling protocol version. 2015-02-05 14:19:22 +01:00
Dave Halter d0f1fd5267 Rename Simple -> BaseNode. 2015-02-05 14:18:30 +01:00
Dave Halter 0c1bbf78e2 Rename SubModule to Module, because that's a more fitting description. There were reasons for the name before the new fast parser, but those don't exist anymore. 2015-02-05 14:16:43 +01:00
Dave Halter c689573b0b Removed the line_offset from tokenize, we have better ways to modify positions, now. 2015-02-05 14:00:58 +01:00
Dave Halter 59cf1bce5d Delete legacy code from the fast parser. 2015-02-05 13:47:35 +01:00
Dave Halter 4ace58e29e Make get_statement_for_position faster. 2015-02-05 13:35:43 +01:00
Dave Halter a77ecdbed6 Remove param from get_statement_for_position. 2015-02-05 12:28:55 +01:00
Dave Halter 2d9c644ab6 Fixed some minor mocking differences in Python 2 and 3. 2015-02-05 01:25:53 +01:00
Dave Halter 109fdc53e0 Fix the remaining fast parser issues. 2015-02-05 01:13:00 +01:00
Dave Halter b57ee880af Remove assertEqual from tokenize tests, we can do it with just assert, py.test converts all of that automatically. 2015-02-05 00:48:40 +01:00
Dave Halter fdfe17ada5 Import the token IDs directly, this way we minimize lookups. 2015-02-05 00:44:01 +01:00
Dave Halter c6b818c504 Changed a tokenize test to match the current intended behavior of the tokenizer. 2015-02-05 00:43:25 +01:00
Dave Halter 3a4235eb33 The interpreter is not using the fast parser anymore. 2015-02-05 00:28:54 +01:00
Dave Halter dce952aec6 Fix an issue with omited dedents in the parser. 2015-02-05 00:11:12 +01:00
Dave Halter e1c623d3f3 Python 2 compatibility. 2015-02-04 17:09:18 +01:00
Dave Halter e23e354fe8 Simplified the line splitting and with that a few other things in the fast parser. 2015-02-03 22:22:57 +01:00
Dave Halter 66dfa59286 Fix some endmarker prefix issues in the fast parser. 2015-02-03 22:09:55 +01:00
Dave Halter 6cdfecb541 Fix a number of issues in the fast parser around functions with only one statement (no suite) and wrong indentations). 2015-02-02 15:03:57 +01:00
Dave Halter f9fe6b47eb Fix error statement stacks positions. 2015-02-02 10:43:47 +01:00
Dave Halter a4bd412801 Fix an issue with the positions of InstanceNames that used the original position_modifier. 2015-02-02 02:29:39 +01:00
Dave Halter c58cdbbf9b Fix an issue that comes from a combination of property/__slots__/pickle 2015-02-02 00:45:17 +01:00
Dave Halter e913872192 Merged the tokenize is_identifier changes. 2015-02-01 20:32:01 +01:00
Dave Halter 9a0f1363e3 Start removing the print statements that were used for debugging. 2015-02-01 02:32:52 +01:00