1
0
forked from VimPlug/jedi
Commit Graph

341 Commits

Author SHA1 Message Date
Dave Halter
c1ed3bf38a cleanup NameFinder.scopes, fully use scope_names_generator. 2014-07-03 11:48:26 +02:00
Dave Halter
ea370a083d more consequent usage of scope_names_generator 2014-07-03 11:41:33 +02:00
Dave Halter
a7e4d81692 also add scope_names_generator to the iterable module classes, as well as cleaning up some old scope_names_generator stuff 2014-07-02 18:58:31 +02:00
Dave Halter
13ada3154b replace get_defined_names with scope_names_generator in a lot of places (the cleanup still needs to be done, though). 2014-07-02 16:12:49 +02:00
Dave Halter
8d395a2ef1 scope_names_generator now works with modules perfectly well. 2014-07-02 12:41:16 +02:00
Dave Halter
3865c1a844 Fixed __file__ issues by always applying a ModuleWrapper in the global scope lookup. 2014-07-01 15:35:21 +02:00
Dave Halter
0b99473886 ExecutedParams should never be additionally faked, even if they are the first params. They have been legitimately created by a caller. 2014-06-30 15:22:53 +02:00
Dave Halter
1c9058ce6b Also issue warnings if setattr is used in a class instead of an error 2014-06-26 13:40:15 +02:00
Dave Halter
a936cea987 jedi issues now warnings instead of errors for AttributeErrors that happen in instances with __getattr__/__getattribute__ methods 2014-06-26 12:21:19 +02:00
Dave Halter
7e0edc4776 preparation for warnings in static analysis 2014-06-26 11:57:44 +02:00
Dave Halter
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.
2014-06-25 01:39:43 +02:00
Dave Halter
034a818863 repr improvements 2014-06-24 13:42:40 +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
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
d5758adb2b fix list comprehensions. they were not implemented in a good way 2014-06-12 11:10:10 +02:00
Dave Halter
63868feb5d hasattr checks working now, #408 2014-06-10 16:08:53 +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
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
248cca2e5e fix issues with empty *args as inputs 2014-05-31 11:03:37 +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
08b48807e9 a (temporary) solution for the __file__ access issues in imported modules, see #408 2014-05-19 01:01:56 +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
9bcc4f8fd2 static analysis is now able to tell the difference between NameError/AttributeError 2014-05-13 16:14:32 +02:00
Dave Halter
a2b483b4f5 None issue fix for static analysis 2014-05-13 01:21:32 +02:00
Dave Halter
b6ec589997 refactor general array lookup method get_index_types 2014-05-12 15:23:48 +02:00
Dave Halter
586ac9d013 removed a few debug things. 2014-05-10 20:31:33 +02:00
Dave Halter
11a445ab42 Merge branch 'dev' into linter 2014-05-10 16:53:41 +02:00
Dave Halter
60971245d6 star imports now have their own class, which will be important for AttributeError detection 2014-05-10 16:53:27 +02:00
Dave Halter
358472b21f improved star import support preparation 2014-05-10 14:12:36 +02:00
Dave Halter
7c965e544f dive further into following imports, etc 2014-05-08 11:26:08 +02:00
Dave Halter
5ed887c170 precautionary fix without test (sith.py didn't reproduce it), in execution detection. 2014-04-30 12:21:18 +02:00
Dave Halter
23b4a89d1d slices should be ignored in __getitem__ settings (for now) 2014-04-28 18:15:25 +02:00
Dave Halter
d106b2ce2b __getattr__ arbitrary returns fix 2014-04-27 23:15:32 +02:00
Dave Halter
77d505e251 eval_statement input shouldn't be a NamePart, but a string 2014-04-22 11:33:46 +02:00
Dave Halter
27f01ca1f6 use Param.stars to avoid certain syntax error params to cause an exception 2014-04-20 13:38:10 +02:00
Dave Halter
240b0c9581 NamePart doesn't have an __eq__ method anymore 2014-04-18 14:36:10 +02:00
Dave Halter
b81eb9f8b3 NameFinder.filter_name is simpler now. 2014-04-14 13:45:31 +02:00
Dave Halter
6a40c9b671 remove get_set_vars completely from existance 2014-04-14 12:40:59 +02:00
Dave Halter
4c53a64ca0 increase speed again for compiled objects by not using sorted + lambda on its list of defined names 2014-04-14 10:12:46 +02:00
Dave Halter
4bc55be103 significant speedup due to compiled caching 2014-04-13 16:31:38 +02:00
Dave Halter
6de46fe373 realizing that #241 is more of a feature than a bug, I disabled the corresponding test. This will be changed once the whole implementation of isinstance becomes more flexible and also allows checks on subclasses, so that no information is lost. 2014-04-09 16:27:42 +02:00
Dave Halter
b680246195 docstring working for local definitions as well 2014-03-27 12:34:53 +01:00
Dave Halter
394e2e77de refactored the development docs, which was badly needed especially since evaluate/dynamic.py doesn't contain a lot of functionality anymore. 2014-03-11 17:26:38 +01:00