davidhalter / davidhalter/jedi
'TreeInstance' object has no attribute 'with_generics' when using typing.Literal["str"] return annotation on property
- Dominant language
- Python
- Stars
- 6.2k
- Forks
- 535
- PR merge metrics
- No merged PRs in 30d
Description
See upstream issue ipython/ipython#14412, that I was able to reduce to
```python
import jedi
import typing
class A:
@property
def value(self) -> typing.Literal["a"]:
return "a"
a = A()
interp = jedi.Interpreter("a.", [{"a": a}])
interp.complete(line=1, column=2)
```
```
Traceback (most recent call last):
File "/.../jtree.py", line 14, in
interp.complete(line=1, column=2)
File "/.../jedi/api/helpers.py", line 487, in wrapper
return func(self, line, column, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/.../jedi/api/__init__.py", line 215, in complete
return completion.complete()
^^^^^^^^^^^^^^^^^^^^^
File "/.../jedi/api/completion.py", line 170, in complete
cached_name, completion_names = self._complete_python(leaf)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/.../jedi/api/completion.py", line 284, in _complete_python
cached_name, n = self._complete_trailer(dot.get_previous_leaf())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/.../jedi/api/completion.py", line 399, in _complete_trailer
return cached_name, self._complete_trailer_for_values(values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/.../jedi/api/completion.py", line 404, in _complete_trailer_for_values
return complete_trailer(user_context, values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/.../jedi/api/completion.py", line 550, in complete_trailer
completion_names += filter.values()
^^^^^^^^^^^^^^^
File "/.../jedi/inference/compiled/value.py", line 494, in values
names += self._get(
^^^^^^^^^^
File "/.../jedi/inference/compiled/value.py", line 462, in _get
).execute_annotation()
^^^^^^^^^^^^^^^^^^^^
File "/.../jedi/inference/compiled/value.py", line 260, in execute_annotation
return ValueSet([
^
File "/.../jedi/inference/compiled/value.py", line 261, in
v.with_generics(arguments)
^^^^^^^^^^^^^^^
AttributeError: 'TreeInstance' object has no attribute 'with_generics'
```
Contributor guide
Assessment
This issue has not been assessed yet.