diff --git a/jedi/evaluate/finder.py b/jedi/evaluate/finder.py index b17e7732..2bf3c897 100644 --- a/jedi/evaluate/finder.py +++ b/jedi/evaluate/finder.py @@ -331,6 +331,7 @@ def _check_isinstance_type(evaluator, stmt, search_name): assert len(obj) == 1 assert len(classes) == 1 assert isinstance(obj[0], pr.Call) + # names fit? assert str(obj[0].name) == search_name assert isinstance(classes[0], pr.StatementElement) # can be type or tuple diff --git a/test/completion/isinstance.py b/test/completion/isinstance.py index 04e94497..9733efef 100644 --- a/test/completion/isinstance.py +++ b/test/completion/isinstance.py @@ -34,11 +34,14 @@ if 2: # ----------------- import datetime + + def fooooo(obj): if isinstance(obj, datetime.datetime): #? datetime.datetime obj + def fooooo2(obj): if isinstance(obj, datetime.datetime): return obj @@ -47,3 +50,20 @@ def fooooo2(obj): #? int() datetime.datetime fooooo2('') + + +# ----------------- +# Names with multiple indices. +# ----------------- + +class Test(): + def __init__(self, testing): + if isinstance(testing, str): + self.testing = testing + else: + self.testing = 10 + + def boo(self): + if isinstance(self.testing, str): + ##? str() + self.testing