Commit Graph
100 Commits
Author SHA1 Message Date
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
Dave Halter 1e623509cd Fix README glitches. 2015-04-10 02:40:16 +02:00
Dave Halter 47bf1c5daf Issue with numbers after names in call signatures. It would cause Jedi to stop analysing call signatures. Fixes #510 2015-04-10 02:17:12 +02:00