1
0
forked from VimPlug/jedi

Fix an issue with lookups.

This commit is contained in:
Dave Halter
2016-11-07 00:35:04 +01:00
parent 7f95495ca5
commit 81ccedc353

View File

@@ -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