Trying to completing this pandas code crashes Jedi:
import jedi;jedi.Script('''import pandas; pandas.read_csv().m''').completions()
It also crashes with read_json and read_table (likely others with a similar code path
It's the same crash on 0.11 and master.
I think it would get the correct completions from the docs if it didn't crash.
pandas.__version__ '0.21.1'
TraceBack:
Python 3.6.3 |Anaconda custom (64-bit)| (default, Nov 20 2017, 20:41:42)
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import jedi;jedi.Script('''import pandas; pandas.read_csv().m''').completions()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/bcolsen/jedi/jedi/api/__init__.py", line 158, in completions
completions = completion.completions()
File "/home/bcolsen/jedi/jedi/api/completion.py", line 99, in completions
completion_names = self._get_context_completions()
File "/home/bcolsen/jedi/jedi/api/completion.py", line 198, in _get_context_completions
completion_names += self._trailer_completions(dot.get_previous_leaf())
File "/home/bcolsen/jedi/jedi/api/completion.py", line 233, in _trailer_completions
contexts = evaluate_call_of_leaf(evaluation_context, previous_leaf)
File "/home/bcolsen/jedi/jedi/evaluate/helpers.py", line 102, in evaluate_call_of_leaf
values = eval_trailer(context, values, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 153, in eval_trailer
return base_contexts.execute(args)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 52, in execute
context_set = func(arguments)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 80, in py__call__
return self.infer_function_execution(function_execution)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 70, in infer_function_execution
return function_execution.get_return_values()
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/recursion.py", line 84, in wrapper
result = func(execution, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 151, in get_return_values
context_set |= self.eval_node(children[1])
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 123, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 179, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 191, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 195, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 84, in eval_node
context_set = eval_trailer(context, context_set, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 153, in eval_trailer
return base_contexts.execute(args)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 52, in execute
context_set = func(arguments)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 80, in py__call__
return self.infer_function_execution(function_execution)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 70, in infer_function_execution
return function_execution.get_return_values()
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/recursion.py", line 84, in wrapper
result = func(execution, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 151, in get_return_values
context_set |= self.eval_node(children[1])
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 123, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 179, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 191, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 195, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 58, in eval_node
return eval_atom(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 172, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 204, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 140, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 64, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 100, in infer
return tree_name_to_contexts(self.parent_context.evaluator, self.parent_context, self.tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 479, in tree_name_to_contexts
types = _remove_statements(evaluator, context, node, tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 441, in _remove_statements
return eval_expr_stmt(context, stmt, seek_name=name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 225, in eval_expr_stmt
return _eval_expr_stmt(context, stmt, seek_name)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 241, in _eval_expr_stmt
context_set = context.eval_node(rhs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 123, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 179, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 191, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 195, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 84, in eval_node
context_set = eval_trailer(context, context_set, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 153, in eval_trailer
return base_contexts.execute(args)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 52, in execute
context_set = func(arguments)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 80, in py__call__
return self.infer_function_execution(function_execution)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 70, in infer_function_execution
return function_execution.get_return_values()
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/recursion.py", line 84, in wrapper
result = func(execution, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 151, in get_return_values
context_set |= self.eval_node(children[1])
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 123, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 174, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 191, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 195, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 58, in eval_node
return eval_atom(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 172, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 204, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 140, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 64, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 100, in infer
return tree_name_to_contexts(self.parent_context.evaluator, self.parent_context, self.tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 479, in tree_name_to_contexts
types = _remove_statements(evaluator, context, node, tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 441, in _remove_statements
return eval_expr_stmt(context, stmt, seek_name=name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 225, in eval_expr_stmt
return _eval_expr_stmt(context, stmt, seek_name)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 241, in _eval_expr_stmt
context_set = context.eval_node(rhs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 123, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 179, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 191, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 195, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 84, in eval_node
context_set = eval_trailer(context, context_set, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 153, in eval_trailer
return base_contexts.execute(args)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 52, in execute
context_set = func(arguments)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 80, in py__call__
return self.infer_function_execution(function_execution)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 70, in infer_function_execution
return function_execution.get_return_values()
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/recursion.py", line 84, in wrapper
result = func(execution, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 136, in get_return_values
check = flow_analysis.reachability_check(self, funcdef, r)
File "/home/bcolsen/jedi/jedi/evaluate/flow_analysis.py", line 76, in reachability_check
return _break_check(context, context_scope, first_flow_scope, node)
File "/home/bcolsen/jedi/jedi/evaluate/flow_analysis.py", line 91, in _break_check
reachable = _check_if(context, flow_node)
File "/home/bcolsen/jedi/jedi/evaluate/flow_analysis.py", line 107, in _check_if
types = context.eval_node(node)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 123, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 174, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 191, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 195, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 84, in eval_node
context_set = eval_trailer(context, context_set, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 148, in eval_trailer
name_or_str=node
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 204, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 140, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 64, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 100, in infer
return tree_name_to_contexts(self.parent_context.evaluator, self.parent_context, self.tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 479, in tree_name_to_contexts
types = _remove_statements(evaluator, context, node, tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 441, in _remove_statements
return eval_expr_stmt(context, stmt, seek_name=name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 225, in eval_expr_stmt
return _eval_expr_stmt(context, stmt, seek_name)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 241, in _eval_expr_stmt
context_set = context.eval_node(rhs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 123, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 179, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 191, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 195, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 72, in eval_node
context_set = eval_atom(context, first_child)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 172, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 204, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 140, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 64, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 118, in infer
return self.get_param().infer()
File "/home/bcolsen/jedi/jedi/evaluate/param.py", line 34, in infer
return self._lazy_context.infer()
File "/home/bcolsen/jedi/jedi/evaluate/lazy_context.py", line 46, in infer
return self._context.eval_node(self.data)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 123, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 174, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 191, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 195, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 84, in eval_node
context_set = eval_trailer(context, context_set, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 148, in eval_trailer
name_or_str=node
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 204, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 140, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 64, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 100, in infer
return tree_name_to_contexts(self.parent_context.evaluator, self.parent_context, self.tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 479, in tree_name_to_contexts
types = _remove_statements(evaluator, context, node, tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 441, in _remove_statements
return eval_expr_stmt(context, stmt, seek_name=name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 225, in eval_expr_stmt
return _eval_expr_stmt(context, stmt, seek_name)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 241, in _eval_expr_stmt
context_set = context.eval_node(rhs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 123, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 179, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 191, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 195, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 58, in eval_node
return eval_atom(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 172, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 204, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 140, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 64, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 118, in infer
return self.get_param().infer()
File "/home/bcolsen/jedi/jedi/evaluate/param.py", line 34, in infer
return self._lazy_context.infer()
File "/home/bcolsen/jedi/jedi/evaluate/lazy_context.py", line 46, in infer
return self._context.eval_node(self.data)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 123, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 179, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 191, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 195, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 58, in eval_node
return eval_atom(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 172, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 204, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 140, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 64, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 100, in infer
return tree_name_to_contexts(self.parent_context.evaluator, self.parent_context, self.tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 479, in tree_name_to_contexts
types = _remove_statements(evaluator, context, node, tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 441, in _remove_statements
return eval_expr_stmt(context, stmt, seek_name=name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 225, in eval_expr_stmt
return _eval_expr_stmt(context, stmt, seek_name)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 241, in _eval_expr_stmt
context_set = context.eval_node(rhs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 123, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 179, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 191, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 195, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 84, in eval_node
context_set = eval_trailer(context, context_set, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 153, in eval_trailer
return base_contexts.execute(args)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 52, in execute
context_set = func(arguments)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 80, in py__call__
return self.infer_function_execution(function_execution)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 70, in infer_function_execution
return function_execution.get_return_values()
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/recursion.py", line 84, in wrapper
result = func(execution, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 136, in get_return_values
check = flow_analysis.reachability_check(self, funcdef, r)
File "/home/bcolsen/jedi/jedi/evaluate/flow_analysis.py", line 76, in reachability_check
return _break_check(context, context_scope, first_flow_scope, node)
File "/home/bcolsen/jedi/jedi/evaluate/flow_analysis.py", line 91, in _break_check
reachable = _check_if(context, flow_node)
File "/home/bcolsen/jedi/jedi/evaluate/flow_analysis.py", line 107, in _check_if
types = context.eval_node(node)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 123, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 174, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 191, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 195, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 84, in eval_node
context_set = eval_trailer(context, context_set, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 153, in eval_trailer
return base_contexts.execute(args)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 52, in execute
context_set = func(arguments)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 80, in py__call__
return self.infer_function_execution(function_execution)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 70, in infer_function_execution
return function_execution.get_return_values()
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/recursion.py", line 84, in wrapper
result = func(execution, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 151, in get_return_values
context_set |= self.eval_node(children[1])
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 123, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 179, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 191, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 195, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 116, in eval_node
return eval_or_test(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 280, in eval_or_test
types = context.eval_node(next(iterator))
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 123, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 179, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 191, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 195, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 84, in eval_node
context_set = eval_trailer(context, context_set, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 153, in eval_trailer
return base_contexts.execute(args)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 52, in execute
context_set = func(arguments)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 80, in py__call__
return self.infer_function_execution(function_execution)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 70, in infer_function_execution
return function_execution.get_return_values()
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/recursion.py", line 84, in wrapper
result = func(execution, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 151, in get_return_values
context_set |= self.eval_node(children[1])
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 123, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 179, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 191, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 195, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 72, in eval_node
context_set = eval_atom(context, first_child)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 172, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 204, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 140, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 64, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 100, in infer
return tree_name_to_contexts(self.parent_context.evaluator, self.parent_context, self.tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 479, in tree_name_to_contexts
types = _remove_statements(evaluator, context, node, tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 441, in _remove_statements
return eval_expr_stmt(context, stmt, seek_name=name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 225, in eval_expr_stmt
return _eval_expr_stmt(context, stmt, seek_name)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 241, in _eval_expr_stmt
context_set = context.eval_node(rhs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 123, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 179, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 191, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 195, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 84, in eval_node
context_set = eval_trailer(context, context_set, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 153, in eval_trailer
return base_contexts.execute(args)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 52, in execute
context_set = func(arguments)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 80, in py__call__
return self.infer_function_execution(function_execution)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 70, in infer_function_execution
return function_execution.get_return_values()
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/recursion.py", line 84, in wrapper
result = func(execution, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 136, in get_return_values
check = flow_analysis.reachability_check(self, funcdef, r)
File "/home/bcolsen/jedi/jedi/evaluate/flow_analysis.py", line 76, in reachability_check
return _break_check(context, context_scope, first_flow_scope, node)
File "/home/bcolsen/jedi/jedi/evaluate/flow_analysis.py", line 91, in _break_check
reachable = _check_if(context, flow_node)
File "/home/bcolsen/jedi/jedi/evaluate/flow_analysis.py", line 107, in _check_if
types = context.eval_node(node)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 123, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 174, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 191, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 195, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 58, in eval_node
return eval_atom(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 172, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 204, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 140, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 64, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 100, in infer
return tree_name_to_contexts(self.parent_context.evaluator, self.parent_context, self.tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 479, in tree_name_to_contexts
types = _remove_statements(evaluator, context, node, tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 441, in _remove_statements
return eval_expr_stmt(context, stmt, seek_name=name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 225, in eval_expr_stmt
return _eval_expr_stmt(context, stmt, seek_name)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 241, in _eval_expr_stmt
context_set = context.eval_node(rhs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 123, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 179, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 191, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 195, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 84, in eval_node
context_set = eval_trailer(context, context_set, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 153, in eval_trailer
return base_contexts.execute(args)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 42, in execute
return stdlib.execute(self.evaluator, self, arguments)
File "/home/bcolsen/jedi/jedi/evaluate/stdlib.py", line 73, in execute
return func(evaluator, obj, arguments)
File "/home/bcolsen/jedi/jedi/evaluate/stdlib.py", line 111, in wrapper
lst = list(arguments.eval_argument_clinic(clinic_args))
File "/home/bcolsen/jedi/jedi/evaluate/arguments.py", line 44, in eval_argument_clinic
values = NO_CONTEXTS if argument is None else argument.infer()
File "/home/bcolsen/jedi/jedi/evaluate/lazy_context.py", line 46, in infer
return self._context.eval_node(self.data)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 123, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 179, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 191, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 195, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 84, in eval_node
context_set = eval_trailer(context, context_set, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 141, in eval_trailer
ContextualizedNode(context, trailer)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 114, in get_item
result |= getitem(index)
File "/home/bcolsen/jedi/jedi/evaluate/context/iterable.py", line 426, in py__getitem__
return self._lazy_context_list[index].infer()
File "/home/bcolsen/jedi/jedi/evaluate/lazy_context.py", line 46, in infer
return self._context.eval_node(self.data)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 123, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 179, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 191, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 195, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 58, in eval_node
return eval_atom(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 172, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 204, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 140, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 64, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 118, in infer
return self.get_param().infer()
File "/home/bcolsen/jedi/jedi/evaluate/param.py", line 34, in infer
return self._lazy_context.infer()
File "/home/bcolsen/jedi/jedi/evaluate/lazy_context.py", line 46, in infer
return self._context.eval_node(self.data)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 123, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 179, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 191, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 195, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 58, in eval_node
return eval_atom(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 172, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 204, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 140, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 64, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 118, in infer
return self.get_param().infer()
File "/home/bcolsen/jedi/jedi/evaluate/param.py", line 34, in infer
return self._lazy_context.infer()
File "/home/bcolsen/jedi/jedi/evaluate/lazy_context.py", line 46, in infer
return self._context.eval_node(self.data)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 123, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 174, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 191, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 195, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 58, in eval_node
return eval_atom(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 172, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 204, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 140, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 64, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 100, in infer
return tree_name_to_contexts(self.parent_context.evaluator, self.parent_context, self.tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 479, in tree_name_to_contexts
types = _remove_statements(evaluator, context, node, tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 441, in _remove_statements
return eval_expr_stmt(context, stmt, seek_name=name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 225, in eval_expr_stmt
return _eval_expr_stmt(context, stmt, seek_name)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 241, in _eval_expr_stmt
context_set = context.eval_node(rhs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 123, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 179, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 191, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 195, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 84, in eval_node
context_set = eval_trailer(context, context_set, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 153, in eval_trailer
return base_contexts.execute(args)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 52, in execute
context_set = func(arguments)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 80, in py__call__
return self.infer_function_execution(function_execution)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 70, in infer_function_execution
return function_execution.get_return_values()
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/recursion.py", line 84, in wrapper
result = func(execution, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 151, in get_return_values
context_set |= self.eval_node(children[1])
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 123, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 142, in eval_element
definitions = self.goto_definitions(context, if_name)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 219, in goto_definitions
return helpers.evaluate_call_of_leaf(context, name)
File "/home/bcolsen/jedi/jedi/evaluate/helpers.py", line 74, in evaluate_call_of_leaf
return context.eval_node(leaf)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 123, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 174, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 191, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 195, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 58, in eval_node
return eval_atom(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 172, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 204, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 140, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 64, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 118, in infer
return self.get_param().infer()
File "/home/bcolsen/jedi/jedi/evaluate/param.py", line 34, in infer
return self._lazy_context.infer()
File "/home/bcolsen/jedi/jedi/evaluate/lazy_context.py", line 46, in infer
return self._context.eval_node(self.data)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 123, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 179, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 191, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 195, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 58, in eval_node
return eval_atom(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 172, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 204, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 140, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 64, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 157, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 118, in infer
return self.get_param().infer()
File "/home/bcolsen/jedi/jedi/evaluate/param.py", line 30, in infer
doc_params = docstrings.infer_param(self._execution_context, self._param_node)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/docstrings.py", line 266, in infer_param
types = eval_docstring(execution_context.py__doc__())
File "/home/bcolsen/jedi/jedi/evaluate/docstrings.py", line 258, in eval_docstring
for param_str in _search_param_in_docstr(docstring, param.name.value)
File "/home/bcolsen/jedi/jedi/common/context.py", line 20, in from_iterable
return cls.from_set(set(iterable))
File "/home/bcolsen/jedi/jedi/evaluate/docstrings.py", line 259, in <genexpr>
for p in _evaluate_for_statement_string(module_context, param_str)
File "/home/bcolsen/jedi/jedi/evaluate/docstrings.py", line 216, in _evaluate_for_statement_string
return list(_execute_types_in_stmt(func_execution_context, stmt))
File "/home/bcolsen/jedi/jedi/evaluate/docstrings.py", line 225, in _execute_types_in_stmt
definitions = module_context.eval_node(stmt)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 123, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 179, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 191, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 195, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 46, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 103, in eval_node
assert element.value in ('.', '...')
AssertionError
>>> jedi.__version__
'0.12.0'
>>>
If you have time it would be interesting to see what element and element.value is.
I cannot reproduce it on Ubuntu (Python 3.5):
>>> pandas.__version__
'0.21.1'
>>> jedi.__version__
'0.11.0'
I would definitely need more information about the operating system.
If you could also re-run it on the master branch (and send me the error message), that would really help, since I improved the error message.
I'm using the latest up to date Anaconda 3.6 on Ubuntu 64-bit 16.04.
I can get the same error as previous with the the packages available in Anaconda.
jedi = 0.11.1
pandas = 0.22.0
The error message in the latest Jedi Master is quite different and looks a bit more helpful, but I'm not sure if it's even pointing to the same problem anymore.
Python 3.6.4 |Anaconda custom (64-bit)| (default, Jan 16 2018, 18:10:19)
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import jedi;jedi.Script('''import pandas; pandas.read_csv().m''').completions()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/bcolsen/jedi/jedi/api/__init__.py", line 158, in completions
completions = completion.completions()
File "/home/bcolsen/jedi/jedi/api/completion.py", line 99, in completions
completion_names = self._get_context_completions()
File "/home/bcolsen/jedi/jedi/api/completion.py", line 198, in _get_context_completions
completion_names += self._trailer_completions(dot.get_previous_leaf())
File "/home/bcolsen/jedi/jedi/api/completion.py", line 233, in _trailer_completions
contexts = evaluate_call_of_leaf(evaluation_context, previous_leaf)
File "/home/bcolsen/jedi/jedi/evaluate/helpers.py", line 102, in evaluate_call_of_leaf
values = eval_trailer(context, values, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 155, in eval_trailer
return base_contexts.execute(args)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 52, in execute
context_set = func(arguments)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 80, in py__call__
return self.infer_function_execution(function_execution)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 70, in infer_function_execution
return function_execution.get_return_values()
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/recursion.py", line 84, in wrapper
result = func(execution, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 152, in get_return_values
context_set |= self.eval_node(children[1])
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 86, in eval_node
context_set = eval_trailer(context, context_set, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 155, in eval_trailer
return base_contexts.execute(args)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 52, in execute
context_set = func(arguments)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 80, in py__call__
return self.infer_function_execution(function_execution)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 70, in infer_function_execution
return function_execution.get_return_values()
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/recursion.py", line 84, in wrapper
result = func(execution, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 136, in get_return_values
check = flow_analysis.reachability_check(self, funcdef, r)
File "/home/bcolsen/jedi/jedi/evaluate/flow_analysis.py", line 76, in reachability_check
return _break_check(context, context_scope, first_flow_scope, node)
File "/home/bcolsen/jedi/jedi/evaluate/flow_analysis.py", line 91, in _break_check
reachable = _check_if(context, flow_node)
File "/home/bcolsen/jedi/jedi/evaluate/flow_analysis.py", line 107, in _check_if
types = context.eval_node(node)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 118, in eval_node
return eval_or_test(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 282, in eval_or_test
types = context.eval_node(next(iterator))
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 60, in eval_node
return eval_atom(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 174, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 195, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 145, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 67, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 106, in infer
return tree_name_to_contexts(self.parent_context.evaluator, self.parent_context, self.tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 494, in tree_name_to_contexts
types = _remove_statements(evaluator, context, node, tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 440, in _remove_statements
return eval_expr_stmt(context, stmt, seek_name=name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 227, in eval_expr_stmt
return _eval_expr_stmt(context, stmt, seek_name)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 243, in _eval_expr_stmt
context_set = context.eval_node(rhs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 86, in eval_node
context_set = eval_trailer(context, context_set, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 155, in eval_trailer
return base_contexts.execute(args)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 52, in execute
context_set = func(arguments)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 80, in py__call__
return self.infer_function_execution(function_execution)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 70, in infer_function_execution
return function_execution.get_return_values()
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/recursion.py", line 84, in wrapper
result = func(execution, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 152, in get_return_values
context_set |= self.eval_node(children[1])
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 60, in eval_node
return eval_atom(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 174, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 195, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 145, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 56, in find
names = self.filter_name(filters)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 123, in filter_name
names = filter.get(self._string_name)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 176, in get
return self._convert_names(self._filter(names))
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 208, in _filter
return list(self._check_flows(names))
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 225, in _check_flows
origin_scope=self._origin_scope
File "/home/bcolsen/jedi/jedi/evaluate/flow_analysis.py", line 76, in reachability_check
return _break_check(context, context_scope, first_flow_scope, node)
File "/home/bcolsen/jedi/jedi/evaluate/flow_analysis.py", line 91, in _break_check
reachable = _check_if(context, flow_node)
File "/home/bcolsen/jedi/jedi/evaluate/flow_analysis.py", line 107, in _check_if
types = context.eval_node(node)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 74, in eval_node
context_set = eval_atom(context, first_child)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 174, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 195, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 145, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 67, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 106, in infer
return tree_name_to_contexts(self.parent_context.evaluator, self.parent_context, self.tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 500, in tree_name_to_contexts
types = imports.infer_import(context, tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/imports.py", line 74, in infer_import
for t in types
File "/home/bcolsen/jedi/jedi/evaluate/utils.py", line 26, in unite
return set(typ for types in iterable for typ in types)
File "/home/bcolsen/jedi/jedi/evaluate/utils.py", line 26, in <genexpr>
return set(typ for types in iterable for typ in types)
File "/home/bcolsen/jedi/jedi/evaluate/imports.py", line 74, in <genexpr>
for t in types
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 195, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 145, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 67, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 106, in infer
return tree_name_to_contexts(self.parent_context.evaluator, self.parent_context, self.tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 494, in tree_name_to_contexts
types = _remove_statements(evaluator, context, node, tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 440, in _remove_statements
return eval_expr_stmt(context, stmt, seek_name=name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 227, in eval_expr_stmt
return _eval_expr_stmt(context, stmt, seek_name)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 243, in _eval_expr_stmt
context_set = context.eval_node(rhs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 74, in eval_node
context_set = eval_atom(context, first_child)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 174, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 195, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 145, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 67, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 106, in infer
return tree_name_to_contexts(self.parent_context.evaluator, self.parent_context, self.tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 500, in tree_name_to_contexts
types = imports.infer_import(context, tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/imports.py", line 83, in infer_import
types = importer.follow()
File "/home/bcolsen/jedi/jedi/evaluate/imports.py", line 267, in follow
return self._do_import(self.import_path, self.sys_path_with_modifications())
File "/home/bcolsen/jedi/jedi/evaluate/imports.py", line 361, in _do_import
module = _load_module(self._evaluator, module_path, code, sys_path, parent_module)
File "/home/bcolsen/jedi/jedi/evaluate/imports.py", line 475, in _load_module
return compiled.load_module(evaluator, path=path, sys_path=sys_path)
File "/home/bcolsen/jedi/jedi/evaluate/compiled/__init__.py", line 32, in load_module
access_path = evaluator.compiled_subprocess.load_module(**kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/compiled/subprocess/__init__.py", line 93, in wrapper
kwargs=kwargs,
File "/home/bcolsen/jedi/jedi/evaluate/compiled/subprocess/__init__.py", line 159, in run
return self._send(id(evaluator), function, args, kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/compiled/subprocess/__init__.py", line 210, in _send
raise result
AttributeError: Traceback (most recent call last):
File "/home/bcolsen/jedi/jedi/evaluate/compiled/subprocess/__init__.py", line 281, in listen
result = False, None, self._run(*payload)
File "/home/bcolsen/jedi/jedi/evaluate/compiled/subprocess/__init__.py", line 264, in _run
return function(evaluator, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/compiled/subprocess/functions.py", line 16, in load_module
return access.load_module(evaluator, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/compiled/access.py", line 146, in load_module
__import__(dotted_path)
File "/home/bcolsen/anaconda3/lib/python3.6/site-packages/pandas/__init__.py", line 42, in <module>
from pandas.core.api import *
File "/home/bcolsen/anaconda3/lib/python3.6/site-packages/pandas/core/api.py", line 7, in <module>
from pandas.core.algorithms import factorize, unique, value_counts
File "/home/bcolsen/anaconda3/lib/python3.6/site-packages/pandas/core/algorithms.py", line 31, in <module>
from pandas.core import common as com
File "/home/bcolsen/anaconda3/lib/python3.6/site-packages/pandas/core/common.py", line 22, in <module>
from pandas.api import types
File "/home/bcolsen/anaconda3/lib/python3.6/site-packages/pandas/api/types/__init__.py", line 8, in <module>
from pandas.core.dtypes.concat import union_categoricals # noqa
File "/home/bcolsen/anaconda3/lib/python3.6/site-packages/pandas/core/dtypes/concat.py", line 6, in <module>
import pandas._libs.tslib as tslib
AttributeError: module 'pandas' has no attribute '_libs'
>>> jedi.__version__
'0.12.0'
If I run the code again in the same python console the error at the end is different (the first part is the similar):
AttributeError: Traceback (most recent call last):
File "/home/bcolsen/jedi/jedi/evaluate/compiled/subprocess/__init__.py", line 281, in listen
result = False, None, self._run(*payload)
File "/home/bcolsen/jedi/jedi/evaluate/compiled/subprocess/__init__.py", line 264, in _run
return function(evaluator, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/compiled/subprocess/functions.py", line 16, in load_module
return access.load_module(evaluator, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/compiled/access.py", line 146, in load_module
__import__(dotted_path)
File "pandas/_libs/lib.pyx", line 1289, in init pandas._libs.lib
AttributeError: type object 'pandas._libs.lib._PandasNull' has no attribute '__reduce_cython__'
Everything in pandas._libs seems like cython .so files
Can you retry with latest master? I just tried to avoid the input errors in the subprocess.
I tried it again. All the first part of the error is the same, but now the last part is different.
The old error ended with:
AttributeError: Traceback (most recent call last):
File "/home/bcolsen/jedi/jedi/evaluate/compiled/subprocess/__init__.py", line 281, in listen
result = False, None, self._run(*payload)
File "/home/bcolsen/jedi/jedi/evaluate/compiled/subprocess/__init__.py", line 264, in _run
return function(evaluator, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/compiled/subprocess/functions.py", line 16, in load_module
return access.load_module(evaluator, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/compiled/access.py", line 146, in load_module
__import__(dotted_path)
File "/home/bcolsen/anaconda3/lib/python3.6/site-packages/pandas/__init__.py", line 42, in <module>
from pandas.core.api import *
File "/home/bcolsen/anaconda3/lib/python3.6/site-packages/pandas/core/api.py", line 7, in <module>
from pandas.core.algorithms import factorize, unique, value_counts
File "/home/bcolsen/anaconda3/lib/python3.6/site-packages/pandas/core/algorithms.py", line 31, in <module>
from pandas.core import common as com
File "/home/bcolsen/anaconda3/lib/python3.6/site-packages/pandas/core/common.py", line 22, in <module>
from pandas.api import types
File "/home/bcolsen/anaconda3/lib/python3.6/site-packages/pandas/api/types/__init__.py", line 8, in <module>
from pandas.core.dtypes.concat import union_categoricals # noqa
File "/home/bcolsen/anaconda3/lib/python3.6/site-packages/pandas/core/dtypes/concat.py", line 6, in <module>
import pandas._libs.tslib as tslib
AttributeError: module 'pandas' has no attribute '_libs'
The new error ends with:
TypeError: Traceback (most recent call last):
File "/home/bcolsen/jedi/jedi/evaluate/compiled/access.py", line 146, in load_module
__import__(dotted_path)
File "/home/bcolsen/anaconda3/lib/python3.6/site-packages/pandas/__init__.py", line 42, in <module>
from pandas.core.api import *
File "/home/bcolsen/anaconda3/lib/python3.6/site-packages/pandas/core/api.py", line 7, in <module>
from pandas.core.algorithms import factorize, unique, value_counts
File "/home/bcolsen/anaconda3/lib/python3.6/site-packages/pandas/core/algorithms.py", line 31, in <module>
from pandas.core import common as com
File "/home/bcolsen/anaconda3/lib/python3.6/site-packages/pandas/core/common.py", line 22, in <module>
from pandas.api import types
File "/home/bcolsen/anaconda3/lib/python3.6/site-packages/pandas/api/types/__init__.py", line 8, in <module>
from pandas.core.dtypes.concat import union_categoricals # noqa
File "/home/bcolsen/anaconda3/lib/python3.6/site-packages/pandas/core/dtypes/concat.py", line 6, in <module>
import pandas._libs.tslib as tslib
AttributeError: module 'pandas' has no attribute '_libs'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/bcolsen/jedi/jedi/evaluate/compiled/subprocess/__init__.py", line 281, in listen
result = False, None, self._run(*payload)
File "/home/bcolsen/jedi/jedi/evaluate/compiled/subprocess/__init__.py", line 264, in _run
return function(evaluator, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/compiled/subprocess/functions.py", line 16, in load_module
return access.load_module(evaluator, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/compiled/access.py", line 155, in load_module
print_to_stderr("Cannot import:\n", traceback.format_exc())
TypeError: print_to_stderr() takes 1 positional argument but 2 were given
My bad. I messed something up. I cannot test this really, therefore it's a bit buggy. Can you try again? Sorry :)
That's better now I get:
>>> import jedi;jedi.Script('''import pandas; pandas.read_csv().m''').completions()
Cannot import:
Traceback (most recent call last):
File "/home/bcolsen/jedi/jedi/evaluate/compiled/access.py", line 146, in load_module
__import__(dotted_path)
File "/home/bcolsen/anaconda3/lib/python3.6/site-packages/pandas/__init__.py", line 42, in <module>
from pandas.core.api import *
File "/home/bcolsen/anaconda3/lib/python3.6/site-packages/pandas/core/api.py", line 7, in <module>
from pandas.core.algorithms import factorize, unique, value_counts
File "/home/bcolsen/anaconda3/lib/python3.6/site-packages/pandas/core/algorithms.py", line 31, in <module>
from pandas.core import common as com
File "/home/bcolsen/anaconda3/lib/python3.6/site-packages/pandas/core/common.py", line 22, in <module>
from pandas.api import types
File "/home/bcolsen/anaconda3/lib/python3.6/site-packages/pandas/api/types/__init__.py", line 8, in <module>
from pandas.core.dtypes.concat import union_categoricals # noqa
File "/home/bcolsen/anaconda3/lib/python3.6/site-packages/pandas/core/dtypes/concat.py", line 6, in <module>
import pandas._libs.tslib as tslib
AttributeError: module 'pandas' has no attribute '_libs'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/bcolsen/jedi/jedi/api/__init__.py", line 158, in completions
completions = completion.completions()
File "/home/bcolsen/jedi/jedi/api/completion.py", line 99, in completions
completion_names = self._get_context_completions()
File "/home/bcolsen/jedi/jedi/api/completion.py", line 198, in _get_context_completions
completion_names += self._trailer_completions(dot.get_previous_leaf())
File "/home/bcolsen/jedi/jedi/api/completion.py", line 233, in _trailer_completions
contexts = evaluate_call_of_leaf(evaluation_context, previous_leaf)
File "/home/bcolsen/jedi/jedi/evaluate/helpers.py", line 102, in evaluate_call_of_leaf
values = eval_trailer(context, values, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 155, in eval_trailer
return base_contexts.execute(args)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 52, in execute
context_set = func(arguments)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 80, in py__call__
return self.infer_function_execution(function_execution)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 70, in infer_function_execution
return function_execution.get_return_values()
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/recursion.py", line 84, in wrapper
result = func(execution, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 152, in get_return_values
context_set |= self.eval_node(children[1])
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 86, in eval_node
context_set = eval_trailer(context, context_set, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 155, in eval_trailer
return base_contexts.execute(args)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 52, in execute
context_set = func(arguments)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 80, in py__call__
return self.infer_function_execution(function_execution)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 70, in infer_function_execution
return function_execution.get_return_values()
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/recursion.py", line 84, in wrapper
result = func(execution, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 152, in get_return_values
context_set |= self.eval_node(children[1])
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 60, in eval_node
return eval_atom(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 174, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 195, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 145, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 67, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 106, in infer
return tree_name_to_contexts(self.parent_context.evaluator, self.parent_context, self.tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 494, in tree_name_to_contexts
types = _remove_statements(evaluator, context, node, tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 440, in _remove_statements
return eval_expr_stmt(context, stmt, seek_name=name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 227, in eval_expr_stmt
return _eval_expr_stmt(context, stmt, seek_name)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 243, in _eval_expr_stmt
context_set = context.eval_node(rhs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 86, in eval_node
context_set = eval_trailer(context, context_set, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 155, in eval_trailer
return base_contexts.execute(args)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 52, in execute
context_set = func(arguments)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 80, in py__call__
return self.infer_function_execution(function_execution)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 70, in infer_function_execution
return function_execution.get_return_values()
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/recursion.py", line 84, in wrapper
result = func(execution, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 152, in get_return_values
context_set |= self.eval_node(children[1])
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 60, in eval_node
return eval_atom(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 174, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 195, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 145, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 67, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 106, in infer
return tree_name_to_contexts(self.parent_context.evaluator, self.parent_context, self.tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 494, in tree_name_to_contexts
types = _remove_statements(evaluator, context, node, tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 440, in _remove_statements
return eval_expr_stmt(context, stmt, seek_name=name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 227, in eval_expr_stmt
return _eval_expr_stmt(context, stmt, seek_name)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 243, in _eval_expr_stmt
context_set = context.eval_node(rhs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 86, in eval_node
context_set = eval_trailer(context, context_set, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 155, in eval_trailer
return base_contexts.execute(args)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 52, in execute
context_set = func(arguments)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 80, in py__call__
return self.infer_function_execution(function_execution)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 70, in infer_function_execution
return function_execution.get_return_values()
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/recursion.py", line 84, in wrapper
result = func(execution, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 136, in get_return_values
check = flow_analysis.reachability_check(self, funcdef, r)
File "/home/bcolsen/jedi/jedi/evaluate/flow_analysis.py", line 76, in reachability_check
return _break_check(context, context_scope, first_flow_scope, node)
File "/home/bcolsen/jedi/jedi/evaluate/flow_analysis.py", line 91, in _break_check
reachable = _check_if(context, flow_node)
File "/home/bcolsen/jedi/jedi/evaluate/flow_analysis.py", line 107, in _check_if
types = context.eval_node(node)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 86, in eval_node
context_set = eval_trailer(context, context_set, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 150, in eval_trailer
name_or_str=node
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 195, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 145, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 67, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 106, in infer
return tree_name_to_contexts(self.parent_context.evaluator, self.parent_context, self.tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 494, in tree_name_to_contexts
types = _remove_statements(evaluator, context, node, tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 440, in _remove_statements
return eval_expr_stmt(context, stmt, seek_name=name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 227, in eval_expr_stmt
return _eval_expr_stmt(context, stmt, seek_name)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 243, in _eval_expr_stmt
context_set = context.eval_node(rhs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 74, in eval_node
context_set = eval_atom(context, first_child)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 174, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 195, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 145, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 67, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 124, in infer
return self.get_param().infer()
File "/home/bcolsen/jedi/jedi/evaluate/param.py", line 34, in infer
return self._lazy_context.infer()
File "/home/bcolsen/jedi/jedi/evaluate/lazy_context.py", line 46, in infer
return self._context.eval_node(self.data)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 86, in eval_node
context_set = eval_trailer(context, context_set, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 150, in eval_trailer
name_or_str=node
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 195, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 145, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 67, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 106, in infer
return tree_name_to_contexts(self.parent_context.evaluator, self.parent_context, self.tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 494, in tree_name_to_contexts
types = _remove_statements(evaluator, context, node, tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 440, in _remove_statements
return eval_expr_stmt(context, stmt, seek_name=name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 227, in eval_expr_stmt
return _eval_expr_stmt(context, stmt, seek_name)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 243, in _eval_expr_stmt
context_set = context.eval_node(rhs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 60, in eval_node
return eval_atom(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 174, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 195, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 145, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 67, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 124, in infer
return self.get_param().infer()
File "/home/bcolsen/jedi/jedi/evaluate/param.py", line 34, in infer
return self._lazy_context.infer()
File "/home/bcolsen/jedi/jedi/evaluate/lazy_context.py", line 46, in infer
return self._context.eval_node(self.data)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 60, in eval_node
return eval_atom(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 174, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 195, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 145, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 67, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 106, in infer
return tree_name_to_contexts(self.parent_context.evaluator, self.parent_context, self.tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 494, in tree_name_to_contexts
types = _remove_statements(evaluator, context, node, tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 440, in _remove_statements
return eval_expr_stmt(context, stmt, seek_name=name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 227, in eval_expr_stmt
return _eval_expr_stmt(context, stmt, seek_name)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 243, in _eval_expr_stmt
context_set = context.eval_node(rhs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 86, in eval_node
context_set = eval_trailer(context, context_set, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 155, in eval_trailer
return base_contexts.execute(args)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 52, in execute
context_set = func(arguments)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 80, in py__call__
return self.infer_function_execution(function_execution)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 70, in infer_function_execution
return function_execution.get_return_values()
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/recursion.py", line 84, in wrapper
result = func(execution, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 136, in get_return_values
check = flow_analysis.reachability_check(self, funcdef, r)
File "/home/bcolsen/jedi/jedi/evaluate/flow_analysis.py", line 76, in reachability_check
return _break_check(context, context_scope, first_flow_scope, node)
File "/home/bcolsen/jedi/jedi/evaluate/flow_analysis.py", line 91, in _break_check
reachable = _check_if(context, flow_node)
File "/home/bcolsen/jedi/jedi/evaluate/flow_analysis.py", line 107, in _check_if
types = context.eval_node(node)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 86, in eval_node
context_set = eval_trailer(context, context_set, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 155, in eval_trailer
return base_contexts.execute(args)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 52, in execute
context_set = func(arguments)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 80, in py__call__
return self.infer_function_execution(function_execution)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 70, in infer_function_execution
return function_execution.get_return_values()
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/recursion.py", line 84, in wrapper
result = func(execution, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 152, in get_return_values
context_set |= self.eval_node(children[1])
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 118, in eval_node
return eval_or_test(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 282, in eval_or_test
types = context.eval_node(next(iterator))
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 86, in eval_node
context_set = eval_trailer(context, context_set, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 155, in eval_trailer
return base_contexts.execute(args)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 52, in execute
context_set = func(arguments)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 80, in py__call__
return self.infer_function_execution(function_execution)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 70, in infer_function_execution
return function_execution.get_return_values()
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/recursion.py", line 84, in wrapper
result = func(execution, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 152, in get_return_values
context_set |= self.eval_node(children[1])
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 74, in eval_node
context_set = eval_atom(context, first_child)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 174, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 195, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 145, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 67, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 106, in infer
return tree_name_to_contexts(self.parent_context.evaluator, self.parent_context, self.tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 494, in tree_name_to_contexts
types = _remove_statements(evaluator, context, node, tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 440, in _remove_statements
return eval_expr_stmt(context, stmt, seek_name=name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 227, in eval_expr_stmt
return _eval_expr_stmt(context, stmt, seek_name)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 243, in _eval_expr_stmt
context_set = context.eval_node(rhs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 86, in eval_node
context_set = eval_trailer(context, context_set, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 155, in eval_trailer
return base_contexts.execute(args)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 52, in execute
context_set = func(arguments)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 80, in py__call__
return self.infer_function_execution(function_execution)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 70, in infer_function_execution
return function_execution.get_return_values()
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/recursion.py", line 84, in wrapper
result = func(execution, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 136, in get_return_values
check = flow_analysis.reachability_check(self, funcdef, r)
File "/home/bcolsen/jedi/jedi/evaluate/flow_analysis.py", line 76, in reachability_check
return _break_check(context, context_scope, first_flow_scope, node)
File "/home/bcolsen/jedi/jedi/evaluate/flow_analysis.py", line 91, in _break_check
reachable = _check_if(context, flow_node)
File "/home/bcolsen/jedi/jedi/evaluate/flow_analysis.py", line 107, in _check_if
types = context.eval_node(node)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 60, in eval_node
return eval_atom(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 174, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 195, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 145, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 67, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 106, in infer
return tree_name_to_contexts(self.parent_context.evaluator, self.parent_context, self.tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 494, in tree_name_to_contexts
types = _remove_statements(evaluator, context, node, tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 440, in _remove_statements
return eval_expr_stmt(context, stmt, seek_name=name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 227, in eval_expr_stmt
return _eval_expr_stmt(context, stmt, seek_name)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 243, in _eval_expr_stmt
context_set = context.eval_node(rhs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 86, in eval_node
context_set = eval_trailer(context, context_set, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 155, in eval_trailer
return base_contexts.execute(args)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 42, in execute
return stdlib.execute(self.evaluator, self, arguments)
File "/home/bcolsen/jedi/jedi/evaluate/stdlib.py", line 73, in execute
return func(evaluator, obj, arguments)
File "/home/bcolsen/jedi/jedi/evaluate/stdlib.py", line 112, in wrapper
lst = list(arguments.eval_argument_clinic(clinic_args))
File "/home/bcolsen/jedi/jedi/evaluate/arguments.py", line 47, in eval_argument_clinic
values = NO_CONTEXTS if argument is None else argument.infer()
File "/home/bcolsen/jedi/jedi/evaluate/lazy_context.py", line 46, in infer
return self._context.eval_node(self.data)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 86, in eval_node
context_set = eval_trailer(context, context_set, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 143, in eval_trailer
ContextualizedNode(context, trailer)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 119, in get_item
result |= getitem(index)
File "/home/bcolsen/jedi/jedi/evaluate/context/iterable.py", line 429, in py__getitem__
return self._lazy_context_list[index].infer()
File "/home/bcolsen/jedi/jedi/evaluate/lazy_context.py", line 46, in infer
return self._context.eval_node(self.data)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 60, in eval_node
return eval_atom(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 174, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 195, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 145, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 67, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 124, in infer
return self.get_param().infer()
File "/home/bcolsen/jedi/jedi/evaluate/param.py", line 34, in infer
return self._lazy_context.infer()
File "/home/bcolsen/jedi/jedi/evaluate/lazy_context.py", line 46, in infer
return self._context.eval_node(self.data)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 60, in eval_node
return eval_atom(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 174, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 195, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 145, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 67, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 124, in infer
return self.get_param().infer()
File "/home/bcolsen/jedi/jedi/evaluate/param.py", line 34, in infer
return self._lazy_context.infer()
File "/home/bcolsen/jedi/jedi/evaluate/lazy_context.py", line 46, in infer
return self._context.eval_node(self.data)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 60, in eval_node
return eval_atom(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 174, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 195, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 145, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 67, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 106, in infer
return tree_name_to_contexts(self.parent_context.evaluator, self.parent_context, self.tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 494, in tree_name_to_contexts
types = _remove_statements(evaluator, context, node, tree_name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 440, in _remove_statements
return eval_expr_stmt(context, stmt, seek_name=name)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 227, in eval_expr_stmt
return _eval_expr_stmt(context, stmt, seek_name)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 243, in _eval_expr_stmt
context_set = context.eval_node(rhs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 86, in eval_node
context_set = eval_trailer(context, context_set, trailer)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 155, in eval_trailer
return base_contexts.execute(args)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in mapper
for context in self._set
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/common/context.py", line 65, in <genexpr>
for context in self._set
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 52, in execute
context_set = func(arguments)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 80, in py__call__
return self.infer_function_execution(function_execution)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 70, in infer_function_execution
return function_execution.get_return_values()
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/recursion.py", line 84, in wrapper
result = func(execution, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/context/function.py", line 152, in get_return_values
context_set |= self.eval_node(children[1])
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 74, in eval_node
context_set = eval_atom(context, first_child)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 174, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 195, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 145, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 67, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 124, in infer
return self.get_param().infer()
File "/home/bcolsen/jedi/jedi/evaluate/param.py", line 34, in infer
return self._lazy_context.infer()
File "/home/bcolsen/jedi/jedi/evaluate/lazy_context.py", line 46, in infer
return self._context.eval_node(self.data)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 60, in eval_node
return eval_atom(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 174, in eval_atom
search_global=True
File "/home/bcolsen/jedi/jedi/_compatibility.py", line 195, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 145, in py__getattribute__
return f.find(filters, attribute_lookup=not search_global)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 67, in find
types = self._names_to_types(names, attribute_lookup)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in _names_to_types
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/common/context.py", line 34, in from_sets
sets = list(sets)
File "/home/bcolsen/jedi/jedi/evaluate/finder.py", line 159, in <genexpr>
contexts = ContextSet.from_sets(name.infer() for name in names)
File "/home/bcolsen/jedi/jedi/evaluate/filters.py", line 124, in infer
return self.get_param().infer()
File "/home/bcolsen/jedi/jedi/evaluate/param.py", line 30, in infer
doc_params = docstrings.infer_param(self._execution_context, self._param_node)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/docstrings.py", line 275, in infer_param
types = eval_docstring(execution_context.py__doc__())
File "/home/bcolsen/jedi/jedi/evaluate/docstrings.py", line 267, in eval_docstring
for param_str in _search_param_in_docstr(docstring, param.name.value)
File "/home/bcolsen/jedi/jedi/common/context.py", line 20, in from_iterable
return cls.from_set(set(iterable))
File "/home/bcolsen/jedi/jedi/evaluate/docstrings.py", line 268, in <genexpr>
for p in _evaluate_for_statement_string(module_context, param_str)
File "/home/bcolsen/jedi/jedi/evaluate/docstrings.py", line 225, in _evaluate_for_statement_string
return list(_execute_types_in_stmt(func_execution_context, stmt))
File "/home/bcolsen/jedi/jedi/evaluate/docstrings.py", line 234, in _execute_types_in_stmt
definitions = module_context.eval_node(stmt)
File "/home/bcolsen/jedi/jedi/evaluate/base_context.py", line 128, in eval_node
return self.evaluator.eval_element(self, node)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 194, in eval_element
return self._eval_element_if_evaluated(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 206, in _eval_element_if_evaluated
return self._eval_element_cached(context, element)
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 210, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 105, in eval_node
assert element.value in ('.', '...'), "The unhandled operator %s" % repr(element.value)
AssertionError: The unhandled operator '('
Thanks for the report. I finally found the issue.
I still have the same error on latest master. The lines numbers are different now.
File "/home/bcolsen/jedi/jedi/evaluate/cache.py", line 40, in wrapper
rv = function(obj, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/__init__.py", line 209, in _eval_element_cached
return eval_node(context, element)
File "/home/bcolsen/jedi/jedi/debug.py", line 79, in wrapper
return func(*args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 48, in wrapper
return func(context, *args, **kwargs)
File "/home/bcolsen/jedi/jedi/evaluate/syntax_tree.py", line 128, in eval_node
assert element.value in ('.', '...'), "The unhandled operator %s" % repr(element.value)
AssertionError: The unhandled operator '('
I had a hard time reproducing it, but finally I think I found it. It should be better now. Please try again!
It takes ages to actually complete. And that's probably the next thing we have to work on, but there's tickets for that (like #520).
It works now!
>>> import jedi;jedi.Script('''import pandas; pandas.read_csv().m''').completions()
[<Completion: mad>, <Completion: mask>, <Completion: max>, <Completion: mean>,
<Completion: median>, <Completion: melt>, <Completion: memory_usage>, <Completion: merge>,
<Completion: min>, <Completion: mode>]
It did take about 10 seconds to complete, but that is #520 territory for sure
Thank you!