Dave Halter
a373e34229
The parser without error recovery raises an error now if he's not able to parse something.
2015-12-25 18:53:05 +01:00
Dave Halter
6bad5a924b
Making it possible for static analysis tests to be skipped if the python version doesn't match.
2015-12-22 17:37:28 +01:00
Dave Halter
515d096d33
The alternative test runner script shouldn't run on skipped tests.
2015-12-22 11:45:24 +01:00
Dave Halter
936cef97e9
Fix param position lookups. Also forward annotations have the correct resolution path now (starting at the end of the file).
2015-12-22 11:25:32 +01:00
Dave Halter
ac294244cf
Remove legacy code from FunctionExecution.
2015-12-22 07:37:09 +01:00
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
9a93d599da
Fix: __module__ doesn't need to be properly defined.
2015-12-20 02:35:23 +01:00
Dave Halter
b2a691a69a
PEP 484 support also means that we should evaluate comments in the future.
2015-12-19 11:10:05 +01:00
Dave Halter
a2905ae078
Implement get_parent_until for Comprehension.
2015-12-18 23:18:21 +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
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
ab91cfa3b5
Fix: print_stmt was not actually cared for in Python 2.7, #662 .
2015-12-15 13:08:37 +01:00
Dave Halter
7141158484
Merge master into linter.
2015-12-15 12:28:38 +01:00
Dave Halter
c85426ebac
More detailed testing for value-error-too-few-values.
2015-12-14 06:54:02 +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
a1410de9e8
Better description of the py__XXX__ attributes.
2015-12-10 16:53:08 +01:00
Dave Halter
1189868593
Use CheckAttribute descriptor more in CompiledObject to avoid duplicate code.
2015-12-10 16:43:42 +01:00
Dave Halter
5087584fdc
evaluator is now used only as an attribute in CompiledObject.
2015-12-10 16:40:56 +01:00
Dave Halter
9e8da17688
Remove py__class__ evaluator param from representation objects.
2015-12-10 16:39:27 +01:00
Dave Halter
afb1d6c3b8
Remove evaluator param from py__call__.
2015-12-10 16:20:46 +01:00
Dave Halter
506d5a4f31
Remove evaluator param from py__bases__.
2015-12-10 16:16:30 +01:00
Dave Halter
98b1845784
Remove evaluator param from py__mro__.
2015-12-10 16:12:43 +01:00
Dave Halter
b16fd84628
Remove py__getattribute__.
2015-12-10 16:07:15 +01:00
Dave Halter
9bac88100a
Get rid of get_exact_index_types.
2015-12-10 15:58:34 +01:00
Dave Halter
b10a048167
Get rid of Array.values() and Array.__iter__().
2015-12-10 15:56:45 +01:00
Dave Halter
3a975db0d7
Get completely rid of get_index_types.
2015-12-10 04:41:21 +01:00
Dave Halter
058779dd42
Get completely rid of iter_content.
2015-12-10 04:38:59 +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
86037222b4
Fix: stdlib issues with the latest CompiledObject changes.
2015-12-10 00:02:06 +01:00
Dave Halter
c9a5caa96e
Fix: dicts lookups were not working in all cases.
2015-12-08 22:37:30 +01:00
Dave Halter
bef5fca516
Refactor compiled.CompiledObject so it always owns an evaluator instance.
2015-12-08 02:19:33 +01:00
Dave Halter
18a10c436f
Simplify names_dict lookups for Arrays.
2015-12-06 03:16:21 +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
76345c0b58
Final fixes for pure usage of py__iter__.
2015-12-04 00:15:48 +01:00
Dave Halter
5f36019752
Added isinstance tests in static analysis.
2015-12-03 16:21:00 +01:00
Dave Halter
21faf2431a
Added isinstance type checks in the linter.
2015-12-03 16:14:26 +01:00
Dave Halter
8daa0b8784
Introduce an additional node parameter for py__iter__ which helps static analysis.
2015-12-03 11:52:54 +01:00
Dave Halter
f66b8138b7
Remove ordered_elements_of_iterable and get_iterator_types, because they are not used anymore.
2015-12-03 09:25:11 +01:00
Dave Halter
76bbc91ff9
Remove some stdlib stuff that only complicated things.
2015-12-02 13:46:13 +01:00
Dave Halter
d835ffc5a3
Get rid of ordered_elements_of_iterable and use py__iter__ instead.
2015-12-02 13:39:22 +01:00
Dave Halter
9a2256f557
Fix issues with py__iter__types.
2015-12-02 07:11:36 +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
53dbdf22a2
Fix: In the py__iter__ version, we didn't respect __next__ being an option.
2015-12-01 19:55:13 +01:00
Dave Halter
37c21726e7
Fix: py__iter__ in dynamic list/set usages with empy params.
2015-12-01 18:35:12 +01:00
Dave Halter
0a10947ff0
py__iter__ for MergedArray.
2015-11-28 20:14:14 +01:00
Dave Halter
777ec7588c
py__iter__ for ArrayInstance.
2015-11-28 19:35:14 +01:00
Dave Halter
55615fb3c1
unite returns a set now, this simplifies all the set(unite( calls.
2015-11-28 17:52:39 +01:00
Dave Halter
9259a432b7
Dicts should be iterated by its keys (__iter__).
2015-11-28 16:08:38 +01:00
Dave Halter
09f7930104
Start implementing py__iter__ for all classes.
2015-11-27 13:07:54 +01:00
Dave Halter
6f4ac70140
Issues with isinstance checks.
2015-11-27 12:22:02 +01:00
Dave Halter
bc41ba7ca9
get_code now has a normalized variable.
2015-11-26 07:11:56 +01:00
Dave Halter
a99368c421
Fix: elifs where not considered for isinstance type inference.
2015-11-25 22:14:23 +01:00
Dave Halter
9dbfb90c20
Fix: Nested flows user scope detection was wrong.
2015-11-25 21:36:17 +01:00
Dave Halter
17ab7bbc3d
prepare_goto -> type_inference.
2015-11-25 07:11:48 +01:00
Dave Halter
59e4f567a2
Create a failing test for an issue probably with the parser.
2015-11-25 06:58:34 +01:00
Dave Halter
8dee92bcc5
Fix: Tuple unpacking to x[0] would raise bugs.
2015-11-24 01:27:23 +01:00
Dave Halter
cf4c2cb198
Fix: Dicts shouldn't be accessible in tuple assignments for now.
2015-11-24 01:11:41 +01:00
Dave Halter
724f7111a8
Now expr_stmt tuple unpacking automatically works with static analysis.
2015-11-24 01:07:32 +01:00
Dave Halter
8ee42e24a8
Added a test that shouldn't throw an error when using it. However, because we omited statements to use the actual variables the bug is never seen.
2015-11-23 05:48:57 +01:00
Dave Halter
8d65129a19
Power operation was not implemented before.
2015-11-20 18:26:39 +01:00
Dave Halter
030131d705
Forget to make the set comprehension result a set().
2015-11-20 15:05:15 +01:00
Dave Halter
ffaf81bf1b
Fix: Set/Dict Comprehensions don't raise an error. They are just ignored for now.
2015-11-20 14:51:52 +01:00
Dave Halter
7cc54e08c7
Forgot to include static analysis comprehension tests a while ago.
2015-11-18 18:00:50 +01:00
Dave Halter
8174b312b5
Fix: CompFor.nodes_to_execute didn't include the right nodes. Sometimes too many, sometimes too few.
2015-11-18 18:00:15 +01:00
Dave Halter
595b803f1f
Fix an issue with strings that can be chained in the parser.
2015-11-17 11:38:51 +01:00
Dave Halter
03efbca586
Tried to get the recursion issues with if stmts working.
2015-11-16 11:44:25 +01:00
Dave Halter
4361ce0778
test/run.py should be runnable from everywhere.
2015-11-14 23:17:26 +01:00
Dave Halter
dc2e52fd7d
Create Comprehension.py__iter__.
2015-11-14 20:34:33 +01:00
Dave Halter
239f0d7213
Small generator correction that leads to more stability in its result.
2015-11-11 11:34:18 +01:00
Dave Halter
f1c827821b
Comprehension lookups are now more precise.
2015-11-10 22:31:50 +01:00
Dave Halter
306d274a3d
Merge dev into linter.
2015-11-10 21:52:18 +01:00
Dave Halter
292366d3a6
Fix an issue in the API that was created by creating set types.
2015-11-10 21:30:08 +01:00
Dave Halter
eececf0f74
It seems like join completion was wrong before when used within the interpreter.
2015-11-10 21:25:40 +01:00
Dave Halter
7c94cd674a
Fix an issue with the default type of memoize_default nt being a set.
2015-11-10 20:53:42 +01:00
Dave Halter
498e24df94
Fix an issue with combined reversed and yield without for loops.
2015-11-10 09:37:07 +01:00
Dave Halter
9f82cce3bb
Implement py__iter__ for Generators, which means that yield expressions are now orderable, if they are not too complicated.
2015-11-09 15:15:03 +01:00
Dave Halter
4549157d39
parser.Tree.ForStmt got more utility functions.
2015-11-08 22:29:49 +01:00
Dave Halter
99739aa640
per_index_values is now a method that all the iterable objects should support. however its name is confusing and it should soon be refactored.
2015-11-03 17:35:45 +01:00
Dave Halter
84c43bf2dc
Correct issues with slices and some more subtle bugs.
2015-11-01 21:30:41 +01:00
Dave Halter
dd6ade194a
+= assignments bug fix.
2015-11-01 13:21:41 +01:00
Dave Halter
ee51b0a62f
More issues from the list of types to set of types conversion.
2015-10-30 10:32:17 +01:00
Dave Halter
05798734bf
Fix an issue with the new set of types instead of lists.
...
This commit also includes some comments and improvements for debugging.
2015-10-29 20:53:14 +01:00
Dave Halter
c50fc7a044
Merge pull request #636 from immerrr/add-sys-path-customization
...
Improve virtualenv support & egg-link resolution
2015-10-26 22:07:18 +01:00
Dave Halter
3eaa3b954a
Merge pull request #641 from kelleyk/dev
...
Fix issues with the way lambdas are handled
2015-10-25 11:07:29 +01:00