forked from VimPlug/jedi
Fix comprehension parent issues, fixes #1215
This commit is contained in:
@@ -361,9 +361,10 @@ class BaseDefinition(object):
|
|||||||
context = self._name.parent_context
|
context = self._name.parent_context
|
||||||
if context is None:
|
if context is None:
|
||||||
return None
|
return None
|
||||||
|
while context.name is None:
|
||||||
# TODO private access!
|
# Happens for comprehension contexts
|
||||||
return Definition(self._inference_state, context._value.name)
|
context = context.parent_context
|
||||||
|
return Definition(self._inference_state, context.name)
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "<%s %sname=%r, description=%r>" % (
|
return "<%s %sname=%r, description=%r>" % (
|
||||||
|
|||||||
@@ -134,6 +134,12 @@ class AbstractContext(object):
|
|||||||
def py__name__(self):
|
def py__name__(self):
|
||||||
return self._value.py__name__()
|
return self._value.py__name__()
|
||||||
|
|
||||||
|
@property
|
||||||
|
def name(self):
|
||||||
|
if self._value is None:
|
||||||
|
return None
|
||||||
|
return self._value.name
|
||||||
|
|
||||||
def get_qualified_names(self):
|
def get_qualified_names(self):
|
||||||
return self._value.get_qualified_names()
|
return self._value.get_qualified_names()
|
||||||
|
|
||||||
@@ -223,6 +229,7 @@ class ClassContext(AbstractContext):
|
|||||||
|
|
||||||
class CompForContext(AbstractContext):
|
class CompForContext(AbstractContext):
|
||||||
def __init__(self, parent_context, comp_for):
|
def __init__(self, parent_context, comp_for):
|
||||||
|
self._value = None
|
||||||
self._parent_context = parent_context
|
self._parent_context = parent_context
|
||||||
self.inference_state = parent_context.inference_state
|
self.inference_state = parent_context.inference_state
|
||||||
self._tree_node = comp_for
|
self._tree_node = comp_for
|
||||||
|
|||||||
Reference in New Issue
Block a user