mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-07 22:44:27 +08:00
Fix an issue with predefined_if_name_dict.
This commit is contained in:
@@ -249,13 +249,27 @@ class Evaluator(object):
|
|||||||
del self.predefined_if_name_dict_dict[if_stmt]
|
del self.predefined_if_name_dict_dict[if_stmt]
|
||||||
return result
|
return result
|
||||||
else:
|
else:
|
||||||
|
return self._eval_element_if_evaluated(element)
|
||||||
return self._eval_element_cached(element)
|
return self._eval_element_cached(element)
|
||||||
else:
|
else:
|
||||||
if predefined_if_name_dict:
|
if predefined_if_name_dict:
|
||||||
return self._eval_element_not_cached(element)
|
return self._eval_element_not_cached(element)
|
||||||
else:
|
else:
|
||||||
|
return self._eval_element_if_evaluated(element)
|
||||||
return self._eval_element_cached(element)
|
return self._eval_element_cached(element)
|
||||||
|
|
||||||
|
def _eval_element_if_evaluated(self, element):
|
||||||
|
"""
|
||||||
|
TODO This function is temporary: Merge with eval_element.
|
||||||
|
"""
|
||||||
|
parent = element
|
||||||
|
while parent is not None:
|
||||||
|
parent = parent.parent
|
||||||
|
predefined_if_name_dict = self.predefined_if_name_dict_dict.get(parent)
|
||||||
|
if predefined_if_name_dict:
|
||||||
|
return self._eval_element_not_cached(element)
|
||||||
|
return self._eval_element_cached(element)
|
||||||
|
|
||||||
@memoize_default(evaluator_is_first_arg=True)
|
@memoize_default(evaluator_is_first_arg=True)
|
||||||
def _eval_element_cached(self, element):
|
def _eval_element_cached(self, element):
|
||||||
return self._eval_element_not_cached(element)
|
return self._eval_element_not_cached(element)
|
||||||
|
|||||||
Reference in New Issue
Block a user