Commit Graph
100 Commits
Author SHA1 Message Date
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 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 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
Dave Halter c2a287c25a Usages on syntax should not return anything. 2015-04-28 17:35:26 +02:00
Dave Halter 126f490f1e Modules have now the name __main__ if they contain dots. 2015-04-28 17:29:42 +02:00
Dave Halter bb02f99de3 Dynamically created trailers need a parent, otherwise it can lead to crashes. 2015-04-28 16:40:58 +02:00
Dave Halter b59fc04432 Remove crate.io badges. Thy are not working anymore, see crateio/crate.io#18 2015-04-28 12:38:53 +02:00
Dave Halter cbd3a8a59a Restructured loading of compiled __init__ files. 2015-04-28 02:30:32 +02:00
Dave Halter 836fcd6ea0 Small api.Script.goto cleanup. 2015-04-28 02:07:53 +02:00
Dave Halter b6f635b88b Python 2.7 io.StringIO always needs unicode input. 2015-04-28 02:05:38 +02:00
Dave Halter 657920baf5 Finally able to ditch the old namespace_packages implementation. 2015-04-28 02:03:17 +02:00
Dave Halter 0d406d27fd Different __init__ file searching. 2015-04-28 01:58:49 +02:00
Dave Halter b8bb258677 Get rid of get_importer and clean up imports in general. 2015-04-28 01:41:01 +02:00
Dave Halter ef4b424cda Replace pr with tree, #566. 2015-04-28 01:34:31 +02:00
Dave Halter 71547641ae The recursion detector doesn't need to separate params and normal statements anymore, because now they are two completely different things. 2015-04-28 01:26:48 +02:00
Dave Halter 265e6b2c35 Change parser and api to use tree instead of pr. 2015-04-27 23:38:48 +02:00
Dave Halter b6ebb2f8bf Fixed issues with last positions in the tokenizer, which was messed up a little bit a few commits ago. 2015-04-27 21:42:40 +02:00
Dave Halter 0a96083fde Fix ur'' literals. 2015-04-27 19:21:41 +02:00
Dave Halter 902482568e The tokenize endmarker should really be the maximum position possible. Caused matplotlib to fail. Fixes davidhalter/jedi-vim#377. 2015-04-27 19:01:45 +02:00
Dave Halter 47d468a9bc forgot to include test_evaluate/not_in_sys_path files. 2015-04-27 17:16:43 +02:00
Dave Halter 84b774d9e1 Small refactorings. 2015-04-27 17:07:38 +02:00
Dave Halter d7417391a7 Skip star import cache tests. 2015-04-27 14:15:39 +02:00
Dave Halter 0203461980 Disable the star import cache. 2015-04-26 00:02:47 +02:00
Dave Halter 06d134a7c1 Finished changing the import logic. The sys.path calculations within Jedi are clearer now. 2015-04-25 22:45:08 +02:00
Dave Halter d038fba9df er.wrap -> Evaluator.wrap 2015-04-23 13:51:42 +02:00
Dave Halter ed74dde45c forgot to check in invisible_pkg 2015-04-23 13:40:05 +02:00
Dave Halter d16da33b9b Small test fix. 2015-04-23 04:11:28 +02:00
Dave Halter fbb960423e Remove legacy importer code. 2015-04-23 03:42:29 +02:00
Dave Halter a7c4b5800b Namespace packages work again. This time the same way as Python does it. 2015-04-23 03:36:46 +02:00
Dave Halter 039579b391 Improved static analysis for imports. 2015-04-23 02:43:49 +02:00
Dave Halter f4f30841ec change the return of _Importer.follow_file_system 2015-04-23 02:39:44 +02:00
Dave Halter d04241b482 Goto should not include imports that cannot be followed. 2015-04-23 02:37:22 +02:00
Dave Halter 691e5a8969 Fix flask tests. 2015-04-22 03:58:44 +02:00
Dave Halter 29bd59a355 Following os.path should be possible again. 2015-04-22 03:35:18 +02:00
Dave Halter dd3edd15f9 Remove legacy code from imports. 2015-04-22 03:22:54 +02:00
Dave Halter 7af5c23874 Cache bug fixes. 2015-04-22 03:01:32 +02:00
Dave Halter 05554a1c89 Fix some issues with import path errors. 2015-04-21 18:45:12 +02:00
Dave Halter 13267adfc2 Move the level calculation into the Importer. 2015-04-21 17:57:06 +02:00
Dave Halter 9b9049e574 Some small import changes that fix a few of the broken test cases. 2015-04-21 17:31:43 +02:00
Dave Halter 18c4b5f7dc Add py__package__ to the ModuleWrapper, which makes relative imports easy to implement and fixed a lot of other things. 2015-04-21 16:12:24 +02:00
Dave Halter 5c65e9cdaa py__name__ now returns the value found in the modules cache. 2015-04-20 16:40:10 +02:00
Dave Halter 77a37be83a Add a py__path__ method to the ModuleWrapper, that behaves very similar to a package's __path__ attribute. 2015-04-20 16:21:00 +02:00
Dave Halter df9452f210 Trying to change the import logic completely. We now have a sys.modules like cache. 2015-04-20 14:47:33 +02:00
Dave Halter 8fca3f78a1 Add a py__name__ call to modules. This makes listing the qualified names of modules possible (in combination with the module_name_cache). Fixes #519. 2015-04-14 17:36:20 +02:00
Dave Halter 2f64a83e3c Rename test_api_classes -> test_classes. 2015-04-13 15:17:44 +02:00
Dave Halter fbe26ab64a Importlib might raise a ValueError. Fix #491. 2015-04-13 15:12:46 +02:00
Dave Halter bc765979ca Import priorities are wrong (__dict__ > files). Test for #536. 2015-04-13 15:04:49 +02:00
Dave Halter e2455eb670 Call signatures should work better for builtin classes (ducktyping). Fixes #515. 2015-04-10 13:45:23 +02:00
Dave Halter 74779f1a5d Test and preparations for better call signatures with builtins, see #515. 2015-04-10 03:05:38 +02:00