1
0
forked from VimPlug/jedi
Commit Graph

115 Commits

Author SHA1 Message Date
Dave Halter
442a1a1d08 wrap some more values with er.wrap 2014-08-20 13:52:49 +02:00
Dave Halter
c9542cbc04 Start implementing an is_class function that will determine if an object is a class or not in the future. 2014-08-20 11:43:25 +02:00
Dave Halter
7f874620db Start documenting all the py__foo__ methods 2014-08-20 11:31:23 +02:00
Dave Halter
fd90dfc4f5 Use a LazyName for module attributes, they should only be generated if needed. 2014-08-15 15:20:40 +02:00
Dave Halter
89ab0ba137 Fix fast_parent_copy. The caching is now more solid than before (and doesn't produce weird side effects. This also solves an issue with Lambdas. However, by fixing all of this we have broken some other things. 2014-08-15 01:55:43 +02:00
Dave Halter
f743619fb8 Tests for conditions in descriptors. 2014-08-13 14:49:42 +02:00
Dave Halter
ec7b3bf433 refactor py_base to py__bases__, because that's the general naming schema 2014-08-13 14:34:37 +02:00
Dave Halter
cd433adf84 Speedup object lookup even further in classes. 2014-08-13 14:17:57 +02:00
Dave Halter
9702c4cdc6 Restructure the way we get self arguments (probably reduces executions of object). 2014-08-13 14:07:09 +02:00
Dave Halter
33e5a3280a Remove IsScope in favor of an is_scope function.
This function was partially implemented anway. Now we've also added a function called 'get_parent_scope', to make it easy to get a scope of a Call, Statement, whatever.
2014-08-12 01:19:19 +02:00
Dave Halter
242072976a use py__mro__ in a classes scope_names_generator 2014-08-11 23:53:45 +02:00
Dave Halter
f1711f8f9c possible direction of branch checks for name resolution. 2014-08-10 13:17:37 +02:00
Dave Halter
23c39eff9a fix lambda issues 2014-08-06 12:40:08 +02:00
Dave Halter
e3bb0ccc2e fix a keyword statement issue 2014-08-06 12:10:36 +02:00
Dave Halter
15ec0a77fe a first very simple implementation of reachable/unreachable return statements. 2014-08-05 17:02:16 +02:00
Dave Halter
f5e49e3218 flow analysis preparation 2014-08-05 12:06:58 +02:00
Dave Halter
c44168f7ad add a Flow.previous attribute to be able to access the if flow from an else clause. 2014-08-05 11:17:18 +02:00
Dave Halter
6e5d80a6b2 builtins shouldn't be unique if called by compiled.create 2014-08-01 15:51:59 +02:00
Dave Halter
d899f69686 simplify a lot of the current InstanceElement behavior, because we know now, that there's either a Statement or a Function inside (or maybe some other parser objects like an Array. 2014-07-31 13:41:10 +02:00
Dave Halter
0fbd5efefd wrap instance element creation so that it only contains functions and statements, not CompiledObject or Instance. 2014-07-31 13:16:11 +02:00
Dave Halter
870abe73d4 Calling an InstanceElement of an Instance of CompiledObject doesn't raise an error anymore. Yes, it's really that complicated. 2014-07-30 19:49:41 +02:00
Dave Halter
723d1e4631 Nicer usage of py_call within InstanceElement and Python 2.7 compatibility 2014-07-30 17:00:16 +02:00
Dave Halter
7cc35fe0b8 remove a very old function call in FunctionExecution that had no effect 2014-07-30 16:41:02 +02:00
Dave Halter
cf63d20988 get rid of the evaluate_generator param 2014-07-30 16:36:27 +02:00
Dave Halter
565cfce2fe Executable -> Executed 2014-07-30 16:00:38 +02:00
Dave Halter
7bd76022bf get rid of the whole is_callable stuff, because now we can just check for hasattr(obj, 'py__call__') 2014-07-30 15:50:47 +02:00
Dave Halter
373ff2c45a fix most issues related to the py__call__ stuff and generalize it. 2014-07-30 15:23:41 +02:00
Dave Halter
1e6a950aec further progress in changing to py__call__ 2014-07-30 14:40:56 +02:00
Dave Halter
ccd304bcb7 start switching to a more python similar approach of naming, start by naming execution stuff py__call__ 2014-07-30 14:06:32 +02:00
Dave Halter
196afaacbf always operate on class in super and not on an instance. that's the proper way. 2014-07-30 11:34:27 +02:00
Dave Halter
3c92d175da using super() in actual executed classes wasn't possible. fixes #421 2014-07-30 11:27:27 +02:00
Dave Halter
53671bca84 replace get_super_classes with py_bases 2014-07-30 10:54:39 +02:00
Dave Halter
22e5574a91 Remove some get_defined_names methods, that are not needed anymore. 2014-07-03 12:12:50 +02:00
Dave Halter
ea370a083d more consequent usage of scope_names_generator 2014-07-03 11:41:33 +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
8d63e6f6e7 somehow temporary solution to enable completion of __file__ 2014-07-01 15:10:32 +02:00
Dave Halter
0d3ea4dfb4 fix a ModuleWrapper with StarImports. Now all modules are wrapped. 2014-06-29 21:04:52 +02:00
Dave Halter
5b7c869323 types also add to completions, also for compiled objects. removed a few lines of code that complicated the process as well. 2014-06-28 12:09:43 +02:00
Dave Halter
aba4a16ae3 fix indexing issues for multiple index options 2014-06-27 11:23:46 +02:00
Dave Halter
4238538df4 Add __getattr__ checks with proper inheritance. 2014-06-26 12:56:01 +02:00
Dave Halter
6e82fa31e1 submodules need relative imports not absolute 2014-06-25 11:08:29 +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
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
e6331f8ac8 fix issues with the previous commits (broken tests) 2014-06-10 01:13:37 +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
08b48807e9 a (temporary) solution for the __file__ access issues in imported modules, see #408 2014-05-19 01:01:56 +02:00
Dave Halter
b6ec589997 refactor general array lookup method get_index_types 2014-05-12 15:23:48 +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