mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-09 07:14:48 +08:00
Memoizing statements doesn't work anymore.
Statements now need to be evaluated at least if predefined_names_dict is set.
This commit is contained in:
@@ -120,7 +120,7 @@ class Evaluator(object):
|
|||||||
return f.filter_name(scopes)
|
return f.filter_name(scopes)
|
||||||
return f.find(scopes, search_global)
|
return f.find(scopes, search_global)
|
||||||
|
|
||||||
@memoize_default(default=[], evaluator_is_first_arg=True)
|
#@memoize_default(default=[], evaluator_is_first_arg=True)
|
||||||
@recursion.recursion_decorator
|
@recursion.recursion_decorator
|
||||||
@debug.increase_indent
|
@debug.increase_indent
|
||||||
def eval_statement(self, stmt, seek_name=None):
|
def eval_statement(self, stmt, seek_name=None):
|
||||||
@@ -211,6 +211,7 @@ class Evaluator(object):
|
|||||||
if len(name_dicts) > 1:
|
if len(name_dicts) > 1:
|
||||||
result = []
|
result = []
|
||||||
for name_dict in name_dicts:
|
for name_dict in name_dicts:
|
||||||
|
print('NAME_DICT', element, name_dict)
|
||||||
self.predefined_if_name_dict_dict[parent] = name_dict
|
self.predefined_if_name_dict_dict[parent] = name_dict
|
||||||
try:
|
try:
|
||||||
result += self._eval_element_not_cached(element)
|
result += self._eval_element_not_cached(element)
|
||||||
|
|||||||
@@ -21,5 +21,8 @@ else:
|
|||||||
#! 6 type-error-operation
|
#! 6 type-error-operation
|
||||||
z = x + y
|
z = x + y
|
||||||
# However, here we have correct types.
|
# However, here we have correct types.
|
||||||
if type(x) == type(y):
|
if x == y:
|
||||||
|
z = x + y
|
||||||
|
else:
|
||||||
|
#! 6 type-error-operation
|
||||||
z = x + y
|
z = x + y
|
||||||
|
|||||||
Reference in New Issue
Block a user