diff --git a/jedi/evaluate/dynamic.py b/jedi/evaluate/dynamic.py index 9da574d9..edaa1edb 100644 --- a/jedi/evaluate/dynamic.py +++ b/jedi/evaluate/dynamic.py @@ -391,11 +391,11 @@ def _check_array_additions(evaluator, compare_array, module, is_list): if isinstance(comp_arr_parent, er.InstanceElement): stmt = er.InstanceElement(comp_arr_parent.instance, stmt) - if evaluator.follow_statement.push_stmt(stmt): + if evaluator.recursion_detector.push_stmt(stmt): # check recursion continue res += check_calls(_scan_statement(stmt, n), n) - evaluator.follow_statement.pop_stmt() + evaluator.recursion_detector.pop_stmt() # reset settings settings.dynamic_params_for_other_modules = temp_param_add return res diff --git a/jedi/evaluate/representation.py b/jedi/evaluate/representation.py index 150ee42a..1ff0f4f9 100644 --- a/jedi/evaluate/representation.py +++ b/jedi/evaluate/representation.py @@ -199,7 +199,7 @@ class InstanceElement(use_metaclass(CachedMetaClass, pr.Base)): if isinstance(var, pr.Function): var = Function(evaluator, var) elif isinstance(var, pr.Class): - var = Class(var) + var = Class(evaluator, var) self.instance = instance self.var = var self.is_class_var = is_class_var @@ -470,7 +470,7 @@ class Execution(Executable): cls = func.get_parent_until(accept + (pr.Class,), include_current=False) if isinstance(cls, pr.Class): - cls = Class(cls) + cls = Class(self._evaluator, cls) su = cls.get_super_classes() if su: return [Instance(self._evaluator, su[0])]