mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-06 05:54:25 +08:00
Fix comprehension parent issues, fixes #1215
This commit is contained in:
@@ -361,9 +361,10 @@ class BaseDefinition(object):
|
||||
context = self._name.parent_context
|
||||
if context is None:
|
||||
return None
|
||||
|
||||
# TODO private access!
|
||||
return Definition(self._inference_state, context._value.name)
|
||||
while context.name is None:
|
||||
# Happens for comprehension contexts
|
||||
context = context.parent_context
|
||||
return Definition(self._inference_state, context.name)
|
||||
|
||||
def __repr__(self):
|
||||
return "<%s %sname=%r, description=%r>" % (
|
||||
|
||||
@@ -134,6 +134,12 @@ class AbstractContext(object):
|
||||
def py__name__(self):
|
||||
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):
|
||||
return self._value.get_qualified_names()
|
||||
|
||||
@@ -223,6 +229,7 @@ class ClassContext(AbstractContext):
|
||||
|
||||
class CompForContext(AbstractContext):
|
||||
def __init__(self, parent_context, comp_for):
|
||||
self._value = None
|
||||
self._parent_context = parent_context
|
||||
self.inference_state = parent_context.inference_state
|
||||
self._tree_node = comp_for
|
||||
|
||||
Reference in New Issue
Block a user