forked from VimPlug/jedi
Fix an issue with lookups.
This commit is contained in:
@@ -159,11 +159,11 @@ class TreeInstance(AbstractInstanceContext):
|
|||||||
def create_instance_context(self, class_context, node):
|
def create_instance_context(self, class_context, node):
|
||||||
scope = node.get_parent_scope()
|
scope = node.get_parent_scope()
|
||||||
if scope == class_context.classdef:
|
if scope == class_context.classdef:
|
||||||
return self
|
return class_context
|
||||||
else:
|
else:
|
||||||
parent_context = self.create_instance_context(class_context, scope)
|
parent_context = self.create_instance_context(class_context, scope)
|
||||||
if scope.type == 'funcdef':
|
if scope.type == 'funcdef':
|
||||||
if scope.name.value == '__init__' and parent_context == self:
|
if scope.name.value == '__init__' and parent_context == class_context:
|
||||||
return InstanceFunctionExecution(
|
return InstanceFunctionExecution(
|
||||||
self,
|
self,
|
||||||
class_context.parent_context,
|
class_context.parent_context,
|
||||||
@@ -214,6 +214,9 @@ class BoundMethod(object):
|
|||||||
)
|
)
|
||||||
return self._function.infer_function_execution(function_execution)
|
return self._function.infer_function_execution(function_execution)
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return '<%s: %s>' % (self.__class__.__name__, self._function)
|
||||||
|
|
||||||
|
|
||||||
class InstanceNameDefinition(TreeNameDefinition):
|
class InstanceNameDefinition(TreeNameDefinition):
|
||||||
def infer(self):
|
def infer(self):
|
||||||
@@ -221,6 +224,7 @@ class InstanceNameDefinition(TreeNameDefinition):
|
|||||||
for context in contexts:
|
for context in contexts:
|
||||||
yield context
|
yield context
|
||||||
|
|
||||||
|
|
||||||
class InstanceClassFilter(ParserTreeFilter):
|
class InstanceClassFilter(ParserTreeFilter):
|
||||||
name_class = InstanceNameDefinition
|
name_class = InstanceNameDefinition
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user