Some remote interpreters have `sdk#homePath` starting with `ssh://`.
Code all over the monorepo assumes that `homePath` is a local file path and tries to convert it to `Path` throwing the exception effectively.
There is a `isCustomPythonSdkHomePath` which must be used to check string before trying to convert it into `Path`
The current situation (along with "solution") is a legacy from dark ages and will be rewritten to the workspace model soon
GitOrigin-RevId: 9adc02f312667571a65ff63d4e802aa7d6dbb518
It turned out that `complete` might throw some exceptions. Some of them ought to be shown to user, so we got back to this excellent error processing approach.
GitOrigin-RevId: 2152cca9ddafe8d75d980347196ccf6eaf276533
This is needed to avoid 'IllegalAccessError' if different modules are loaded by different classloaders.
GitOrigin-RevId: 99113e2a8bee471332174bd2710eccf9b47ebb67
'getSdk' and 'shouldSubscribeToLocalChanges' were called not from a subclass, so they were actually used via 'package private' visibility. And this will fail with IllegalAccessError if intellij.python.community and intellij.python.community.impl are loaded by different classloaders.
GitOrigin-RevId: 6e2f779063ae9fc188b60b3d52bb5cbe6fe496a9
It would be better not to place any classes in such a generic package. And it also causes red code due to IDEA-352819, so this needs to be fixed to allow enabling "Good code is red" inspection in "Zero Tolerance" checks.
GitOrigin-RevId: d0edae5ceda7e95fe3b2b9726e5c3996ded149ca
This is needed to work around for IDEA-352818 to allow enabling "Good code is red" inspection in "Zero Tolerance" checks.
GitOrigin-RevId: a058e15624e39c3faa649df20bd4f7c20be5faaf
Possibility to set full version string from requirements.txt resulted in incomplete installation command being passed to pip or incorrect specification being passed to CondaPackageManager for method calls that rely on default values of parameters.
GitOrigin-RevId: a44d3c20dc3a8dac0e5ca67479be05a72b821b1a
In other words, in a statement like "await = 42" there are now both a warning about
the missing operand and a warning that an await expression cannot be used as
an assignment target. This behavior is consistent with other expressions where
additional parsing errors are not special-cased.
GitOrigin-RevId: 37a68eacc7ec042435c185f9ddd8bc2eea42b40f
Instead, parse them as usual and later report in the dedicated AssignTargetAnnotator
and TypeAnnotationTargetAnnotator. This way, a PsiError element appearing in the PSI
tree of a type declaration statement doesn't cause PyAstTypeDeclarationStatement.getTarget
nullability contract violation.
GitOrigin-RevId: a3e90088cfac7938c398d4d293a72dbd127a2cd0
Otherwise, incomplete stubs break our custom logic for resolving tensorflow
modules re-exported from its _api.v2 subpackage, such as tensorflow.audio,
tensorflow.image, tensorflow.random, etc.
We did the same for Numpy stubs in the past, enabling them back once they
became mature enough.
GitOrigin-RevId: b1e46067406a592761f56b7d296a287e5282b079
Use PyTypingTypeProvider.getAnnotationValue for that, similarly to already
re-used in other places PyTypingTypeProvider.getReturnTypeAnnotation.
Also, I've better separated handling of attributes explicitly annotated with Mapped
and just initialized with a mapped_column call. It will help to remove special
casing for Mapped once generic descriptors are fully supported in type inference
(PY-26184).
GitOrigin-RevId: eaeb66abd26b851507970b112360631704b41db3
With a new workspace model, forced by the platform, old SDK paths are now saved in `//wsl` instead of ``\\wsl`` formats.
`CUSTOM_PYTHON_SDK_HOME_PATH_PATTERN` failed to recognize them.
Check is also added to `getVersionString` not to pollute logs with things like "Can't run `//wsl$/usr/bin..`".
GitOrigin-RevId: d9a5c4cb8972eee841219b52bf596468e52e770a