Commit Graph
100 Commits
Author SHA1 Message Date
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
Dave Halter e947124d83 Small improvments to the += / for logic. 2015-10-15 03:24:21 +02:00
Dave Halter 4b85d342ea Trying to fix issues with for loops and += operators. 2015-10-15 03:00:50 +02:00
Dave Halter 62468fb402 reversed and for loops now produce strings in the correct order. 2015-10-14 16:50:26 +02:00
Dave Halter b27be47811 Make exact lookups possible in docstrings. 2015-10-14 12:10:48 +02:00
Dave Halter 844a011193 Replacing the types list with a types set. Some tests are failing, though. 2015-10-13 18:03:36 +02:00
Dave Halter bf3fa11f6f Name lookups shouldn't return duplicates. 2015-10-10 20:01:03 +02:00
Dave Halter f77712ddf1 Test to assure that imports are not loaded twice. 2015-10-10 19:49:40 +02:00
Dave Halter 99e819f91a Fix test failures. 2015-09-22 19:33:12 +02:00
Dave Halter 22da402a7a Replace the get_iterator_types function with a different interface, which enables Jedi to detect invalid for loop inputs that are not iterable. 2015-09-22 19:18:36 +02:00
Dave Halter 786217acad Prepare replacing get_iterator_types. 2015-09-22 17:34:46 +02:00
Dave Halter 88bcb8e476 Rename params -> arguments. 2015-09-22 12:57:04 +02:00
Dave Halter 3a306a4f25 Fix comprehensions type issues. 2015-09-22 02:13:20 +02:00
Dave Halter 4ffc24a919 Fix for loops. 2015-09-21 15:33:59 +02:00
Dave Halter 1eded84a64 Fixes for the fast parser in nodes_to_execute. 2015-09-21 15:30:43 +02:00
Dave Halter 059fc91577 Note for static anaylsis documentation in the parser tree. 2015-09-21 14:52:51 +02:00
Dave Halter 6477944934 Finally able to remove the get_executable_nodes function. 2015-09-21 14:50:51 +02:00
Dave Halter 4180b6590d Move static analysis documentation of the names for nodes_to_execute. 2015-09-21 14:49:36 +02:00
Dave Halter f455605399 Remove final bugs from the execute_nodes implementation. 2015-09-21 14:43:51 +02:00
Dave Halter 1e8dba9253 Fix classes in static analysis. 2015-09-21 14:35:41 +02:00
Dave Halter 19a5643a2e Few fixes to the nodes_to_execute logic. 2015-09-21 14:29:15 +02:00
Dave Halter fa82b9a9db Starting to replace the old API code for static analysis. 2015-09-21 14:21:29 +02:00
Dave Halter e47ca7b734 Removed an important line by accident earlier. 2015-09-21 14:02:42 +02:00
Dave Halter e09b0a2aab Finish the work on nodes_to_execute. 2015-09-18 01:45:44 +02:00
Dave Halter de836a6575 Start implementing nodes_to_execute in the parser. 2015-09-15 15:15:09 +02:00
Dave Halter fdcf19f8b1 Document parser nodes that require execution for good static analysis. 2015-09-15 14:09:12 +02:00
Dave Halter e7528198d3 Fix an issue with raise statements in the linter. 2015-09-13 23:45:53 +02:00
Dave Halter eecae7dd38 Automate KeywordStatement.type generation. 2015-09-13 23:22:47 +02:00
Dave Halter ef7ef08d50 restructure __main__.py 2015-09-13 11:51:18 +02:00
Dave Halter f2cc320a61 Tests and implementation for type(some class). (Which returns type) 2015-07-01 14:58:37 +02:00
Dave Halter 3ac8f02841 Type tests and implementation for functions. 2015-07-01 14:54:23 +02:00
Dave Halter d1218c97bf Tests for finding if branches that are correct. 2015-07-01 14:44:31 +02:00
Dave Halter e355ab201e Tests and implementation for type on lambda and function objects. 2015-07-01 14:40:57 +02:00
Dave Halter e222a30227 Implement the type builtin better and with a lot more tests. 2015-07-01 14:27:49 +02:00
Dave Halter 80492265cf Remove print statements and reenable the if statement scanning that allows names to get resolved in 'if 0:' clauses. Makes all tests work again. 2015-07-01 14:00:50 +02:00
Dave Halter d739828a4b call_of_name was modified. Fixed an issue that was created earlier. 2015-07-01 13:58:05 +02:00
Dave Halter d694ab83a3 Memoizing statements doesn't work anymore.
Statements now need to be evaluated at least if predefined_names_dict is set.
2015-06-29 13:32:39 +02:00
Dave Halter 6e44f334d8 Correct positioning for if statements. 2015-06-29 12:10:05 +02:00
Dave Halter db1ed70318 Recursions on if statements when using the advanced flow evaluation shouldn't be possible anymore. 2015-06-29 12:03:31 +02:00
Dave Halter a014d4fd38 Fix a bug in call_of_name.
It was possible to get a NAME(x) result when calling call_of_name on x, which shouldn't happen. It should just return x.
2015-06-29 11:27:10 +02:00
Dave Halter 5d9fff50af Static analysis tests for type errors with variables. 2015-06-23 18:04:36 +02:00
Dave Halter 64fcbbba79 First implementation of doing precise if statement filtering. 2015-06-22 22:16:38 +02:00
Dave Halter 6da4f1fffb Static analsyis test for complex flow tests (filtering). 2015-06-22 22:15:02 +02:00
Dave Halter a67408ad03 Move the unite function to common. 2015-06-18 14:16:16 +02:00
Dave Halter 9b69f3a20f Merge pull request #584 from blueyed/find_module_py33-valueerror-as-string
AttributeError with ValueError in _compatibility.py:find_module_py33
2015-05-10 03:25:54 +02:00
Dave Halter 0543586abd __getattr__ comment. 2015-05-06 19:56:00 +02:00
Dave Halter 2221f12de9 Make refactoring clause clearer. 2015-05-01 10:49:26 +02:00
Dave Halter df8a0d89ce Forgot to mention the import logic changes in the Changelog for 0.9.0. 2015-04-28 19:05:36 +02:00
Dave Halter 66557903ae \\\r\n is as possible as \\\n. 2015-04-28 18:53:14 +02:00
Dave Halter 712ae01ac0 Classes should always evaluate to true when asked for py__bool__() 2015-04-28 18:32:19 +02:00
Dave Halter 607f43290f The backwards tokenizer sometimes parsed not only string literals but also normal names. 2015-04-28 18:10:08 +02:00