This commit removes usages of deprecated `DumbServiceImpl.setDumbMode` and replaces them with modern API.
GitOrigin-RevId: d3fa0e8eec04d7b10a0b98ff46c2f4bb5a8197b9
Use `importlib.metadata` for the new Python versions (>= 3.10).
Ignore `DeprecationWarning` for old versions of Python.
Merge-request: IJ-MR-111445
Merged-by: Egor Eliseev <Egor.Eliseev@jetbrains.com>
GitOrigin-RevId: a639ae84016a85d508484e31e48913543d4e51f1
Since disabling turned out to be controversial. Even in the ticket some users were
against this decision claiming that it heavily annotated code bases it might be necessary
to retain all annotations from inherited method signatures. We need to think of a better
solution for controlling this behavior on case-to-case basis.
GitOrigin-RevId: c68763f0cad23de8975085e9bc8a6fd99013de3b
```
ERROR: No matching distribution found for comm>=0.1.3 (from ipywidgets->jupyter)
```
There is no 2.7 in the latest analysis
GitOrigin-RevId: 170b98f048b88a62d2695d375b780ee707e79330
`readableFs` is redundant and unstable. Remove it: we will migrate to ijent anyway.
All validations are in `PathValidator.kt` now. They are used by `ManualPathEntryDialog` and sdk validation.
Lots of thread annotations added to prevent calling validation code from EDT.
In general, this change makes path validation ready for ijent: validation based on nio with slow IO access.
Validation is removed from old, non-target classes
(cherry picked from commit 185b4f7fe8cbd5d7a37dad609c8a4cb8163d6eed)
IJ-MR-112281
GitOrigin-RevId: 12c4a4f3d459d0523ef6694a9e4bb2db7a1582b7
In addition to searching for fixtures as functions in the "conftest.py" file, add also searching in import elements.
Merge-request: IJ-MR-109809
Merged-by: Egor Eliseev <Egor.Eliseev@jetbrains.com>
GitOrigin-RevId: fe2832b23db8b5fda461b1e07a129975b2dd57bf
PyDefinitionsSearch.java: replace psi element on original element if it is from pyi and then search for overrides, inheritors etc.
PyiUtil.java: recursively get original element while it is in stub (see the comment) and tests testGoToImplementationNameReExportedThroughAssignmentInPyiStub, testGoToImplementationNameReExportedThroughAssignmentInPyiStubTwice
PyUtil.java: make different methods turnDirIntoInitPy, turnDirIntoInitPyi instead of only turnDirIntoInit to handle cases when the same directory contains __init__.pyi and __init__.py files (PY-54620)
GitOrigin-RevId: 8f0d8a8133548e1a9f52f93b42aa9cae2302e8d7
Namely, test only against the latest version of the library. Check completion
only for a few common submodules of tensorflow. Check resolve for all of them
in one inspection pass, instead of resolving each separately. Generate expected
test data dynamically through module introspection.
GitOrigin-RevId: df5c4c4f765116bc7329454d5cc0b2aa1a6a86b5
1. If `__repr__` is overridden - use `reprlib` or `repr()`
2. If `__str__` is overridden - use `str()`
3. Use `reprlib` or `repr()` otherwise
IJ-CR-110917
GitOrigin-RevId: dff583d556600a8c77024a4d1bd86034f24f9bf9
We turned them off as part of PY-48166. Now these stubs are much more complete
and fix a number of problems with the code insight for the library (PY-35164,
PY-37461, PY-50394, PY-59347, PY-60224), most of which are caused by the lack
of information in skeletons automatically generated for its binary modules or
incorrect type information being extracted from docstrings.
I leave the possibility to disable the stubs for the time being and will remove
the registry option once it become clear that they don't cause serious problems.
GitOrigin-RevId: 0df09ddb8ca40f88b908e19c0f49f5b005abaa58
Add temporary code so that the tests are green until the bug is fixed in CPython
Merge-request: IJ-MR-110667
Merged-by: Egor Eliseev <Egor.Eliseev@jetbrains.com>
GitOrigin-RevId: 563660c4e2046d303a219765cd5f113608597149
`onTextAvailable` could be called from 2 threads: stderr and stdout, hence `stdAll` must be thread-safe
GitOrigin-RevId: fadf694621d15521221cadfef1d8c6f423a8608a
The rules for operators methods are the same as for regular
methods, exercised by other type checkers, i.e. it's assumed
that more specific overloads are defined earlier than less
specific. See e921654e47fe1fc5da047950b70775e342996757 for more
details.
Selecting compatible operator signatures also includes matching
"self" parameter against its expected type, which is necessary
for supporting typing.LiteralString, where some overloads of
"str" methods are made available only for literal strings.
Doing so, however, revealed a few issues with how we track
the direction of operator application, i.e. which operator
methods should be considered "reflected" and have swapped
receiver and argument. We rely on a method's name to decide
but the name is lost when a "reflected" method is defined through
an attribute assignment (PY-61093), and __eq__/__neq__ methods
are bidirectional so their names are not enough (PY-61090).
In PyUnresolvedReferencesInspectionTest.testStubAssignment we
matched C1.__mul__ and in PyTypeTest.testOperatorReturnsAny we
matched int.__eq__, despite the receiver and the argument being swapped,
because both of the methods are declared to accept Any value.
With more precise signature matching both of the tests now fail due to
the aforementioned issues. On the other hand, both of the cases seem rare,
so I disabled them for a while until there is a proper solution.
GitOrigin-RevId: 449a584ca258fe9210f5f2bda453caf9ab4faf7b
Previously, unresolved class attributes were not reported for the decorated classes because of potential dynamical attributes (see PY-7173). This commit enables this warning again because false-negative unresolved reference warning is much more common and distracting than the case with dynamic attributes
Merge-request: IJ-MR-105254
Merged-by: Daniil Kalinin <Daniil.Kalinin@jetbrains.com>
GitOrigin-RevId: 67d1ab3fe1d5a140836d49f8ef6a65cf01873456