Commit Graph
100 Commits
Author SHA1 Message Date
Dave Halter c1181a0459 fix except: usage in analysis 2014-06-23 12:13:10 +02:00
Dave Halter 9348d4bb6c jedi should be able to detect exceptions even in except X: statements 2014-06-23 12:07:51 +02:00
Dave Halter e106e4ffc8 fixed for loop in exception issue combined with usage of an exception variable 2014-06-22 23:32:07 +02:00
Dave Halter 401914e91c exception elements are always instances 2014-06-22 16:25:42 +02:00
Dave Halter 3e0f719915 changed the way how the dynamic param function searches it's parent scope, to enable smooth list comprehension following 2014-06-22 13:48:30 +02:00
Dave Halter b7bf8d515c support for completions on return statements. 2014-06-22 12:05:22 +02:00
Dave Halter d752907290 temporary solution for completions in asserts 2014-06-22 11:27:28 +02:00
Dave Halter ddca14980e introduce an is_scope function to make it easier to work with scopes 2014-06-20 17:47:42 +02:00
Dave Halter 3ee3a04bcb fix list comprehension issues in nested parentheses. 2014-06-20 17:29:30 +02:00
Dave Halter 2fc404f99d fix issue with list comprehensions in function calls 2014-06-20 16:28:31 +02:00
Dave Halter 8c924afdb8 manifest was missing the fake paths, which makes the last release a bad one. This means basically that in the last (few?) release(s) the stdlib was not correctly supported. 2014-06-20 16:25:05 +02:00
Dave Halter ea271c8047 replace _sre fake module literals with undefined types. 2014-06-20 11:18:54 +02:00
Dave Halter be3ac0b1c0 fix issue with reordering var_args 2014-06-20 00:35:25 +02:00
Dave Halter 36fbb6cd3e reorder var_args if named arguments are in front of *args. 2014-06-19 12:18:24 +02:00
Dave Halter a373818965 fix function execution mutable list issue 2014-06-16 17:12:27 +02:00
Dave Halter eb1f299444 function repr should only include the decorated function if it actually is one. 2014-06-16 13:06:53 +02:00
Dave Halter 8aeac478a5 message improvement for param failure 2014-06-13 12:20:08 +02:00
Dave Halter acfa40afa7 *args without self but still an implicit self from a method decorator 2014-06-12 22:42:15 +02:00
Dave Halter 371ec888e9 further test for list comprehensions 2014-06-12 11:20:46 +02:00
Dave Halter d5758adb2b fix list comprehensions. they were not implemented in a good way 2014-06-12 11:10:10 +02:00
Dave Halter f8b79b3dd0 work in progress refactoring to make ListComprehension a sublass of ForFlow 2014-06-12 10:13:49 +02:00
Dave Halter 43e54b6173 list comprehensions should be able to serve as an input for dynamic params as well. 2014-06-11 21:54:18 +02:00
Dave Halter 63868feb5d hasattr checks working now, #408 2014-06-10 16:08:53 +02:00
Dave Halter bba120d906 hasattr test for static analysis, it's a common idiom. 2014-06-10 11:15:59 +02:00
Dave Halter c6aea92753 fix issues with tokens in expression list 2014-06-10 11:03:36 +02:00
Dave Halter e6331f8ac8 fix issues with the previous commits (broken tests) 2014-06-10 01:13:37 +02:00
Dave Halter 081fa79d9b fix issues with generator comprehensions used directly with a send() call or something similar 2014-06-10 00:56:51 +02:00
Dave Halter 9cffbef608 tests for generator to tuple assignment as well as generator comprehensions 2014-06-10 00:40:38 +02:00
Dave Halter af801ef9b4 make generator comprehensions work 2014-06-10 00:36:36 +02:00
Dave Halter cd5b8aebfd fix issues with equal names before and after listcomprehension 2014-06-09 20:28:24 +02:00
Dave Halter 0b926ca454 get rid of is_list_comp boolean in favor of a direct check of ListComprehensionFlow 2014-06-09 20:19:31 +02:00
Dave Halter dd8e4341db create a ListComprehensionFlow, to make the distinction between ForFlow and list comprehensions clearer 2014-06-09 20:09:53 +02:00
Dave Halter c48146093e test: list comprehension name resolve should not include its own definitions 2014-06-09 12:53:17 +02:00
Dave Halter 496671966b instance issue with param static analysis 2014-06-09 01:59:54 +02:00
Dave Halter 920eb3b06a fix a default argument issue 2014-06-08 14:19:22 +02:00
Dave Halter c8b7d79b54 erroneus star arguments warning 2014-06-07 13:10:19 +02:00
Dave Halter 62db176e5e cleanup 2014-06-07 12:36:16 +02:00
Dave Halter f061de0f74 Wrong var_args with a star star function. 2014-06-06 16:49:53 +02:00
Dave Halter cb430c4c36 add a merged array class to account for array additions 2014-06-06 02:51:48 +02:00
Dave Halter 8798f5b1d7 add comments to the *args/**kwargs merge code 2014-06-05 12:08:08 +02:00
Dave Halter cf7b5b6b2b disable two failing multiple value tests. These are things jedi is not able to detect at the moment. It's not a huge problem, but it would be very nice if we could detect these as well. But there would be a need of restructuring var_args unpacking. 2014-06-05 11:54:46 +02:00
Dave Halter 6f83eb65ce raise multiple key errors also if they are an input to kwargs 2014-06-05 10:35:44 +02:00
Dave Halter acb4959a6a temporary very unfinished solution for the *args/**kwargs combination problem, if they are used in common with dynamic params. This doesn't solve the issue entirely, but it's at least a start and will probably solve all autocompletion issues. However, static analysis needs a little bit more than that. 2014-06-04 17:18:09 +02:00
Dave Halter 945888a535 fix for kwargs params 2014-06-01 13:52:21 +02:00
Dave Halter 933e231d74 small update on multiple value named argument type error 2014-06-01 11:34:20 +02:00
Dave Halter b8525c7e1e get dicts partially working 2014-06-01 11:24:24 +02:00
Dave Halter 248cca2e5e fix issues with empty *args as inputs 2014-05-31 11:03:37 +02:00
Dave Halter f4a508ac53 handle *args arguments the right way. 2014-05-29 20:53:51 +02:00
Dave Halter b24178b275 multiple values refactoring in params 2014-05-29 16:59:56 +02:00
Dave Halter 1899f16a4a if there's a func listener, stop the execution of a function. This solves the issue of nested *args that were reported as having too many params in static analysis. 2014-05-29 12:15:07 +02:00
Dave Halter 4f66591227 nested functions with *args should only raise an error if there's well defined input. 2014-05-28 14:35:48 +02:00
Dave Halter a695166585 add a new static_analysis file to test star arguments separately 2014-05-28 11:08:44 +02:00
Dave Halter 11e867d2c1 fix calling_var_args with tuples 2014-05-28 11:00:24 +02:00
Dave Halter 23edfd27ad detect origin of a call in case of missing params. This is important, because the user doesn't care about decorators in between. 2014-05-28 02:30:35 +02:00
Dave Halter b7aaec50e3 add ExecutedParam instead of using copy.copy 2014-05-28 00:50:14 +02:00
Dave Halter 40c2d64bac use the internal api to get a param name instead of doing crazy stuff 2014-05-27 15:04:22 +02:00
Dave Halter f3e986a285 add multiple values for keyword type error detection 2014-05-26 18:40:02 +02:00
Dave Halter 720907531b small corrections in too few argument errors 2014-05-26 17:38:14 +02:00
Dave Halter 425f7a8b64 better error reporting for static analysis 2014-05-26 17:31:50 +02:00
Dave Halter 3a946ab549 fix for the newly created keyword/default tests 2014-05-26 12:37:47 +02:00
Dave Halter f71e2d5b8f keyword/default param tests 2014-05-26 11:21:16 +02:00
Dave Halter e46979c354 improved static analysis found mistakes in its own test suite 2014-05-26 10:51:19 +02:00
Dave Halter ad120f529d param.py doesn't seem to be needing some default value checks 2014-05-26 10:50:41 +02:00
Dave Halter a621662440 some param refactorings. 2014-05-23 19:54:27 +02:00
Dave Halter d9f17beea5 unexpected keyword arguments detection 2014-05-23 15:34:16 +02:00
Dave Halter acd836f30d new named arguments tests for static analysis 2014-05-23 15:18:55 +02:00
Dave Halter 9214e0b358 move a closure out of get_params 2014-05-22 10:58:38 +02:00
Dave Halter 9d4dc546ca first version of too few params detection 2014-05-21 13:01:12 +02:00
Dave Halter 4ecc150d85 first version of too many arguments detection 2014-05-21 12:30:51 +02:00
Dave Halter a252d825f2 remove an unimportant test case that showed strange unreproducible behavior on travis. 2014-05-20 16:47:23 +02:00
Dave Halter f57b53bbe2 check for 'if foo is not None' checks in the NameFinder. Solves the issues with the subprocess library. 2014-05-20 16:23:46 +02:00
Dave Halter 79556a7935 finder docstring and naming improvements 2014-05-20 15:17:07 +02:00
Dave Halter ad762f674e renaming of an unclear variable 2014-05-20 14:01:43 +02:00
Dave Halter dd50001ed1 update pickling version, because we have changed some things about the KeywordStatement a while ago 2014-05-19 13:49:52 +02:00
Dave Halter 77baabb93b % operation returned both left and right side, but only the left side is really important. 2014-05-19 13:26:12 +02:00
Dave Halter a717981679 more extensive __file__ tests, #408 2014-05-19 01:03:40 +02:00
Dave Halter 08b48807e9 a (temporary) solution for the __file__ access issues in imported modules, see #408 2014-05-19 01:01:56 +02:00
Dave Halter 709c53a679 empty reversed issue, fixes traceback of #408 2014-05-17 12:32:18 +02:00
Dave Halter 06bae0e835 fix test issue with python 2.7 2014-05-16 18:03:36 +02:00
Dave Halter ecf9043d97 Improved error messages for AttributeErrors, however not a final version #408 2014-05-16 18:02:33 +02:00
Dave Halter ca2cc65686 improved import positioning errors in static analysis 2014-05-16 17:20:45 +02:00
Dave Halter 9bf50e6022 better knowledge in the importer where the import names originate from 2014-05-16 17:05:43 +02:00
Dave Halter 87704ec16a custom message capability for analysis 2014-05-16 15:46:08 +02:00
Dave Halter 11b7f9f7f6 decorators should also be included in the static analysis 2014-05-16 15:33:21 +02:00
Dave Halter 0f7a17090c static analysis start positions are now tested 2014-05-16 15:03:59 +02:00
Dave Halter 552502a2e9 list comprehension static analysis test 2014-05-16 14:31:53 +02:00
Dave Halter 4e596060b9 test for is_nested failure 2014-05-16 13:00:13 +02:00
Dave Halter 8e27ed556e fix returns/flow command edge cases 2014-05-16 12:33:00 +02:00
Dave Halter d59e21f43c new way of gathering statements to evaluate for static analysis 2014-05-16 12:23:09 +02:00
Dave Halter 857a9b7621 don't raise attribute NameErrors in all for loop name definitions. 2014-05-15 12:39:00 +02:00
Dave Halter bcab821df9 linter output changes - #408 2014-05-15 00:45:50 +02:00
Dave Halter b54d46374c recursive file paths for the temporary linter api - #408 2014-05-15 00:39:42 +02:00
Dave Halter 5e2bb0ef9b Using python -m jedi force <path> you can use the linter for now. 2014-05-13 16:44:46 +02:00
Dave Halter 99340dd2a1 few NameError tests 2014-05-13 16:17:25 +02:00
Dave Halter 9bcc4f8fd2 static analysis is now able to tell the difference between NameError/AttributeError 2014-05-13 16:14:32 +02:00
Dave Halter 7632a7d120 sorting the statements for analysis. we need to be able to reproduce results. 2014-05-13 15:56:41 +02:00
Dave Halter 876942d2b8 Small adjustment in Interpreter completion to be compatible with static analysis 2014-05-13 01:39:33 +02:00
Dave Halter a2b483b4f5 None issue fix for static analysis 2014-05-13 01:21:32 +02:00
Dave Halter 00e43d4585 except can also catch multiple exceptions in one statement 2014-05-12 18:46:17 +02:00
Dave Halter 7096a570bf try/except test for static analysis (duck typing should not cause jedi to report mistakes) 2014-05-12 18:34:38 +02:00