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
Dave Halter
db1b73d423
lo and behold - reversed is implemented - the force is strong with this one. fixes #24
2014-03-11 11:04:00 +01:00
Dave Halter
52348e0d1b
delete unnecessary checks from filter
2014-03-10 16:12:17 +01:00
Dave Halter
62a14f7558
restructure NameFinder.filter_name a little bit
2014-03-10 15:57:01 +01:00
Dave Halter
cc667e76dc
start_pos is usually not needed to search in modules, but if we generalize that, things get a lot slower - tests still pass - but the slowness is probably due to some weird recursion catching that now happens and that Jedi runs into, e.g. check ./run.py std 27 --debug
2014-03-10 00:40:57 +01:00
Dave Halter
5f8f1e170b
moved global variables handling
2014-03-05 01:19:18 +01:00
Dave Halter
2322edff8f
keyword statement not includes globals
2014-03-05 00:44:19 +01:00
Dave Halter
65ce609a3c
protect token_list -> _token_list
2014-03-04 12:43:37 +01:00
Dave Halter
9257062910
remove NoErrorTokenizer dependency for all but the fast parsers
2014-02-24 10:31:15 +01:00
Dave Halter
8e847f4982
fix python 2.7 issues. the parser now only takes unicode inputs
2014-02-23 11:44:32 +01:00
Dave Halter
97ad1c6a29
moved get_names_for_scope to finder
2014-01-17 11:33:46 +01:00