a5728f8767
list comprehensions should be completeable.
Dave Halter2015-02-27 11:14:08 +01:00
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.
Dave Halter2015-02-27 01:42:14 +01:00
a998c36fa3
Fix an attribute error in static analysis code.
Dave Halter2015-02-26 14:40:33 +01:00
9b4385fb24
Merge branch 'dev' of github.com:davidhalter/jedi into dev
Dave Halter2015-02-26 13:59:30 +01:00
b8a8c4d402
Fix an array lookup issue. list.pop calls work now pretty well and return the right type.
Dave Halter2015-02-26 13:57:54 +01:00
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.
Dave Halter2015-02-26 13:56:28 +01:00
d7b69ab92c
Fix a small bug in the logic of finding self variables.
Dave Halter2015-02-25 13:54:13 +01:00
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.
Dave Halter2015-02-25 13:34:12 +01:00
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.
Dave Halter2015-02-25 13:33:09 +01:00
48392a7dac
Fix some issues in call signatures.
Dave Halter2015-02-24 16:55:33 +01:00
b8386d29d5
Whitespace before brackets should still show call signatures.
Dave Halter2015-02-24 01:48:25 +01:00
0ae74a7666
Replace a __bases__ call with an __mro__ call, because the latter is closer to how Python actually works. __bases__ is never used.
Dave Halter2015-02-23 19:07:23 +01:00
49150d760eFixed#525 - Point to readthedocs.org rather than jedidjah.ch
Ian Lee2015-02-22 14:27:38 -08:00
3a5b2d396e
Failed statements should not lead to parser fails.
Dave Halter2015-02-22 20:29:22 +01:00
3ec96b25cc
Issue with backslashes again in the fast parser.
Dave Halter2015-02-21 18:07:21 +01:00
3347718808
Merge pull request #549 from IanLee1521/readme-update
Dave Halter2015-02-21 10:37:26 +01:00
5625e1cb62
Add self to authors list
Ian Lee2015-02-20 17:17:34 -08:00
2b193cb1f0
Update list of supported cPython versions in readme
Ian Lee2015-02-20 17:13:20 -08:00
0b5a509e83
Small correction: mixed up a re.match and re.search.
Dave Halter2015-02-20 00:48:05 +01:00
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.
Dave Halter2015-02-19 11:02:11 +01:00
9d048623dd
Delete the old and unused MultiLevelStopIteration exception.
Dave Halter2015-02-19 01:43:43 +01:00
0e73bf7d80
Account for code parts that were not parsed in the fast parser.
Dave Halter2015-02-19 01:42:13 +01:00
595da50ab8
The fast parser splitting now also checks for parentheses levels, because without that, sometimes we split in very strange positions, while ignoring others.
Dave Halter2015-02-18 13:48:08 +01:00
38e26892f2
The fast parser doesn't work with open parentheses properly, document that.
Dave Halter2015-02-18 12:50:26 +01:00
cefd76e5d1
Testing open parentheses in the fast parser.
Dave Halter2015-02-17 17:23:48 +01:00
506d602795
Fix multi line param issues in the fast parser.
Dave Halter2015-02-17 15:24:49 +01:00
7663703989
Fix issues with multi line for loops in the fast parser.
Dave Halter2015-02-17 14:57:00 +01:00
4d9608ea6f
Check more precisely for flow keywords.
Dave Halter2015-02-16 16:04:48 +01:00
e1c28d2c3f
variables starting with 'class' and 'def' should not slow down the parser, changed the check to 'class ' and 'def '.
Dave Halter2015-02-16 10:07:41 +01:00
3680784234
Add another for in one line test for the fast parser.
Dave Halter2015-02-15 20:28:59 +01:00
db31e0e37d
The fast parser works now faster in case of for flows with a simple_stmt after.
Dave Halter2015-02-14 18:57:04 +01:00
a3b32729a7
Test for an issue with for loops and a statement on the same line. (fast parser)
Dave Halter2015-02-14 16:27:04 +01:00
4613a810a5
Some small refactorings to the names_dict/deep_ast_copy logic.
Dave Halter2015-02-12 13:24:08 +01:00
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.
Dave Halter2015-02-05 14:16:43 +01:00
c689573b0b
Removed the line_offset from tokenize, we have better ways to modify positions, now.
Dave Halter2015-02-05 14:00:58 +01:00
59cf1bce5d
Delete legacy code from the fast parser.
Dave Halter2015-02-05 13:47:35 +01:00
4ace58e29e
Make get_statement_for_position faster.
Dave Halter2015-02-05 13:35:43 +01:00
a77ecdbed6
Remove param from get_statement_for_position.
Dave Halter2015-02-05 12:28:55 +01:00
2d9c644ab6
Fixed some minor mocking differences in Python 2 and 3.
Dave Halter2015-02-05 01:25:53 +01:00
109fdc53e0
Fix the remaining fast parser issues.
Dave Halter2015-02-05 01:13:00 +01:00
b57ee880af
Remove assertEqual from tokenize tests, we can do it with just assert, py.test converts all of that automatically.
Dave Halter2015-02-05 00:48:40 +01:00
fdfe17ada5
Import the token IDs directly, this way we minimize lookups.
Dave Halter2015-02-05 00:44:01 +01:00
c6b818c504
Changed a tokenize test to match the current intended behavior of the tokenizer.
Dave Halter2015-02-05 00:43:25 +01:00
3a4235eb33
The interpreter is not using the fast parser anymore.
Dave Halter2015-02-05 00:27:37 +01:00
dce952aec6
Fix an issue with omited dedents in the parser.
Dave Halter2015-02-05 00:09:16 +01:00
e23e354fe8
Simplified the line splitting and with that a few other things in the fast parser.
Dave Halter2015-02-03 22:22:57 +01:00
66dfa59286
Fix some endmarker prefix issues in the fast parser.
Dave Halter2015-02-03 22:09:55 +01:00
6cdfecb541
Fix a number of issues in the fast parser around functions with only one statement (no suite) and wrong indentations).
Dave Halter2015-02-02 15:03:57 +01:00
f9fe6b47eb
Fix error statement stacks positions.
Dave Halter2015-02-02 10:43:47 +01:00
a4bd412801
Fix an issue with the positions of InstanceNames that used the original position_modifier.
Dave Halter2015-02-02 02:29:39 +01:00
c58cdbbf9b
Fix an issue that comes from a combination of property/__slots__/pickle
Dave Halter2015-02-02 00:45:17 +01:00
e913872192
Merged the tokenize is_identifier changes.
Dave Halter2015-02-01 20:32:01 +01:00
9a0f1363e3
Start removing the print statements that were used for debugging.
Dave Halter2015-02-01 02:32:52 +01:00
bc118e8047
Simplify the fast parser tokenizer more. Now it is more readable and less buggy (+bugfixes).
Dave Halter2015-01-31 20:09:44 +01:00
1826f432c8
Fix an issue in the fast parser splitting.
Dave Halter2015-01-30 15:17:38 +01:00
413da3b790
Remove the line_offset calculation. We can now also remove it from tokenize. With the position_modifier we have enough tools to change a position, we don't need to do that in tokenize.py.
Dave Halter2015-01-29 17:57:01 +01:00
a3cdec819e
Fix the prefix in tokenize, which was the wrong way around.
Dave Halter2015-01-29 17:10:00 +01:00
cf1b2ff54b
Function tests now pass with the fast parser.
Dave Halter2015-01-29 15:47:38 +01:00
a221eee02c
Fix more issues in the fast parser.
Dave Halter2015-01-29 15:38:38 +01:00
0a537c05c4
Fix an issue with Function/Flow combination in the fast parser.
Dave Halter2015-01-29 02:24:11 +01:00
dde0e9c7c6
Fix for loop issues in the fast parser.
Dave Halter2015-01-29 01:36:16 +01:00
e412694fa2
Fix issues with flows in the fast parser.
Dave Halter2015-01-28 17:06:18 +01:00
b8c63f366c
FastModule seems to be compatible now with the normal Module, because it inherits from it and makes some minor modifications in some cases.
Dave Halter2015-01-28 15:11:21 +01:00
c7563470b1
We don't need set_global_names, just set the attribute directly.
Dave Halter2015-01-28 15:00:17 +01:00
d0589430bb
FastModule should inherit from SubModule, because it has almost all the same properties.
Dave Halter2015-01-28 14:59:00 +01:00