forked from VimPlug/jedi
Improvements towards arrays / predefined names logic.
This commit is contained in:
@@ -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?
|
||||
|
||||
Reference in New Issue
Block a user