Make it possible to use __getitem__ in interpreter

This commit is contained in:
Dave Halter
2021-01-01 15:57:55 +01:00
parent 36ea6b3285
commit 971913be35
2 changed files with 31 additions and 22 deletions

View File

@@ -599,6 +599,19 @@ def test_dict_getitem(code, types):
assert [c.name for c in comps] == types
@pytest.mark.parametrize('class_is_findable', [False, True])
def test__getitem__(class_is_findable):
class GetitemCls:
def __getitem__(self, key) -> int:
pass
if not class_is_findable:
GetitemCls.__name__ = 'asdf'
n, = jedi.Interpreter('GetitemCls()[0]', [locals()]).infer()
assert n.name == 'int'
def foo():
raise KeyError