Commit Graph

1891 Commits

Author SHA1 Message Date
Dave Halter
8201fdc5af Merge branch 'pep484' into linter 2015-12-20 23:19:10 +01:00
Dave Halter
c15551ccc1 Errortokens should also make the parser fail in the normal parser. 2015-12-20 23:11:52 +01:00
Dave Halter
5791860861 Actual forward reference annotations are working pretty smooth now. 2015-12-20 22:57:41 +01:00
Dave Halter
c4906e0e3f Rework the parser so we can use arbitrary start nodes of the syntax.
This also includes a rework for error recovery in the parser. This is now just possible for file_input parsing, which means for full files.
Includes also a refactoring of the tokenizer. No more do we have to add an additional newline, because it now works correctly (removes certain confusion.
2015-12-20 22:25:41 +01:00
Dave Halter
e73b1a683a Tests for python2 print statement. 2015-12-18 17:57:25 +01:00
Dave Halter
23f40d8998 Merge branch 'linter' of https://github.com/reinhrst/jedi into pep484
Conflicts:
	AUTHORS.txt
2015-12-17 23:46:20 +01:00
Claude
160b6fca51 show off some power :) 2015-12-17 15:29:49 +01:00
Claude
6bee214948 catch error in certain non-pep0484 annotations 2015-12-17 15:23:40 +01:00
Claude
8bf2fe77e2 add some more non-pep0484-junk to the test 2015-12-17 15:06:20 +01:00
Dave Halter
cc3c538d9d Merge branch 'buildout-unicode-decode-error' of https://github.com/mfussenegger/jedi into linter 2015-12-17 12:50:26 +01:00
Dave Halter
54b1b2be74 Fix: flow analysis crashed when using in combination with different modules. 2015-12-17 12:37:26 +01:00
Dave Halter
3d79d0994e Fix: is_class() on Instance was not implemented. 2015-12-15 16:44:28 +01:00
Dave Halter
7141158484 Merge master into linter. 2015-12-15 12:28:38 +01:00
Claude
1e6397b163 check 'assigned types'-support (comes out of the jedi-box), and add tests for that 2015-12-15 11:56:54 +01:00
Claude
35fda3823e test dynamic annotation and dynamic forward reference 2015-12-15 11:53:48 +01:00
Claude
1258875300 add test that jedi doesn't break in case of non-pep-0484 comments 2015-12-15 00:37:23 +01:00
Claude
626fa60d03 Revert "clean out the last_* fields of sys before importing it."
This reverts commit be399c81c3.
Will break python 2.6 (possibly 2.7) tests; this is expected behaviour.
See https://github.com/davidhalter/jedi/pull/661#discussion_r47543815
2015-12-14 22:37:20 +01:00
Claude
6ce076f413 more elaborate tests 2015-12-14 12:10:48 +01:00
Dave Halter
c85426ebac More detailed testing for value-error-too-few-values. 2015-12-14 06:54:02 +01:00
Claude
be399c81c3 clean out the last_* fields of sys before importing it.
The system gets confused if there were uncaught errors in previous
tests without this. Particularly, it crashes (at least 2.6) if any tests during
test_integrations were skipped.
2015-12-14 00:52:36 +01:00
Claude
7f8b878c8c if both docstring and annotations are present, use both for function parameters 2015-12-13 23:55:07 +01:00
Claude
f8debace0d forward reference pep-0484 2015-12-13 23:47:45 +01:00
Claude
c61f39cb2b add test for annotations to test_parser_tree 2015-12-13 23:45:37 +01:00
Claude
7e8112d607 pep0484 return type support 2015-12-13 23:07:13 +01:00
Mathias Fussenegger
e0947a04eb don't fail on UnicodeDecodeError in buildout script detection
This fixes #650
2015-12-13 21:50:09 +01:00
Claude
68cbabe819 pep0484 tests only on python >= 3.2 2015-12-13 21:43:34 +01:00
Claude
c02668a443 Build in version-dependency in integration tests
If a line is encountered with the comment  or , then the tests are skipped if the current python version is less than the requested one. All tests until the end of the file, or a new comment specifying a compatibe python version are skipped
2015-12-13 21:42:45 +01:00
Claude
5a8c46d509 seperate parser and testing code 2015-12-13 21:13:20 +01:00
ColinDuquesnoy
9a25d55953 Add regression test for issue #591
See #649
2015-12-13 20:08:48 +01:00
Claude
fadf4f4419 initial poc pep-0484 type hints 2015-12-13 18:05:57 +01:00
Dave Halter
7b8d4e86ac The evaluator recursion limitations are now reset in static analysis for each node, otherwise it's incredibly unprecise. 2015-12-13 17:18:19 +01:00
Dave Halter
106f6f7f5a too many values and too few values errors implemented for list comprehensions tuple unpacking. 2015-12-12 14:09:57 +01:00
Dave Halter
28585dcdba Better testing of classes. 2015-12-12 02:48:37 +01:00
Dave Halter
75ac2b9686 Enable better ways for analysis to analyze loop variables. 2015-12-11 20:25:49 +01:00
Dave Halter
8d3be10270 Fix issues in Python 2.7. 2015-12-10 17:20:21 +01:00
Dave Halter
98b1845784 Remove evaluator param from py__mro__. 2015-12-10 16:12:43 +01:00
Dave Halter
9bd6e6c340 Fix: iterators are working smoothly now. Finally tests are passing again. 2015-12-10 04:37:23 +01:00
Dave Halter
e23f453a11 Fix all remaining issues from the compiled refactoring except static analysis. 2015-12-10 01:48:08 +01:00
Dave Halter
1b634d77af Add ranged test execution for alternate test runner. 2015-12-06 03:03:11 +01:00
Dave Halter
ffeedb32de Fix remaining issues with FakeDict. 2015-12-05 22:33:41 +01:00
Dave Halter
2008775370 Fix an issue with dict lookups. 2015-12-05 20:40:41 +01:00
Dave Halter
3910d97b7e Fix: __getitem__ sometimes didnt evaluate all the types. 2015-12-05 12:36:05 +01:00
Dave Halter
d65684a40b Fix py__getitem__ on Array. 2015-12-05 02:48:20 +01:00
Dave Halter
db060c70c9 Start creating py__getitem__. 2015-12-04 12:08:29 +01:00
Dave Halter
5f36019752 Added isinstance tests in static analysis. 2015-12-03 16:21:00 +01:00
Dave Halter
41537a78e1 Fix: Array additions (append, insert) should not cause an additional py__iter__ entry if there's none. 2015-12-01 22:57:54 +01:00
Dave Halter
9259a432b7 Dicts should be iterated by its keys (__iter__). 2015-11-28 16:08:38 +01:00
Dave Halter
6f4ac70140 Issues with isinstance checks. 2015-11-27 12:22:02 +01:00
Dave Halter
a99368c421 Fix: elifs where not considered for isinstance type inference. 2015-11-25 22:14:23 +01:00
Dave Halter
59e4f567a2 Create a failing test for an issue probably with the parser. 2015-11-25 06:58:34 +01:00