1
0
forked from VimPlug/jedi

Improvements towards arrays / predefined names logic.

This commit is contained in:
Dave Halter
2016-11-25 23:31:45 +01:00
parent 8fd08c86b7
commit bad1f85f8f
14 changed files with 158 additions and 167 deletions

View File

@@ -17,6 +17,9 @@ class AbstractInstanceContext(Context):
"""
This class is used to evaluate instances.
"""
_faked_class = None
def __init__(self, evaluator, parent_context, class_context, var_args):
super(AbstractInstanceContext, self).__init__(evaluator, parent_context)
# Generated instances are classes that are just generated by self
@@ -98,7 +101,11 @@ class AbstractInstanceContext(Context):
if include_self_names:
for cls in self.class_context.py__mro__():
if isinstance(cls, compiled.CompiledObject):
yield CompiledSelfNameFilter(self.evaluator, self, cls, origin_scope)
if cls.classdef is not None:
# In this case we're talking about a fake object, it
# doesn't make sense for normal compiled objects to
# search for self variables.
yield SelfNameFilter(self.evaluator, self, cls, origin_scope)
else:
yield SelfNameFilter(self.evaluator, self, cls, origin_scope)
@@ -327,7 +334,7 @@ class SelfNameFilter(InstanceClassFilter):
def _filter(self, names):
names = self._filter_self_names(names)
if isinstance(self._parser_scope, compiled.CompiledObject):
if isinstance(self._parser_scope, compiled.CompiledObject) and False:
# This would be for builtin skeletons, which are not yet supported.
return list(names)
else:
@@ -354,14 +361,6 @@ class SelfNameFilter(InstanceClassFilter):
return names
class CompiledSelfNameFilter(SelfNameFilter):
"""
This filter is a bit special and exists only because of `compiled/fake/*`.
"""
def _access_possible(self, name):
return True
class ParamArguments(object):
"""
TODO This seems like a strange class, clean up?