diff --git a/jedi/evaluate/__init__.py b/jedi/evaluate/__init__.py index 82c25412..1458cb3f 100644 --- a/jedi/evaluate/__init__.py +++ b/jedi/evaluate/__init__.py @@ -189,6 +189,10 @@ class Evaluator(object): for operator in element.children[:-1]: types = list(precedence.factor_calculate(self, types, operator)) return types + elif pr.is_node(element, 'test'): + # `x if foo else y` case. + return (self.eval_element(element.children[0]) + + self.eval_element(element.children[-1])) else: return precedence.calculate_children(self, element.children) diff --git a/jedi/evaluate/finder.py b/jedi/evaluate/finder.py index 8b94511f..50e1e928 100644 --- a/jedi/evaluate/finder.py +++ b/jedi/evaluate/finder.py @@ -424,7 +424,7 @@ def check_flow_information(evaluator, flow, search_name_part, pos): return None result = [] - if flow.is_scope(): + if False and flow.is_scope(): for ass in reversed(flow.asserts): if pos is None or ass.start_pos > pos: continue diff --git a/test/completion/basic.py b/test/completion/basic.py index 0a6e45e5..4c6a7b90 100644 --- a/test/completion/basic.py +++ b/test/completion/basic.py @@ -136,7 +136,7 @@ a[0] arr = [1,''] a = [a for a in arr] -#? int() +#? int() str() a[0] a = [a if 1.0 else '' for a in [1] if [1.0]]