Commit Graph
100 Commits
Author SHA1 Message Date
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
Dave Halter e0753da6f1 Merge pull request #637 from immerrr/set-sudo-false
Couple build system improvements
2015-10-22 11:21:15 +02:00
Dave Halter 70160d97e7 Debugging with more colors, yay. 2015-10-18 14:19:03 +02:00
Dave Halter 255c8f013d Set the debug_indent default right. 2015-10-16 02:41:46 +02:00