0b99473886
ExecutedParams should never be additionally faked, even if they are the first params. They have been legitimately created by a caller.
Dave Halter2014-06-30 15:22:53 +02:00
0d3ea4dfb4
fix a ModuleWrapper with StarImports. Now all modules are wrapped.
Dave Halter2014-06-29 20:53:30 +02:00
5b7c869323
types also add to completions, also for compiled objects. removed a few lines of code that complicated the process as well.
Dave Halter2014-06-28 12:09:43 +02:00
7d73e571bb
json.load[s] shouldn't return any results. fixed by overwriting the method
Dave Halter2014-06-27 11:56:40 +02:00
cf1fd691da
custom copy.copy and copy.deepcopy implementations to not confuse autocompletion (just return the first param)
Dave Halter2014-06-27 11:49:26 +02:00
1c9058ce6b
Also issue warnings if setattr is used in a class instead of an error
Dave Halter2014-06-26 13:40:15 +02:00
4238538df4
Add __getattr__ checks with proper inheritance.
Dave Halter2014-06-26 12:56:01 +02:00
a936cea987
jedi issues now warnings instead of errors for AttributeErrors that happen in instances with __getattr__/__getattribute__ methods
Dave Halter2014-06-26 12:21:19 +02:00
7e0edc4776
preparation for warnings in static analysis
Dave Halter2014-06-26 11:57:44 +02:00
bdcbac160b
fix string/array (sequence) multiplications with integer.
Dave Halter2014-06-26 00:49:56 +02:00
47205dd7f3
change the implementation of compiled.load_module and always use the sys.modules cache after an import, because it's easier. Doesn't require any logic.
Dave Halter2014-06-25 18:46:51 +02:00
e5efd6e5c8
add a setting auto_import_modules to fix autocompletion for modules that use setattr and companions a lot. fixes#151Dave Halter2014-06-25 17:14:31 +02:00
01869e4100
make a translation from file system paths to dotted paths possible
Dave Halter2014-06-25 16:33:25 +02:00
6e82fa31e1
submodules need relative imports not absolute
Dave Halter2014-06-25 11:08:29 +02:00
44238a9f92
submodules are automatically indexed without actually importing them. fixes#413. However, this is not a 100% correct Python behavior. Python behavior would be to follow ALL imports in all modules (recursively) and check if the module was imported. However, that's a lot of work, that would slow down autocompletion. For now it's better to have no false positives in flaking and to ignore a few attribute errors.
Dave Halter2014-06-25 01:30:59 +02:00
9348d4bb6c
jedi should be able to detect exceptions even in except X: statements
Dave Halter2014-06-23 12:07:51 +02:00
e106e4ffc8
fixed for loop in exception issue combined with usage of an exception variable
Dave Halter2014-06-22 23:32:07 +02:00
401914e91c
exception elements are always instances
Dave Halter2014-06-22 16:25:42 +02:00
3e0f719915
changed the way how the dynamic param function searches it's parent scope, to enable smooth list comprehension following
Dave Halter2014-06-22 13:48:30 +02:00
b7bf8d515c
support for completions on return statements.
Dave Halter2014-06-22 12:05:22 +02:00
d752907290
temporary solution for completions in asserts
Dave Halter2014-06-22 11:27:28 +02:00
ddca14980e
introduce an is_scope function to make it easier to work with scopes
Dave Halter2014-06-20 17:47:42 +02:00
3ee3a04bcb
fix list comprehension issues in nested parentheses.
Dave Halter2014-06-20 17:29:30 +02:00
2fc404f99d
fix issue with list comprehensions in function calls
Dave Halter2014-06-20 16:28:31 +02:00
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.
Dave Halter2014-06-20 16:25:05 +02:00
ea271c8047
replace _sre fake module literals with undefined types.
Dave Halter2014-06-20 11:18:54 +02:00
cd5b8aebfd
fix issues with equal names before and after listcomprehension
Dave Halter2014-06-09 20:28:24 +02:00
0b926ca454
get rid of is_list_comp boolean in favor of a direct check of ListComprehensionFlow
Dave Halter2014-06-09 20:19:31 +02:00
dd8e4341db
create a ListComprehensionFlow, to make the distinction between ForFlow and list comprehensions clearer
Dave Halter2014-06-09 20:09:53 +02:00
c48146093e
test: list comprehension name resolve should not include its own definitions
Dave Halter2014-06-09 12:53:17 +02:00
496671966b
instance issue with param static analysis
Dave Halter2014-06-09 01:59:54 +02:00
f061de0f74
Wrong var_args with a star star function.
Dave Halter2014-06-06 16:49:53 +02:00
cb430c4c36
add a merged array class to account for array additions
Dave Halter2014-06-06 02:51:48 +02:00
8798f5b1d7
add comments to the *args/**kwargs merge code
Dave Halter2014-06-05 12:08:08 +02:00
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.
Dave Halter2014-06-05 11:54:46 +02:00
6f83eb65ce
raise multiple key errors also if they are an input to kwargs
Dave Halter2014-06-05 10:35:44 +02:00
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.
Dave Halter2014-06-04 17:18:09 +02:00
248cca2e5e
fix issues with empty *args as inputs
Dave Halter2014-05-31 11:03:37 +02:00
f4a508ac53
handle *args arguments the right way.
Dave Halter2014-05-29 20:53:32 +02:00
b24178b275
multiple values refactoring in params
Dave Halter2014-05-29 16:59:56 +02:00
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.
Dave Halter2014-05-29 12:15:07 +02:00
4f66591227
nested functions with *args should only raise an error if there's well defined input.
Dave Halter2014-05-28 14:35:48 +02:00
a695166585
add a new static_analysis file to test star arguments separately
Dave Halter2014-05-28 11:08:44 +02:00
23edfd27ad
detect origin of a call in case of missing params. This is important, because the user doesn't care about decorators in between.
Dave Halter2014-05-28 02:29:56 +02:00
b7aaec50e3
add ExecutedParam instead of using copy.copy
Dave Halter2014-05-28 00:50:14 +02:00
40c2d64bac
use the internal api to get a param name instead of doing crazy stuff
Dave Halter2014-05-27 15:04:22 +02:00
f3e986a285
add multiple values for keyword type error detection
Dave Halter2014-05-26 18:40:02 +02:00
720907531b
small corrections in too few argument errors
Dave Halter2014-05-26 17:38:14 +02:00
425f7a8b64
better error reporting for static analysis
Dave Halter2014-05-26 17:31:50 +02:00
3a946ab549
fix for the newly created keyword/default tests
Dave Halter2014-05-26 12:37:47 +02:00