There was a filter to include `python3` only to exclude python2.
While `python3` is usually a symlink to the good version of python3, there might be more than one file i.e `python3.11`, `python3.12` etc.
We now use regex to find all python3
(cherry picked from commit 024dd2d20ed728e5d4f4fef2c2b1dbaf3c6dcc97)
KT-CR-18710
GitOrigin-RevId: 26d813c98e389fa83e6ddc5c2fcd60b91fe5dac8
The window is small: no need to have `c:/users/John.Doe` or `/Users/John.Doe` there: `~` is enough.
(cherry picked from commit 810abc8a3bb008477eef0045c24c37f5faac1e33)
KT-CR-18709
GitOrigin-RevId: 7924068fc534c676b1d1d625c8294740c65c8c9e
Base Pythons are system-wide pythons, not venvs.
`PythonSdkFlavor.isPlatformIndependent` is `false` for base pythons.
Venvs can only be created on top of base pythons and not on top of other venvs.
We detect all pythons (even venvs in `~/.virtualenvs` e.t.c.) because we might need them in "Select Existing Interpreter" window, but since for "Create New Venv" we can only use base pythons, we use flavor to filter.
(cherry picked from commit 7b4719b821243a4d97304cfa1d106439b11f63b1)
KT-MR-18675
GitOrigin-RevId: e001e8f593b7a964067cbd04fcc3fd22ea8ec4a2
Reword the inspection text
Co-authored-by: Mikhail Golubev <mikhail.golubev@jetbrains.com>
(cherry picked from commit cab3cb1bbb1316462ee3fd37e735765b31b8d5e8)
GitOrigin-RevId: e3288e503d714a1f76bd1a2e6a0553770e1cbad5
* Remove unnecessary descriptor type inference from `PyTargetExpressionImpl.getType`
* Refactor overload resolution for synthetic calls, minor refactorings in PyDescriptorTypeUtil
* Add additional test for __set__
* Do not substitute missing argument types with implicit `Any` in PySyntheticCallHelper
* Always take the first overload for `__set__` if more than one is present
(cherry picked from commit 9d1f9d37f3ea23ce6145f82fc8f62212f744e858)
GitOrigin-RevId: 372dc0e8ccc32095aecf3f611645adc06c2873e9
Add API for inferring the expected type of `__set__` from `value` parameter
Add corresponding logic to PyTypeCheckerInspection to check if assigned value matches the expected descriptor type
Add tests on it
(cherry picked from commit b14ab7b2e40e225b508875a778ceae8986cbb291)
GitOrigin-RevId: 2b15b2b4527a95e5912897ba256dcc73d71c3dcd
These lessons expect that `Current File` run configuration is available, but it is not enabled in Aqua.
(cherry picked from commit 0412925c501f3234444702c5f6657078e83d5f30)
IJ-CR-147744
GitOrigin-RevId: 67df76f1c9a5e71eaac90465944e7b894a47fd67
* In case of sorted table, we get a dict for numpy and numpy_based tables. After that, we should extract a specific type of table and define the right python_code_provider. For tf.EagerTensor and tf.ResourceVariable tables the wrong python_code_provider was selected
(cherry picked from commit 62596418a8ac942136379f814bfdac57b60b697a)
(cherry picked from commit 8c9d39f2e82a64d3794fd84d50c255f15becb8b9)
IJ-CR-147319
GitOrigin-RevId: 939dbaa2d97812cd8a040d0fc22fc33cbed800ad
* see the YT issue for more details
(cherry picked from commit 676a021e221c430c6fd3b600640d7aec1503239e)
(cherry picked from commit 5c8a478a2cc3edb148b684b48dfaf85f9d50627f)
IJ-CR-147319
GitOrigin-RevId: 3d5caa7d348861bc904335db3ff0b1edef2a17b1
The implementation is very similar to the PyTypeShed,
it should be merged into more general solution.
GitOrigin-RevId: 1449a774e93206349f17f264c27e2a7877d79b19
findPathStringInHelpers might return an empty string,
that will be equal to the home path,
that will lead to indexing of the home directory.
GitOrigin-RevId: e800896a4c0631844a7b7a3a79334c3853a30c32
Protected member should not be highlighted as a warning if it resolves to .pyi file.
We assume that everything in .pyi file is a public API.
GitOrigin-RevId: c8275f3e48e3cd69b1676de9b78606f28ea224c8
There were two underlying problems in Kotlin code:
```
run { DjangoFQNamesProvider.ACCEPTS_VIEW_NAME.isNameMatches(this) } != null
```
returned true regardless of the result of `isNameMatches(this)` call.
As a result, we used to suggest Django view names for *all* functions called
"reverse", "redirect" or "reverse_lazy".
Secondly, in FQNamesProviderExtKt.isNameMatches:
```
return getQualifiedNames().any {
return it.firstComponent == elementQualifiedName.firstComponent &&
it.lastComponent == elementQualifiedName.lastComponent
}
```
always returned the result of comparison with the first qualified name, ignoring the rest
due to non-local return from the inline `any`.
Finally, DjangoUrlViewProvider.isReverseFunction expected a PyFunctionType as the type
of reverse/redirect/reverse_lazy, but since these functions have overloads in .pyi
stubs we started to infer a union type of PyFunctionTypes for them, breaking the reference
provider. In general, it's better to perform a name resolution instead of type inference
to detect a fully qualified name for a reference.
GitOrigin-RevId: 69949b1b0e65f00557536cf16127279a83ea4f9d
Fix poetry executable detection for the "Add new local interpreter" panel.
There was a problem in `ModalityState`, which prevented updating `state.poetryExecutable` from EDT.
Merge-request: IJ-MR-147485
Merged-by: Egor Eliseev <Egor.Eliseev@jetbrains.com>
(cherry picked from commit 43a807c20f8572bcf570121792269d6ee0c67acd)
IJ-MR-147485
GitOrigin-RevId: fab1de5a2a55e62ff66790defb033b7745259dc5