1
0
forked from VimPlug/jedi

Fix: elifs where not considered for isinstance type inference.

This commit is contained in:
Dave Halter
2015-11-25 22:14:23 +01:00
parent 9dbfb90c20
commit a99368c421
3 changed files with 7 additions and 3 deletions

View File

@@ -451,7 +451,6 @@ class Script(object):
if next(context) in ('class', 'def'):
# The cursor is on a class/function name.
user_scope = self._parser.user_scope()
definitions = set([user_scope.name])
elif isinstance(user_stmt, tree.Import):
s, name = helpers.get_on_import_stmt(self._evaluator,

View File

@@ -433,8 +433,10 @@ def check_flow_information(evaluator, flow, search_name, pos):
break
if isinstance(flow, (tree.IfStmt, tree.WhileStmt)):
element = flow.children[1]
result = _check_isinstance_type(evaluator, element, search_name)
potential_ifs = [c for c in flow.children[1::4] if c != ':']
for if_test in reversed(potential_ifs):
if search_name.start_pos > if_test.end_pos:
return _check_isinstance_type(evaluator, if_test, search_name)
return result

View File

@@ -61,6 +61,9 @@ def isinstance_func(arr):
# Shouldn't fail, even with the dot.
#? 17 dict()
value.
elif isinstance(value, int):
#? int()
value
# -----------------
# Names with multiple indices.