In [1]: import jedi
In [2]: jedi.__version__
Out[2]: '0.9.0'
In [3]: text = """
import requests
result = requests.get('http://www.gnu.org/')
result."""
In [4]: s = jedi.Script(text, 4, 7, '/home/aamalyshev/Source/test.py')
In [5]: s.completions()
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-5-0e4716f5b036> in <module>()
----> 1 s.completions()
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/api/__init__.py in completions(self)
186
187 b = compiled.builtin
--> 188 completion_names = get_completions(user_stmt, b)
189
190 if not dot:
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/api/__init__.py in get_completions(user_stmt, bs)
172 # TODO delete? We should search for valid parser
173 # transformations.
--> 174 completion_names += self._simple_complete(path, dot, like)
175 return completion_names
176
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/api/__init__.py in _simple_complete(self, path, dot, like)
248 return []
249 else:
--> 250 scopes = list(self._prepare_goto(path, True))
251 completion_names = []
252 debug.dbg('possible completion scopes: %s', scopes)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/api/__init__.py in _prepare_goto(self, goto_path, is_completion)
292 return i.follow()
293
--> 294 scopes = self._evaluator.eval_element(eval_stmt)
295
296 return scopes
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/cache.py in wrapper(obj, *args, **kwargs)
39 if default is not NO_DEFAULT:
40 memo[key] = default
---> 41 rv = function(obj, *args, **kwargs)
42 if inspect.isgenerator(rv):
43 rv = list(rv)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in eval_element(self, element)
167 debug.dbg('eval_element %s@%s', element, element.start_pos)
168 if isinstance(element, (tree.Name, tree.Literal)) or tree.is_node(element, 'atom'):
--> 169 return self._eval_atom(element)
170 elif isinstance(element, tree.Keyword):
171 # For False/True/None
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in _eval_atom(self, atom)
228 # there the name cannot be used.
229 stmt = atom
--> 230 return self.find_types(scope, atom, stmt.start_pos, search_global=True)
231 elif isinstance(atom, tree.Literal):
232 return [compiled.create(self, atom.eval())]
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in find_types(self, scope, name_str, position, search_global, is_goto)
118 if is_goto:
119 return f.filter_name(scopes)
--> 120 return f.find(scopes, search_global)
121
122 @memoize_default(default=[], evaluator_is_first_arg=True)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/debug.py in wrapper(*args, **kwargs)
50 _debug_indent += 1
51 try:
---> 52 result = func(*args, **kwargs)
53 finally:
54 _debug_indent -= 1
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/finder.py in find(self, scopes, search_global)
85 # TODO rename scopes to names_dicts
86 names = self.filter_name(scopes)
---> 87 types = self._names_to_types(names, search_global)
88
89 if not names and not types \
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/finder.py in _names_to_types(self, names, search_global)
231
232 for name in names:
--> 233 new_types = _name_to_types(self._evaluator, name, self.scope)
234 if isinstance(self.scope, (er.Class, er.Instance)) and not search_global:
235 types += self._resolve_descriptors(name, new_types)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/cache.py in wrapper(obj, *args, **kwargs)
39 if default is not NO_DEFAULT:
40 memo[key] = default
---> 41 rv = function(obj, *args, **kwargs)
42 if inspect.isgenerator(rv):
43 rv = list(rv)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/finder.py in _name_to_types(evaluator, name, scope)
276 types += _eval_param(evaluator, typ, scope)
277 elif typ.isinstance(tree.ExprStmt):
--> 278 types += _remove_statements(evaluator, typ, name)
279 elif typ.isinstance(tree.WithStmt):
280 types += evaluator.eval_element(typ.node_from_name(name))
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/finder.py in _remove_statements(evaluator, stmt, name)
321 stmt = stmt.var
322
--> 323 types += evaluator.eval_statement(stmt, seek_name=name)
324
325 if check_instance is not None:
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/cache.py in wrapper(obj, *args, **kwargs)
39 if default is not NO_DEFAULT:
40 memo[key] = default
---> 41 rv = function(obj, *args, **kwargs)
42 if inspect.isgenerator(rv):
43 rv = list(rv)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/recursion.py in run(evaluator, stmt, *args, **kwargs)
21 return []
22 else:
---> 23 result = func(evaluator, stmt, *args, **kwargs)
24 rec_detect.pop_stmt()
25 return result
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/debug.py in wrapper(*args, **kwargs)
50 _debug_indent += 1
51 try:
---> 52 result = func(*args, **kwargs)
53 finally:
54 _debug_indent -= 1
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in eval_statement(self, stmt, seek_name)
133 """
134 debug.dbg('eval_statement %s (%s)', stmt, seek_name)
--> 135 types = self.eval_element(stmt.get_rhs())
136
137 if seek_name:
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/cache.py in wrapper(obj, *args, **kwargs)
39 if default is not NO_DEFAULT:
40 memo[key] = default
---> 41 rv = function(obj, *args, **kwargs)
42 if inspect.isgenerator(rv):
43 rv = list(rv)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in eval_element(self, element)
185 if trailer == '**': # has a power operation.
186 raise NotImplementedError
--> 187 types = self.eval_trailer(types, trailer)
188
189 return types
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in eval_trailer(self, types, trailer)
257 new_types += self.find_types(typ, node)
258 elif trailer_op == '(':
--> 259 new_types += self.execute(typ, node, trailer)
260 elif trailer_op == '[':
261 try:
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/debug.py in wrapper(*args, **kwargs)
50 _debug_indent += 1
51 try:
---> 52 result = func(*args, **kwargs)
53 finally:
54 _debug_indent -= 1
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in execute(self, obj, arguments, trailer)
297 return []
298 else:
--> 299 types = func(self, arguments)
300 debug.dbg('execute result: %s in %s', types, obj)
301 return types
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/_compatibility.py in <lambda>(*args, **kwargs)
122 return lambda *args, **kwargs: self.func(*args, **kwargs)
123 else:
--> 124 return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
125
126
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/representation.py in py__call__(self, evaluator, params)
558 return [iterable.Generator(evaluator, self, params)]
559 else:
--> 560 return FunctionExecution(evaluator, self, params).get_return_types()
561
562 def __getattr__(self, name):
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/cache.py in wrapper(obj, *args, **kwargs)
39 if default is not NO_DEFAULT:
40 memo[key] = default
---> 41 rv = function(obj, *args, **kwargs)
42 if inspect.isgenerator(rv):
43 rv = list(rv)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/recursion.py in run(execution, **kwargs)
98 result = []
99 else:
--> 100 result = func(execution, **kwargs)
101 detector.pop_execution()
102 return result
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/representation.py in get_return_types(self, check_yields)
622 debug.dbg('Return unreachable: %s', r)
623 else:
--> 624 types += self._evaluator.eval_element(r.children[1])
625 if check is flow_analysis.REACHABLE:
626 debug.dbg('Return reachable: %s', r)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/cache.py in wrapper(obj, *args, **kwargs)
39 if default is not NO_DEFAULT:
40 memo[key] = default
---> 41 rv = function(obj, *args, **kwargs)
42 if inspect.isgenerator(rv):
43 rv = list(rv)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in eval_element(self, element)
185 if trailer == '**': # has a power operation.
186 raise NotImplementedError
--> 187 types = self.eval_trailer(types, trailer)
188
189 return types
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in eval_trailer(self, types, trailer)
257 new_types += self.find_types(typ, node)
258 elif trailer_op == '(':
--> 259 new_types += self.execute(typ, node, trailer)
260 elif trailer_op == '[':
261 try:
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/debug.py in wrapper(*args, **kwargs)
50 _debug_indent += 1
51 try:
---> 52 result = func(*args, **kwargs)
53 finally:
54 _debug_indent -= 1
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in execute(self, obj, arguments, trailer)
297 return []
298 else:
--> 299 types = func(self, arguments)
300 debug.dbg('execute result: %s in %s', types, obj)
301 return types
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/_compatibility.py in <lambda>(*args, **kwargs)
122 return lambda *args, **kwargs: self.func(*args, **kwargs)
123 else:
--> 124 return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
125
126
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/representation.py in py__call__(self, evaluator, params)
558 return [iterable.Generator(evaluator, self, params)]
559 else:
--> 560 return FunctionExecution(evaluator, self, params).get_return_types()
561
562 def __getattr__(self, name):
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/cache.py in wrapper(obj, *args, **kwargs)
39 if default is not NO_DEFAULT:
40 memo[key] = default
---> 41 rv = function(obj, *args, **kwargs)
42 if inspect.isgenerator(rv):
43 rv = list(rv)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/recursion.py in run(execution, **kwargs)
98 result = []
99 else:
--> 100 result = func(execution, **kwargs)
101 detector.pop_execution()
102 return result
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/representation.py in get_return_types(self, check_yields)
622 debug.dbg('Return unreachable: %s', r)
623 else:
--> 624 types += self._evaluator.eval_element(r.children[1])
625 if check is flow_analysis.REACHABLE:
626 debug.dbg('Return reachable: %s', r)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/cache.py in wrapper(obj, *args, **kwargs)
39 if default is not NO_DEFAULT:
40 memo[key] = default
---> 41 rv = function(obj, *args, **kwargs)
42 if inspect.isgenerator(rv):
43 rv = list(rv)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in eval_element(self, element)
167 debug.dbg('eval_element %s@%s', element, element.start_pos)
168 if isinstance(element, (tree.Name, tree.Literal)) or tree.is_node(element, 'atom'):
--> 169 return self._eval_atom(element)
170 elif isinstance(element, tree.Keyword):
171 # For False/True/None
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in _eval_atom(self, atom)
228 # there the name cannot be used.
229 stmt = atom
--> 230 return self.find_types(scope, atom, stmt.start_pos, search_global=True)
231 elif isinstance(atom, tree.Literal):
232 return [compiled.create(self, atom.eval())]
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in find_types(self, scope, name_str, position, search_global, is_goto)
118 if is_goto:
119 return f.filter_name(scopes)
--> 120 return f.find(scopes, search_global)
121
122 @memoize_default(default=[], evaluator_is_first_arg=True)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/debug.py in wrapper(*args, **kwargs)
50 _debug_indent += 1
51 try:
---> 52 result = func(*args, **kwargs)
53 finally:
54 _debug_indent -= 1
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/finder.py in find(self, scopes, search_global)
85 # TODO rename scopes to names_dicts
86 names = self.filter_name(scopes)
---> 87 types = self._names_to_types(names, search_global)
88
89 if not names and not types \
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/finder.py in _names_to_types(self, names, search_global)
231
232 for name in names:
--> 233 new_types = _name_to_types(self._evaluator, name, self.scope)
234 if isinstance(self.scope, (er.Class, er.Instance)) and not search_global:
235 types += self._resolve_descriptors(name, new_types)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/cache.py in wrapper(obj, *args, **kwargs)
39 if default is not NO_DEFAULT:
40 memo[key] = default
---> 41 rv = function(obj, *args, **kwargs)
42 if inspect.isgenerator(rv):
43 rv = list(rv)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/finder.py in _name_to_types(evaluator, name, scope)
276 types += _eval_param(evaluator, typ, scope)
277 elif typ.isinstance(tree.ExprStmt):
--> 278 types += _remove_statements(evaluator, typ, name)
279 elif typ.isinstance(tree.WithStmt):
280 types += evaluator.eval_element(typ.node_from_name(name))
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/finder.py in _remove_statements(evaluator, stmt, name)
321 stmt = stmt.var
322
--> 323 types += evaluator.eval_statement(stmt, seek_name=name)
324
325 if check_instance is not None:
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/cache.py in wrapper(obj, *args, **kwargs)
39 if default is not NO_DEFAULT:
40 memo[key] = default
---> 41 rv = function(obj, *args, **kwargs)
42 if inspect.isgenerator(rv):
43 rv = list(rv)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/recursion.py in run(evaluator, stmt, *args, **kwargs)
21 return []
22 else:
---> 23 result = func(evaluator, stmt, *args, **kwargs)
24 rec_detect.pop_stmt()
25 return result
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/debug.py in wrapper(*args, **kwargs)
50 _debug_indent += 1
51 try:
---> 52 result = func(*args, **kwargs)
53 finally:
54 _debug_indent -= 1
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in eval_statement(self, stmt, seek_name)
133 """
134 debug.dbg('eval_statement %s (%s)', stmt, seek_name)
--> 135 types = self.eval_element(stmt.get_rhs())
136
137 if seek_name:
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/cache.py in wrapper(obj, *args, **kwargs)
39 if default is not NO_DEFAULT:
40 memo[key] = default
---> 41 rv = function(obj, *args, **kwargs)
42 if inspect.isgenerator(rv):
43 rv = list(rv)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in eval_element(self, element)
185 if trailer == '**': # has a power operation.
186 raise NotImplementedError
--> 187 types = self.eval_trailer(types, trailer)
188
189 return types
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in eval_trailer(self, types, trailer)
257 new_types += self.find_types(typ, node)
258 elif trailer_op == '(':
--> 259 new_types += self.execute(typ, node, trailer)
260 elif trailer_op == '[':
261 try:
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/debug.py in wrapper(*args, **kwargs)
50 _debug_indent += 1
51 try:
---> 52 result = func(*args, **kwargs)
53 finally:
54 _debug_indent -= 1
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in execute(self, obj, arguments, trailer)
297 return []
298 else:
--> 299 types = func(self, arguments)
300 debug.dbg('execute result: %s in %s', types, obj)
301 return types
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/representation.py in py__call__(self, evaluator, params)
362 return self.var.py__call__(evaluator, params)
363 else:
--> 364 return Function.py__call__(self, evaluator, params)
365
366 def __repr__(self):
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/_compatibility.py in <lambda>(*args, **kwargs)
120 def __get__(self, obj, objtype):
121 if obj is None:
--> 122 return lambda *args, **kwargs: self.func(*args, **kwargs)
123 else:
124 return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/representation.py in py__call__(self, evaluator, params)
558 return [iterable.Generator(evaluator, self, params)]
559 else:
--> 560 return FunctionExecution(evaluator, self, params).get_return_types()
561
562 def __getattr__(self, name):
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/cache.py in wrapper(obj, *args, **kwargs)
39 if default is not NO_DEFAULT:
40 memo[key] = default
---> 41 rv = function(obj, *args, **kwargs)
42 if inspect.isgenerator(rv):
43 rv = list(rv)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/recursion.py in run(execution, **kwargs)
98 result = []
99 else:
--> 100 result = func(execution, **kwargs)
101 detector.pop_execution()
102 return result
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/representation.py in get_return_types(self, check_yields)
622 debug.dbg('Return unreachable: %s', r)
623 else:
--> 624 types += self._evaluator.eval_element(r.children[1])
625 if check is flow_analysis.REACHABLE:
626 debug.dbg('Return reachable: %s', r)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/cache.py in wrapper(obj, *args, **kwargs)
39 if default is not NO_DEFAULT:
40 memo[key] = default
---> 41 rv = function(obj, *args, **kwargs)
42 if inspect.isgenerator(rv):
43 rv = list(rv)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in eval_element(self, element)
167 debug.dbg('eval_element %s@%s', element, element.start_pos)
168 if isinstance(element, (tree.Name, tree.Literal)) or tree.is_node(element, 'atom'):
--> 169 return self._eval_atom(element)
170 elif isinstance(element, tree.Keyword):
171 # For False/True/None
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in _eval_atom(self, atom)
228 # there the name cannot be used.
229 stmt = atom
--> 230 return self.find_types(scope, atom, stmt.start_pos, search_global=True)
231 elif isinstance(atom, tree.Literal):
232 return [compiled.create(self, atom.eval())]
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in find_types(self, scope, name_str, position, search_global, is_goto)
118 if is_goto:
119 return f.filter_name(scopes)
--> 120 return f.find(scopes, search_global)
121
122 @memoize_default(default=[], evaluator_is_first_arg=True)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/debug.py in wrapper(*args, **kwargs)
50 _debug_indent += 1
51 try:
---> 52 result = func(*args, **kwargs)
53 finally:
54 _debug_indent -= 1
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/finder.py in find(self, scopes, search_global)
85 # TODO rename scopes to names_dicts
86 names = self.filter_name(scopes)
---> 87 types = self._names_to_types(names, search_global)
88
89 if not names and not types \
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/finder.py in _names_to_types(self, names, search_global)
231
232 for name in names:
--> 233 new_types = _name_to_types(self._evaluator, name, self.scope)
234 if isinstance(self.scope, (er.Class, er.Instance)) and not search_global:
235 types += self._resolve_descriptors(name, new_types)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/cache.py in wrapper(obj, *args, **kwargs)
39 if default is not NO_DEFAULT:
40 memo[key] = default
---> 41 rv = function(obj, *args, **kwargs)
42 if inspect.isgenerator(rv):
43 rv = list(rv)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/finder.py in _name_to_types(evaluator, name, scope)
276 types += _eval_param(evaluator, typ, scope)
277 elif typ.isinstance(tree.ExprStmt):
--> 278 types += _remove_statements(evaluator, typ, name)
279 elif typ.isinstance(tree.WithStmt):
280 types += evaluator.eval_element(typ.node_from_name(name))
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/finder.py in _remove_statements(evaluator, stmt, name)
321 stmt = stmt.var
322
--> 323 types += evaluator.eval_statement(stmt, seek_name=name)
324
325 if check_instance is not None:
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/cache.py in wrapper(obj, *args, **kwargs)
39 if default is not NO_DEFAULT:
40 memo[key] = default
---> 41 rv = function(obj, *args, **kwargs)
42 if inspect.isgenerator(rv):
43 rv = list(rv)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/recursion.py in run(evaluator, stmt, *args, **kwargs)
21 return []
22 else:
---> 23 result = func(evaluator, stmt, *args, **kwargs)
24 rec_detect.pop_stmt()
25 return result
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/debug.py in wrapper(*args, **kwargs)
50 _debug_indent += 1
51 try:
---> 52 result = func(*args, **kwargs)
53 finally:
54 _debug_indent -= 1
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in eval_statement(self, stmt, seek_name)
133 """
134 debug.dbg('eval_statement %s (%s)', stmt, seek_name)
--> 135 types = self.eval_element(stmt.get_rhs())
136
137 if seek_name:
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/cache.py in wrapper(obj, *args, **kwargs)
39 if default is not NO_DEFAULT:
40 memo[key] = default
---> 41 rv = function(obj, *args, **kwargs)
42 if inspect.isgenerator(rv):
43 rv = list(rv)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in eval_element(self, element)
185 if trailer == '**': # has a power operation.
186 raise NotImplementedError
--> 187 types = self.eval_trailer(types, trailer)
188
189 return types
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in eval_trailer(self, types, trailer)
257 new_types += self.find_types(typ, node)
258 elif trailer_op == '(':
--> 259 new_types += self.execute(typ, node, trailer)
260 elif trailer_op == '[':
261 try:
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/debug.py in wrapper(*args, **kwargs)
50 _debug_indent += 1
51 try:
---> 52 result = func(*args, **kwargs)
53 finally:
54 _debug_indent -= 1
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in execute(self, obj, arguments, trailer)
297 return []
298 else:
--> 299 types = func(self, arguments)
300 debug.dbg('execute result: %s in %s', types, obj)
301 return types
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/representation.py in py__call__(self, evaluator, params)
362 return self.var.py__call__(evaluator, params)
363 else:
--> 364 return Function.py__call__(self, evaluator, params)
365
366 def __repr__(self):
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/_compatibility.py in <lambda>(*args, **kwargs)
120 def __get__(self, obj, objtype):
121 if obj is None:
--> 122 return lambda *args, **kwargs: self.func(*args, **kwargs)
123 else:
124 return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/representation.py in py__call__(self, evaluator, params)
558 return [iterable.Generator(evaluator, self, params)]
559 else:
--> 560 return FunctionExecution(evaluator, self, params).get_return_types()
561
562 def __getattr__(self, name):
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/cache.py in wrapper(obj, *args, **kwargs)
39 if default is not NO_DEFAULT:
40 memo[key] = default
---> 41 rv = function(obj, *args, **kwargs)
42 if inspect.isgenerator(rv):
43 rv = list(rv)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/recursion.py in run(execution, **kwargs)
98 result = []
99 else:
--> 100 result = func(execution, **kwargs)
101 detector.pop_execution()
102 return result
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/representation.py in get_return_types(self, check_yields)
622 debug.dbg('Return unreachable: %s', r)
623 else:
--> 624 types += self._evaluator.eval_element(r.children[1])
625 if check is flow_analysis.REACHABLE:
626 debug.dbg('Return reachable: %s', r)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/cache.py in wrapper(obj, *args, **kwargs)
39 if default is not NO_DEFAULT:
40 memo[key] = default
---> 41 rv = function(obj, *args, **kwargs)
42 if inspect.isgenerator(rv):
43 rv = list(rv)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in eval_element(self, element)
167 debug.dbg('eval_element %s@%s', element, element.start_pos)
168 if isinstance(element, (tree.Name, tree.Literal)) or tree.is_node(element, 'atom'):
--> 169 return self._eval_atom(element)
170 elif isinstance(element, tree.Keyword):
171 # For False/True/None
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in _eval_atom(self, atom)
228 # there the name cannot be used.
229 stmt = atom
--> 230 return self.find_types(scope, atom, stmt.start_pos, search_global=True)
231 elif isinstance(atom, tree.Literal):
232 return [compiled.create(self, atom.eval())]
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in find_types(self, scope, name_str, position, search_global, is_goto)
118 if is_goto:
119 return f.filter_name(scopes)
--> 120 return f.find(scopes, search_global)
121
122 @memoize_default(default=[], evaluator_is_first_arg=True)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/debug.py in wrapper(*args, **kwargs)
50 _debug_indent += 1
51 try:
---> 52 result = func(*args, **kwargs)
53 finally:
54 _debug_indent -= 1
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/finder.py in find(self, scopes, search_global)
85 # TODO rename scopes to names_dicts
86 names = self.filter_name(scopes)
---> 87 types = self._names_to_types(names, search_global)
88
89 if not names and not types \
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/finder.py in _names_to_types(self, names, search_global)
231
232 for name in names:
--> 233 new_types = _name_to_types(self._evaluator, name, self.scope)
234 if isinstance(self.scope, (er.Class, er.Instance)) and not search_global:
235 types += self._resolve_descriptors(name, new_types)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/cache.py in wrapper(obj, *args, **kwargs)
39 if default is not NO_DEFAULT:
40 memo[key] = default
---> 41 rv = function(obj, *args, **kwargs)
42 if inspect.isgenerator(rv):
43 rv = list(rv)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/finder.py in _name_to_types(evaluator, name, scope)
276 types += _eval_param(evaluator, typ, scope)
277 elif typ.isinstance(tree.ExprStmt):
--> 278 types += _remove_statements(evaluator, typ, name)
279 elif typ.isinstance(tree.WithStmt):
280 types += evaluator.eval_element(typ.node_from_name(name))
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/finder.py in _remove_statements(evaluator, stmt, name)
321 stmt = stmt.var
322
--> 323 types += evaluator.eval_statement(stmt, seek_name=name)
324
325 if check_instance is not None:
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/cache.py in wrapper(obj, *args, **kwargs)
39 if default is not NO_DEFAULT:
40 memo[key] = default
---> 41 rv = function(obj, *args, **kwargs)
42 if inspect.isgenerator(rv):
43 rv = list(rv)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/recursion.py in run(evaluator, stmt, *args, **kwargs)
21 return []
22 else:
---> 23 result = func(evaluator, stmt, *args, **kwargs)
24 rec_detect.pop_stmt()
25 return result
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/debug.py in wrapper(*args, **kwargs)
50 _debug_indent += 1
51 try:
---> 52 result = func(*args, **kwargs)
53 finally:
54 _debug_indent -= 1
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in eval_statement(self, stmt, seek_name)
133 """
134 debug.dbg('eval_statement %s (%s)', stmt, seek_name)
--> 135 types = self.eval_element(stmt.get_rhs())
136
137 if seek_name:
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/cache.py in wrapper(obj, *args, **kwargs)
39 if default is not NO_DEFAULT:
40 memo[key] = default
---> 41 rv = function(obj, *args, **kwargs)
42 if inspect.isgenerator(rv):
43 rv = list(rv)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in eval_element(self, element)
185 if trailer == '**': # has a power operation.
186 raise NotImplementedError
--> 187 types = self.eval_trailer(types, trailer)
188
189 return types
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in eval_trailer(self, types, trailer)
257 new_types += self.find_types(typ, node)
258 elif trailer_op == '(':
--> 259 new_types += self.execute(typ, node, trailer)
260 elif trailer_op == '[':
261 try:
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/debug.py in wrapper(*args, **kwargs)
50 _debug_indent += 1
51 try:
---> 52 result = func(*args, **kwargs)
53 finally:
54 _debug_indent -= 1
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in execute(self, obj, arguments, trailer)
297 return []
298 else:
--> 299 types = func(self, arguments)
300 debug.dbg('execute result: %s in %s', types, obj)
301 return types
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/representation.py in py__call__(self, evaluator, params)
362 return self.var.py__call__(evaluator, params)
363 else:
--> 364 return Function.py__call__(self, evaluator, params)
365
366 def __repr__(self):
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/_compatibility.py in <lambda>(*args, **kwargs)
120 def __get__(self, obj, objtype):
121 if obj is None:
--> 122 return lambda *args, **kwargs: self.func(*args, **kwargs)
123 else:
124 return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/representation.py in py__call__(self, evaluator, params)
558 return [iterable.Generator(evaluator, self, params)]
559 else:
--> 560 return FunctionExecution(evaluator, self, params).get_return_types()
561
562 def __getattr__(self, name):
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/cache.py in wrapper(obj, *args, **kwargs)
39 if default is not NO_DEFAULT:
40 memo[key] = default
---> 41 rv = function(obj, *args, **kwargs)
42 if inspect.isgenerator(rv):
43 rv = list(rv)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/recursion.py in run(execution, **kwargs)
98 result = []
99 else:
--> 100 result = func(execution, **kwargs)
101 detector.pop_execution()
102 return result
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/representation.py in get_return_types(self, check_yields)
622 debug.dbg('Return unreachable: %s', r)
623 else:
--> 624 types += self._evaluator.eval_element(r.children[1])
625 if check is flow_analysis.REACHABLE:
626 debug.dbg('Return reachable: %s', r)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/cache.py in wrapper(obj, *args, **kwargs)
39 if default is not NO_DEFAULT:
40 memo[key] = default
---> 41 rv = function(obj, *args, **kwargs)
42 if inspect.isgenerator(rv):
43 rv = list(rv)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in eval_element(self, element)
185 if trailer == '**': # has a power operation.
186 raise NotImplementedError
--> 187 types = self.eval_trailer(types, trailer)
188
189 return types
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in eval_trailer(self, types, trailer)
265 % typ)
266 else:
--> 267 new_types += get(self, node)
268 return new_types
269
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/cache.py in wrapper(obj, *args, **kwargs)
39 if default is not NO_DEFAULT:
40 memo[key] = default
---> 41 rv = function(obj, *args, **kwargs)
42 if inspect.isgenerator(rv):
43 rv = list(rv)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/iterable.py in get_index_types(self, evaluator, index)
227 and isinstance(index.obj, (int, str, unicode)):
228 with common.ignored(KeyError, IndexError, TypeError):
--> 229 types += self.get_exact_index_types(index.obj)
230 lookup_done = True
231
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/iterable.py in get_exact_index_types(self, mixed_index)
253
254 # Can raise an IndexError
--> 255 return self._evaluator.eval_element(self._items()[mixed_index])
256
257 def iter_content(self):
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/cache.py in wrapper(obj, *args, **kwargs)
39 if default is not NO_DEFAULT:
40 memo[key] = default
---> 41 rv = function(obj, *args, **kwargs)
42 if inspect.isgenerator(rv):
43 rv = list(rv)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in eval_element(self, element)
167 debug.dbg('eval_element %s@%s', element, element.start_pos)
168 if isinstance(element, (tree.Name, tree.Literal)) or tree.is_node(element, 'atom'):
--> 169 return self._eval_atom(element)
170 elif isinstance(element, tree.Keyword):
171 # For False/True/None
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in _eval_atom(self, atom)
228 # there the name cannot be used.
229 stmt = atom
--> 230 return self.find_types(scope, atom, stmt.start_pos, search_global=True)
231 elif isinstance(atom, tree.Literal):
232 return [compiled.create(self, atom.eval())]
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/__init__.py in find_types(self, scope, name_str, position, search_global, is_goto)
118 if is_goto:
119 return f.filter_name(scopes)
--> 120 return f.find(scopes, search_global)
121
122 @memoize_default(default=[], evaluator_is_first_arg=True)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/debug.py in wrapper(*args, **kwargs)
50 _debug_indent += 1
51 try:
---> 52 result = func(*args, **kwargs)
53 finally:
54 _debug_indent -= 1
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/finder.py in find(self, scopes, search_global)
85 # TODO rename scopes to names_dicts
86 names = self.filter_name(scopes)
---> 87 types = self._names_to_types(names, search_global)
88
89 if not names and not types \
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/finder.py in _names_to_types(self, names, search_global)
231
232 for name in names:
--> 233 new_types = _name_to_types(self._evaluator, name, self.scope)
234 if isinstance(self.scope, (er.Class, er.Instance)) and not search_global:
235 types += self._resolve_descriptors(name, new_types)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/cache.py in wrapper(obj, *args, **kwargs)
39 if default is not NO_DEFAULT:
40 memo[key] = default
---> 41 rv = function(obj, *args, **kwargs)
42 if inspect.isgenerator(rv):
43 rv = list(rv)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/finder.py in _name_to_types(evaluator, name, scope)
267 if typ.isinstance(tree.ForStmt):
268 for_types = evaluator.eval_element(typ.children[3])
--> 269 for_types = iterable.get_iterator_types(for_types)
270 types += check_tuple_assignments(for_types, name)
271 elif typ.isinstance(tree.CompFor):
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/iterable.py in get_iterator_types(inputs)
416 # TODO this is not correct, __iter__ can return arbitrary input!
417 # Is a generator.
--> 418 result += it.iter_content()
419 return result
420
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/iterable.py in iter_content(self)
573 items += get_iterator_types([typ])
574
--> 575 module = self.var_args.get_parent_until()
576 is_list = str(self.instance.name) == 'list'
577 items += _check_array_additions(self._evaluator, self.instance, module, is_list)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/evaluate/param.py in get_parent_until(self, *args, **kwargs)
54 return None
55 else:
---> 56 return element.get_parent_until(*args, **kwargs)
57 else:
58 return self.trailer.get_parent_until(*args, **kwargs)
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/_compatibility.py in <lambda>(*args, **kwargs)
122 return lambda *args, **kwargs: self.func(*args, **kwargs)
123 else:
--> 124 return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
125
126
/home/aamalyshev/.pyenv/versions/multiscanner/lib/python3.4/site-packages/jedi/parser/tree.py in get_parent_until(self, classes, reverse, include_current)
121 classes = (classes,)
122 scope = self if include_current else self.parent
--> 123 while scope.parent is not None:
124 # TODO why if classes?
125 if classes and reverse != scope.isinstance(*classes):
AttributeError: 'ListComprehension' object has no attribute 'parent'
In [6]:
Do you really want to exit ([y]/n)? y
Code :
#! /usr/bin/python3.4
import requests
import bs4
res = requests.get('http://google.com/search?q={}'.format(sys.argv[1:]))
res.<error comes up here>
Error :
http://i.imgur.com/gPeRXst.png
This occurs with the above code after typing res.,
from here : https://github.com/syl20bnr/spacemacs/issues/1973
Here's a reduced test case:
generated = [i for i in [1, 2]]
r = generated[0]
#? ['imag']
r.imag
r = generated.pop()
#? ['imag']
r.imag
The first test passes, the second one does not.
@patrys Thanks a lot, that really helps!
this issue still not fixed...
stderr jediProxy
Error (stderr) ne.python-0.3.4\pythonFiles\jedi\evaluate\finder.py", line 269, in _name_to_types
for_types = iterable.get_iterator_types(for_types)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\iterable.py", line 418, in get_iterator_types
result += it.iter_content()
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\iterable.py", line 575, in iter_content
module = self.var_args.get_parent_until()
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\param.py", line 56, in get_parent_until
return element.get_parent_until(*args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\_compatibility.py", line 124, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\parser\tree.py", line 123, in get_parent_until
while scope.parent is not None:
AttributeError: 'ListComprehension' object has no attribute 'parent'
stderr jediProxy
Error (stderr) Traceback (most recent call last):
File "completion.py", line 313, in watch
self._process_request(self._input.readline())
File "completion.py", line 304, in _process_request
request.get('prefix', '')))
File "completion.py", line 136, in _serialize_completions
completions = script.completions()
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\api\__init__.py", line 192, in completions
completion_names = get_completions(user_stmt, b)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\api\__init__.py", line 178, in get_completions
completion_names += self._simple_complete(path, dot, like)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\api\__init__.py", line 254, in _simple_complete
scopes = list(self._prepare_goto(path, True))
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\api\__init__.py", line 298, in _prepare_goto
scopes = self._evaluator.eval_element(eval_stmt)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 169, in eval_element
return self._eval_atom(element)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 230, in _eval_atom
return self.find_types(scope, atom, stmt.start_pos, search_global=True)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 120, in find_types
return f.find(scopes, search_global)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\finder.py", line 87, in find
types = self._names_to_types(names, search_global)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\finder.py", line 233, in _names_to_types
new_types = _name_to_types(self._evaluator, name, self.scope)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\finder.py", line 278, in _name_to_types
types += _remove_statements(evaluator, typ, name)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\finder.py", line 323, in _remove_statements
types += evaluator.eval_statement(stmt, seek_name=name)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\recursion.py", line 23, in run
result = func(evaluator, stmt, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 135, in eval_statement
types = self.eval_element(stmt.get_rhs())
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 187, in eval_element
types = self.eval_trailer(types, trailer)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 259, in eval_trailer
new_types += self.execute(typ, node, trailer)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 299, in execute
types = func(self, arguments)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\_compatibility.py", line 124, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\representation.py", line 560, in py__call__
return FunctionExecution(evaluator, self, params).get_return_types()
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\recursion.py", line 100, in run
result = func(execution, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\representation.py", line 624, in get_return_types
types += self._evaluator.eval_element(r.children[1])
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 187, in eval_element
types = self.eval_trailer(types, trailer)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 259, in eval_trailer
new_types += self.execute(typ, node, trailer)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 299, in execute
types = func(self, arguments)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\_compatibility.py", line 124, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\representation.py", line 560, in py__call__
return FunctionExecution(evaluator, self, params).get_return_types()
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\recursion.py", line 100, in run
result = func(execution, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\representation.py", line 624, in get_return_types
types += self._evaluator.eval_element(r.children[1])
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 187, in eval_element
types = self.eval_trailer(types, trailer)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 259, in eval_trailer
new_types += self.execute(typ, node, trailer)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 299, in execute
types = func(self, arguments)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\representation.py", line 364, in py__call__
return Function.py__call__(self, evaluator, params)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\_compatibility.py", line 122, in <lambda>
return lambda *args, **kwargs: self.func(*args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\representation.py", line 560, in py__call__
return FunctionExecution(evaluator, self, params).get_return_types()
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\recursion.py", line 100, in run
result = func(execution, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\representation.py", line 624, in get_return_types
types += self._evaluator.eval_element(r.children[1])
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 169, in eval_element
return self._eval_atom(element)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 230, in _eval_atom
return self.find_types(scope, atom, stmt.start_pos, search_global=True)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 120, in find_types
return f.find(scopes, search_global)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\finder.py", line 87, in find
types = self._names_to_types(names, search_global)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\finder.py", line 233, in _names_to_types
new_types = _name_to_types(self._evaluator, name, self.scope)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\finder.py", line 278, in _name_to_types
types += _remove_statements(evaluator, typ, name)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\finder.py", line 323, in _remove_statements
types += evaluator.eval_statement(stmt, seek_name=name)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\recursion.py", line 23, in run
result = func(evaluator, stmt, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 135, in eval_statement
types = self.eval_element(stmt.get_rhs())
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 187, in eval_element
types = self.eval_trailer(types, trailer)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 259, in eval_trailer
new_types += self.execute(typ, node, trailer)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 299, in execute
types = func(self, arguments)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\representation.py", line 364, in py__call__
return Function.py__call__(self, evaluator, params)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\_compatibility.py", line 122, in <lambda>
return lambda *args, **kwargs: self.func(*args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\representation.py", line 560, in py__call__
return FunctionExecution(evaluator, self, params).get_return_types()
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\recursion.py", line 100, in run
result = func(execution, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\representation.py", line 624, in get_return_types
types += self._evaluator.eval_element(r.children[1])
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 169, in eval_element
return self._eval_atom(element)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 230, in _eval_atom
return self.find_types(scope, atom, stmt.start_pos, search_global=True)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 120, in find_types
return f.find(scopes, search_global)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\finder.py", line 87, in find
types = self._names_to_types(names, search_global)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\finder.py", line 233, in _names_to_types
new_types = _name_to_types(self._evaluator, name, self.scope)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\finder.py", line 278, in _name_to_types
types += _remove_statements(evaluator, typ, name)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\finder.py", line 323, in _remove_statements
types += evaluator.eval_statement(stmt, seek_name=name)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\recursion.py", line 23, in run
result = func(evaluator, stmt, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 135, in eval_statement
types = self.eval_element(stmt.get_rhs())
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 187, in eval_element
types = self.eval_trailer(types, trailer)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 259, in eval_trailer
new_types += self.execute(typ, node, trailer)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 299, in execute
types = func(self, arguments)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\representation.py", line 364, in py__call__
return Function.py__call__(self, evaluator, params)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\_compatibility.py", line 122, in <lambda>
return lambda *args, **kwargs: self.func(*args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\representation.py", line 560, in py__call__
return FunctionExecution(evaluator, self, params).get_return_types()
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\recursion.py", line 100, in run
result = func(execution, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\representation.py", line 624, in get_return_types
types += self._evaluator.eval_element(r.children[1])
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 187, in eval_element
types = self.eval_trailer(types, trailer)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 267, in eval_trailer
new_types += get(self, node)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\iterable.py", line 229, in get_index_types
types += self.get_exact_index_types(index.obj)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\iterable.py", line 255, in get_exact_index_types
return self._evaluator.eval_element(self._items()[mixed_index])
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 169, in eval_element
return self._eval_atom(element)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 230, in _eval_atom
return self.find_types(scope, atom, stmt.start_pos, search_global=True)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\__init__.py", line 120, in find_types
return f.find(scopes, search_global)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\finder.py", line 87, in find
types = self._names_to_types(names, search_global)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\finder.py", line 233, in _names_to_types
new_types = _name_to_types(self._evaluator, name, self.scope)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\finder.py", line 269, in _name_to_types
for_types = iterable.get_iterator_types(for_types)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\iterable.py", line 418, in get_iterator_types
result += it.iter_content()
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\iterable.py", line 575, in iter_content
module = self.var_args.get_parent_until()
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\evaluate\param.py", line 56, in get_parent_until
return element.get_parent_until(*args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\_compatibility.py", line 124, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "d:\.vscode\extensions\donjayamanne.python-0.3.4\pythonFiles\jedi\parser\tree.py", line 123, in get_parent_until
while scope.parent is not None:
AttributeError: 'ListComprehension' object has no attribute 'parent'
@abc100m That's why it's still open and labelled as bug.
I am still encountering this error:
Traceback (most recent call last):
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/bottle/bottle.py", line 862, in _handle
return route.call(**args)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/bottle/bottle.py", line 1732, in wrapper
rv = callback(*a, **ka)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/jedihttp/hmac_plugin.py", line 58, in wrapper
body = callback( *args, **kwargs )
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/jedihttp/handlers.py", line 63, in completions
} for completion in script.completions() ]
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/api/__init__.py", line 188, in completions
completion_names = get_completions(user_stmt, b)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/api/__init__.py", line 174, in get_completions
completion_names += self._simple_complete(path, dot, like)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/api/__init__.py", line 250, in _simple_complete
scopes = list(self._prepare_goto(path, True))
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/api/__init__.py", line 294, in _prepare_goto
scopes = self._evaluator.eval_element(eval_stmt)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 169, in eval_element
return self._eval_atom(element)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 230, in _eval_atom
return self.find_types(scope, atom, stmt.start_pos, search_global=True)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 120, in find_types
return f.find(scopes, search_global)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py", line 87, in find
types = self._names_to_types(names, search_global)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py", line 233, in _names_to_types
new_types = _name_to_types(self._evaluator, name, self.scope)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py", line 278, in _name_to_types
types += _remove_statements(evaluator, typ, name)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py", line 323, in _remove_statements
types += evaluator.eval_statement(stmt, seek_name=name)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/recursion.py", line 23, in run
result = func(evaluator, stmt, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 135, in eval_statement
types = self.eval_element(stmt.get_rhs())
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 187, in eval_element
types = self.eval_trailer(types, trailer)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 259, in eval_trailer
new_types += self.execute(typ, node, trailer)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 299, in execute
types = func(self, arguments)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/_compatibility.py", line 124, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/representation.py", line 560, in py__call__
return FunctionExecution(evaluator, self, params).get_return_types()
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/recursion.py", line 100, in run
result = func(execution, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/representation.py", line 620, in get_return_types
check = flow_analysis.break_check(self._evaluator, self, r)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/flow_analysis.py", line 48, in break_check
return _break_check(evaluator, stmt, base_scope, element_scope)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/flow_analysis.py", line 65, in _break_check
reachable = _check_if(evaluator, node)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/flow_analysis.py", line 79, in _check_if
types = evaluator.eval_element(node)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 169, in eval_element
return self._eval_atom(element)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 230, in _eval_atom
return self.find_types(scope, atom, stmt.start_pos, search_global=True)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 120, in find_types
return f.find(scopes, search_global)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py", line 86, in find
names = self.filter_name(scopes)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py", line 177, in filter_name
names = self.names_dict_lookup(names_dict, position)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py", line 159, in names_dict_lookup
stmt, origin_scope)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/flow_analysis.py", line 48, in break_check
return _break_check(evaluator, stmt, base_scope, element_scope)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/flow_analysis.py", line 59, in _break_check
reachable = _check_if(evaluator, check_node)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/flow_analysis.py", line 79, in _check_if
types = evaluator.eval_element(node)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 187, in eval_element
types = self.eval_trailer(types, trailer)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 259, in eval_trailer
new_types += self.execute(typ, node, trailer)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 289, in execute
return stdlib.execute(self, obj, arguments)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/stdlib.py", line 42, in execute
return _implemented[module_name][obj_name](evaluator, obj, params)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/stdlib.py", line 81, in wrapper
lst = list(arguments.eval_argument_clinic(clinic_args))
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/param.py", line 135, in eval_argument_clinic
for el in va_values))
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/param.py", line 135, in <genexpr>
for el in va_values))
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 169, in eval_element
return self._eval_atom(element)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 230, in _eval_atom
return self.find_types(scope, atom, stmt.start_pos, search_global=True)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 120, in find_types
return f.find(scopes, search_global)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py", line 87, in find
types = self._names_to_types(names, search_global)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py", line 233, in _names_to_types
new_types = _name_to_types(self._evaluator, name, self.scope)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py", line 276, in _name_to_types
types += _eval_param(evaluator, typ, scope)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py", line 364, in _eval_param
return res_new + param.eval(evaluator)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/param.py", line 174, in eval
types += evaluator.eval_element(v)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 183, in eval_element
types = self._eval_atom(element.children[0])
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 230, in _eval_atom
return self.find_types(scope, atom, stmt.start_pos, search_global=True)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 120, in find_types
return f.find(scopes, search_global)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py", line 87, in find
types = self._names_to_types(names, search_global)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py", line 233, in _names_to_types
new_types = _name_to_types(self._evaluator, name, self.scope)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py", line 278, in _name_to_types
types += _remove_statements(evaluator, typ, name)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py", line 323, in _remove_statements
types += evaluator.eval_statement(stmt, seek_name=name)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/recursion.py", line 23, in run
result = func(evaluator, stmt, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 135, in eval_statement
types = self.eval_element(stmt.get_rhs())
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 187, in eval_element
types = self.eval_trailer(types, trailer)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 259, in eval_trailer
new_types += self.execute(typ, node, trailer)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 299, in execute
types = func(self, arguments)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/representation.py", line 364, in py__call__
return Function.py__call__(self, evaluator, params)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/_compatibility.py", line 122, in <lambda>
return lambda *args, **kwargs: self.func(*args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/representation.py", line 560, in py__call__
return FunctionExecution(evaluator, self, params).get_return_types()
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/recursion.py", line 100, in run
result = func(execution, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/representation.py", line 624, in get_return_types
types += self._evaluator.eval_element(r.children[1])
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 187, in eval_element
types = self.eval_trailer(types, trailer)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 259, in eval_trailer
new_types += self.execute(typ, node, trailer)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 299, in execute
types = func(self, arguments)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/representation.py", line 364, in py__call__
return Function.py__call__(self, evaluator, params)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/_compatibility.py", line 122, in <lambda>
return lambda *args, **kwargs: self.func(*args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/representation.py", line 560, in py__call__
return FunctionExecution(evaluator, self, params).get_return_types()
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/recursion.py", line 100, in run
result = func(execution, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/representation.py", line 624, in get_return_types
types += self._evaluator.eval_element(r.children[1])
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 169, in eval_element
return self._eval_atom(element)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 230, in _eval_atom
return self.find_types(scope, atom, stmt.start_pos, search_global=True)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 120, in find_types
return f.find(scopes, search_global)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py", line 87, in find
types = self._names_to_types(names, search_global)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py", line 233, in _names_to_types
new_types = _name_to_types(self._evaluator, name, self.scope)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py", line 278, in _name_to_types
types += _remove_statements(evaluator, typ, name)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py", line 323, in _remove_statements
types += evaluator.eval_statement(stmt, seek_name=name)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/recursion.py", line 23, in run
result = func(evaluator, stmt, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 135, in eval_statement
types = self.eval_element(stmt.get_rhs())
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 187, in eval_element
types = self.eval_trailer(types, trailer)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 259, in eval_trailer
new_types += self.execute(typ, node, trailer)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 299, in execute
types = func(self, arguments)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/representation.py", line 364, in py__call__
return Function.py__call__(self, evaluator, params)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/_compatibility.py", line 122, in <lambda>
return lambda *args, **kwargs: self.func(*args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/representation.py", line 560, in py__call__
return FunctionExecution(evaluator, self, params).get_return_types()
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/recursion.py", line 100, in run
result = func(execution, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/representation.py", line 624, in get_return_types
types += self._evaluator.eval_element(r.children[1])
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 169, in eval_element
return self._eval_atom(element)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 230, in _eval_atom
return self.find_types(scope, atom, stmt.start_pos, search_global=True)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 120, in find_types
return f.find(scopes, search_global)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py", line 87, in find
types = self._names_to_types(names, search_global)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py", line 233, in _names_to_types
new_types = _name_to_types(self._evaluator, name, self.scope)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py", line 278, in _name_to_types
types += _remove_statements(evaluator, typ, name)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py", line 323, in _remove_statements
types += evaluator.eval_statement(stmt, seek_name=name)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/recursion.py", line 23, in run
result = func(evaluator, stmt, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 135, in eval_statement
types = self.eval_element(stmt.get_rhs())
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 187, in eval_element
types = self.eval_trailer(types, trailer)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 259, in eval_trailer
new_types += self.execute(typ, node, trailer)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 299, in execute
types = func(self, arguments)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/representation.py", line 364, in py__call__
return Function.py__call__(self, evaluator, params)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/_compatibility.py", line 122, in <lambda>
return lambda *args, **kwargs: self.func(*args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/representation.py", line 560, in py__call__
return FunctionExecution(evaluator, self, params).get_return_types()
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/recursion.py", line 100, in run
result = func(execution, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/representation.py", line 624, in get_return_types
types += self._evaluator.eval_element(r.children[1])
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 187, in eval_element
types = self.eval_trailer(types, trailer)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 267, in eval_trailer
new_types += get(self, node)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/iterable.py", line 229, in get_index_types
types += self.get_exact_index_types(index.obj)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/iterable.py", line 255, in get_exact_index_types
return self._evaluator.eval_element(self._items()[mixed_index])
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 169, in eval_element
return self._eval_atom(element)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 230, in _eval_atom
return self.find_types(scope, atom, stmt.start_pos, search_global=True)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/__init__.py", line 120, in find_types
return f.find(scopes, search_global)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/debug.py", line 52, in wrapper
result = func(*args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py", line 87, in find
types = self._names_to_types(names, search_global)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py", line 233, in _names_to_types
new_types = _name_to_types(self._evaluator, name, self.scope)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/cache.py", line 41, in wrapper
rv = function(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/finder.py", line 269, in _name_to_types
for_types = iterable.get_iterator_types(for_types)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/iterable.py", line 418, in get_iterator_types
result += it.iter_content()
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/iterable.py", line 575, in iter_content
module = self.var_args.get_parent_until()
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/evaluate/param.py", line 56, in get_parent_until
return element.get_parent_until(*args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/_compatibility.py", line 124, in <lambda>
return lambda *args, **kwargs: self.func(obj, *args, **kwargs)
File "/usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/vendor/jedi/jedi/parser/tree.py", line 123, in get_parent_until
while scope.parent is not None:
AttributeError: 'ListComprehension' object has no attribute 'parent'
And sometimes this one:
AttributeError: 'MergedNamesDict' object has no attribute 'get'
@foodtooth: Use the latest dev branch and try again.
I reinstalled vim-youcompleteme-git from AUR and reinstalled jedi using sudo pip2 install -e git://github.com/davidhalter/jedi.git#egg=jedi from the manual. pip2 list | grep jedi shows me
jedi (0.9.0, /home/mike/Downloads/src/jedi)
And YCMDebugInfo shows me
-- Server has Clang support compiled in: True
-- Clang version: clang version 3.8.0 (tags/RELEASE_380/final)
-- Python completer debug information:
-- JediHTTP running at: http://127.0.0.1:54477
-- JediHTTP process ID: 28801
-- JediHTTP executable: /usr/share/vim/vimfiles/third_party/ycmd/third_party/JediHTTP/jedihttp.py
Does it mean I'm using the latest dev branch? How can I know YCM is using the latest jedi? (I am still getting errors like before)
@proofit404 Can you retry? It works for me on the latest dev branch. It might be working for you, too!
Seems to be working, let me know if it's not and I'll reopen.
Sorry for late response. I can confirm that this bug was fixed in jedi dev branch. Tested against last requests.
I can confirm that this bug was fixed in jedi 0.10.2