1986 Commits

Author SHA1 Message Date
Morgan Bartholomew
9506123029 [python] PY-82265 edge cases for GTD
(cherry picked from commit 6de5053ef51534f6efe8a1ca4cf428b8d8c44cfa)

IJ-MR-166989

GitOrigin-RevId: 7dbc88b94b9a43270842380664f3e0b4daf67268
2025-07-03 07:38:55 +00:00
Morgan Bartholomew
0afb0e2732 [python] add some nullability annotations to resolve functions
(cherry picked from commit e2f9fb1a427aed1910a7aacac3de6d39b8ebb953)

IJ-MR-166989

GitOrigin-RevId: 0333f6c14a840c03dbacdceb24dd7b99052770c9
2025-07-03 07:38:55 +00:00
Andrey Vokin
c129ddc506 PY-81269 Extremely High RAM Usage
(cherry picked from commit bb534d62931c176d2395e2cceb0afabc57464669)

GitOrigin-RevId: 4a5b1398ca3fc3245d8e497fdd0522971e9fca51
2025-06-22 13:28:01 +00:00
Morgan Bartholomew
09659aec5b [python] PY-81789 filter unhelpful declarations for GTD
(cherry picked from commit 0fba00400382b32bbdbb1d6112126b4097895f2f)

IJ-MR-165350

GitOrigin-RevId: af95c00431a09faf9a08bb3c8a7f88b8d3376dee
2025-06-20 17:43:40 +00:00
Aleksandr.Govenko
9233c8d4d1 PY-81030 Stuck when editing code, high CPU usage
GitOrigin-RevId: 430e99336d40637f79adf3b282103d2c9caa5673
2025-06-20 11:54:07 +00:00
Morgan Bartholomew
ae25160ddd [python] PY-81658 don't suggest deprecated stubs
(cherry picked from commit 6661c5fb157eff8e78b38a78f3039e452484cb92)

IJ-MR-164936

GitOrigin-RevId: 2b12e7a881d721ffa936f202cd026109401726c8
2025-06-10 17:31:38 +00:00
Aleksandr.Govenko
17e7b70936 PY-80044 ArrayIndexOutOfBoundsException from PyDataFlow under specific conditions
Merge-request: IJ-MR-158616
Merged-by: Aleksandr Govenko <aleksandr.govenko@jetbrains.com>

(cherry picked from commit 4bb51242c2b5545ea4ce499664734903a70b900e)

IJ-MR-158616

GitOrigin-RevId: 1c70ed011292ccd7581491e415bd3c25ff04d217
2025-06-10 11:18:55 +00:00
Morgan Bartholomew
0d5e6eba2f [python] PY-75556 support Literal types in kwargs
(cherry picked from commit 3f337bde1e7828f8497b4a91830aa019217f2d26)

IJ-MR-164945

GitOrigin-RevId: f40d54b555e646659ebf43093d076ce46e51286d
2025-06-06 03:38:31 +00:00
Morgan Bartholomew
b28a95c4f2 [python] PY-80931/PY-53288 use multi resolve for go to definition
(cherry picked from commit f24e72030f04a59f27cb9189b20716beb92a81d0)

IJ-MR-164825

GitOrigin-RevId: fb5d2b7a715f5f681a37cd6b39bfca60d4e9da66
2025-06-05 18:35:29 +00:00
Morgan Bartholomew
3ab2fe8f30 [python] convert PyGotoDeclarationHandler to kotlin
(cherry picked from commit 788544b6325331499e0001d85a8a7ac09450d4d9)

IJ-MR-164825

GitOrigin-RevId: 8385e6ad5f8cc3d4ab29f83dbbc901d7240b5012
2025-06-05 18:35:29 +00:00
Morgan Bartholomew
5880c2dc21 [python] Rename PyGotoDeclarationHandler .java to .kt
(cherry picked from commit b96671ad920134af0681fdfcce100eaf5bd41509)

IJ-MR-164825

GitOrigin-RevId: 08da2545129e8d452faf88a0c03e485485e1e508
2025-06-05 18:35:29 +00:00
Morgan Bartholomew
bcbdea3af7 [python] PY-76845 NamedTuple compatible with tuple
(cherry picked from commit 7f317902f2df8f5cb099924b42b2b08aaaa724fd)

IJ-MR-164103

GitOrigin-RevId: 91cecc5360756f222d62f9555cae6370281b8e6f
2025-06-03 11:25:30 +00:00
Petr
613ca4396b PY-79330 Assertion fix
GitOrigin-RevId: 57599c47328eb97136b44e75c4e3341780e6ba50
2025-06-01 12:07:43 +00:00
Petr
d480fe10a4 PY-79330 auto() enum value revealed as auto, not int
(cherry picked from commit da6ceff05411f63d49933fb53ad9ccf4cdb5bc37)

GitOrigin-RevId: 4d86253fc663f1db85ae3afface3d9e16de2101b
2025-05-28 19:28:40 +00:00
Petr
0ff784051a PY-80565 False warning auto not assignable to StrEnum
(cherry picked from commit 6e9bf2dad1ca9d421d433def0d1c323a1fd3b301)

GitOrigin-RevId: d01ee3e16a8622ce0aa788b246bad7ff102f42de
2025-05-28 19:28:39 +00:00
Morgan Bartholomew
9783c1022d [python] PY-80775 don't error on every param spec
(cherry picked from commit ef1926878a81d524ef848f3d4b987abd0c062047)

IJ-MR-161660

GitOrigin-RevId: 757c6e95a30ff8a2bc6d6533e1098561f89409b3
2025-05-23 09:44:42 +00:00
Morgan Bartholomew
a96d82325e [pycharm] PY-80704 substitute param specs when collecting generics
(cherry picked from commit 06a0a758b1cebb9b05f0dcfa4dc860289283b131)

IJ-MR-161505

GitOrigin-RevId: 01bdea5c3b1cbee8c1fb38bf0bd1a366ed3623a9
2025-05-22 18:33:56 +00:00
Morgan Bartholomew
11af2c6f64 [python] PY-77223 suggest more stubs
(cherry picked from commit 0e8ecef2c2b5d2c9f37504cdd7591e73344041fa)

IJ-MR-163423

GitOrigin-RevId: 40f4c2b8bbaa3d1c81b32f2464efd639e2a90c78
2025-05-22 17:58:05 +00:00
Aleksandr.Govenko
7e7f8e464a PY-80421 PY-80471 PY-80824 PY-80550 false "unused variable" with for nested in if/else
PY-80564 Fp "Local variable might be referenced before assignment" when returning a comprehension in `try/except`

PY-80733 Fp "Local variable might be referenced before assignment" for `try/except` with a `break` inside a loop


Merge-request: IJ-MR-162320
Merged-by: Aleksandr Govenko <aleksandr.govenko@jetbrains.com>

(cherry picked from commit f3e5d76e1fb15e2951d395fa27768269e4d0cb8f)

IJ-MR-162320

GitOrigin-RevId: 76322f34176e25dd5cf4bc7fd329a9bbc8c7abd5
2025-05-16 17:01:43 +00:00
Aleksandr.Govenko
b571f8a1a3 PY-46592 Use of function parameter marked as possibly used before assignment
Create DELETE instructions only for unqualified names, as it seems we don't need other ones at the moment.


Merge-request: IJ-MR-159047
Merged-by: Aleksandr Govenko <aleksandr.govenko@jetbrains.com>

(cherry picked from commit e0d9c636c20facf587cb96d8117e6f5f804b847a)

IJ-MR-159047

GitOrigin-RevId: df8a820d13d2cffba0b24db975b30dfce809a678
2025-05-16 14:06:26 +00:00
Aleksandr.Govenko
0e075b98cb PY-79770 False positive "This code is unreachable" when the match has a wildcard case
(cherry picked from commit 4141b775b0b5a410c8ce1cf0366c6d14ab4a6dbf)

IJ-MR-157338

GitOrigin-RevId: 0c429835cb5a1ec9e836625bfbcca7c48b9e1160
2025-05-15 19:48:04 +00:00
Aleksandr.Govenko
5eac7df043 PY-79716 Incorrect type for a pattern variable shadowing the match subject
(cherry picked from commit 3d39751180b847dffd64e40e9e1cdbf2a38ab5e0)

IJ-MR-157338

GitOrigin-RevId: 18cc6b3f3186692f5c3e1dc2c542279551686a0e
2025-05-15 19:48:04 +00:00
Aleksandr.Govenko
9263d8e6f2 PY-79910 Variable incorrectly marked as unused or redeclared without usage in nested try/if blocks
When there is no `finally` in try-except statement, use transparent exit instruction to tie all normal exits from try-, else- and except- parts to the next instruction


Merge-request: IJ-MR-158265
Merged-by: Aleksandr Govenko <aleksandr.govenko@jetbrains.com>

(cherry picked from commit 734581b732a1a558b72811fdda977c470d045cc9)

IJ-MR-158265

GitOrigin-RevId: d3ca0e258fcbd71f014245f05e954c95a3c2a0ca
2025-05-14 17:50:23 +00:00
Aleksandr.Govenko
d8f57b77c6 PY-80524 Explicit return statement expected false positive for an if inside try / except
(cherry picked from commit 6877fc7b34622d7ae884233af96e06ea92c918c1)

IJ-MR-161824

GitOrigin-RevId: 8c3219ea8bb8f547f7c314af8cb0d432c042cd7c
2025-05-11 22:28:24 +00:00
Aleksandr.Govenko
a8934362ff Rename .java to .kt
PY-80524


(cherry picked from commit 4693b9762d778b7816bab73a3e24a9b934954559)

IJ-MR-161824

GitOrigin-RevId: 94e27715d8d6b3beb4d126112e5bf030ffc16f6b
2025-05-11 22:28:24 +00:00
Aleksandr.Govenko
7413b91db8 Rename .java to .kt
PY-80524


(cherry picked from commit b9e0ea17589e9124d4004fa147fab345c77f6f15)

IJ-MR-161824

GitOrigin-RevId: eff1243abd48f5e0785b6ecb97d88ec94652b26f
2025-05-11 22:28:23 +00:00
Mikhail Golubev
004fee8632 PY-80844 Disable the intention for converting f-strings into t-strings in Python < 3.14
(cherry picked from commit 97162fca82d36958d61641c56315295329018304)

GitOrigin-RevId: bd8a473ec0c175b8c5fdb49feec919c944777e81
2025-05-09 11:12:01 +00:00
Mikhail Golubev
f13659e3d5 PY-80850 Add support for Template strings as arguments of positional and keyword varargs
(cherry picked from commit a51c198623553ee9f0975c2b3bf7af0c86c88b7a)

GitOrigin-RevId: 72fbe0ba4137e2f02236979bbd84440ca7616c6a
2025-05-09 11:12:01 +00:00
Mikhail Golubev
388e48d5ad PY-80850 Insert "t" prefix on completion after "{" in regular strings where Templates are expected
(cherry picked from commit 6cc25474c2392b6b5de9958e58bb87db86854c5f)

GitOrigin-RevId: 74d7db586a75a3614481c29873a0a86b33416cc2
2025-05-09 11:12:01 +00:00
Mikhail Golubev
1cc8316591 PY-80844 Add a new intention for converting between f-strings and t-strings
(cherry picked from commit be3ab4d72de05a92c986af31ac8e40309d9754b1)

GitOrigin-RevId: fba9757978f5f669aa63e2657a3fcbd2923bec74
2025-05-09 11:12:01 +00:00
Daniil Kalinin
989485f44a PY-79967 Simplify Template type inference for t-strings
(cherry picked from commit 2964402eac2061e0230e612badc790d0d289f469)

GitOrigin-RevId: 74b859ff596970d08c5fd82f9a2a6112468804e1
2025-05-09 11:12:00 +00:00
Daniil Kalinin
328d4cc4e1 PY-79967 Introduce a separate method in PyStringLiteralUtil for t-strings
(cherry picked from commit 47b1a84c4331aa127a17e4f934c4b1dc28396cf0)

GitOrigin-RevId: 204f5ba41aa022b672e2d71db83b5bd3327770d4
2025-05-09 11:12:00 +00:00
Koudai Aono
5b8c2abc96 PY-79967 Support t-prefixed strings, Related PR: https://github.com/JetBrains/intellij-community/pull/302
* Add PYTHON314_PREFIXES to CompatibilityVisitor
* Patch typeshed, add t-string related stubs
* Infer `string.templatelib.Template` type for t-strings instead of plain `str`



(cherry picked from commit 0e913910ab9e0dca4052856b0585ce66265291c0)

GitOrigin-RevId: f03a68ae9aee458a74eccc19c38d8d3e4dc7491a
2025-05-09 11:11:59 +00:00
Mikhail Golubev
e8ad5a580a [pycharm] PY-38169 In quick documentation display .py sources as the origin for .pyi declarations
In particular point that `collection.abc` symbols are defined in _collections_abc.py.

IJ-MR-159943


(cherry picked from commit be9b7c9c72ae668cd59f5981a025bc6de8a8ca90)

IJ-MR-161809

GitOrigin-RevId: 779e3c4e9a2216c366b9ade2817739918420c0f7
2025-05-01 14:58:06 +00:00
Mikhail Golubev
12609db31a [pycharm] PY-80432 Fix navigation on collections.abc in imports from Typeshed to _collections_abc.py
IJ-MR-159943


(cherry picked from commit cc83e34de632c134a81c2d285b3c445ad76d2331)

IJ-MR-161809

GitOrigin-RevId: 66dca55d173d38d0a54df0c51220d0aa6bb5456d
2025-05-01 14:58:06 +00:00
Morgan Bartholomew
11f54723c8 [pycharm] PY-38169 special case definition location for standard collections that are wrong in typeshed
IJ-MR-159943


(cherry picked from commit c580a6408408965d909680ddba9b5b062d1c4782)

IJ-MR-161809

GitOrigin-RevId: 819e8f906003c02b80072b7c00c8f9e27e83dad2
2025-05-01 14:58:06 +00:00
Morgan Bartholomew
fa4b4eec34 [pycharm] PY-41827 check for union types in PySimplifyBooleanCheckInspection
to avoid ambiguous conditions


(cherry picked from commit f11c08f8dfea453a6676173bae57f96233429970)

IJ-MR-159379

GitOrigin-RevId: b700b1e5e7c077da7b61661d33c2a3aa135d9e21
2025-05-01 02:46:56 +00:00
Aleksandr.Govenko
572d9bc312 PY-78593 NPE: [PyControlFlowBuilder.visitCondition]
Merge-request: IJ-MR-158982
Merged-by: Aleksandr Govenko <aleksandr.govenko@jetbrains.com>

(cherry picked from commit 57f9a497e788f274ba20ccc95ddc07cb88f9c744)

IJ-MR-158982

GitOrigin-RevId: 2abea522a3ca869f49a7f22d73f13194992ad4f1
2025-04-24 20:42:05 +00:00
Aleksandr.Govenko
5bf9f9ff39 PY-80493 Inconsistent return inspection adding "return None" after every line in context manager
Merge-request: IJ-MR-160763
Merged-by: Aleksandr Govenko <aleksandr.govenko@jetbrains.com>

(cherry picked from commit b576e30d433d39e426c8854d3ad485594ac9e958)

IJ-MR-160763

GitOrigin-RevId: cf6a3a4c834ee1df160e1927af1b75eb16eec3dc
2025-04-24 02:27:25 +00:00
Petr
91f3589711 PY-76885 Conformance test failure: constructors_call_metaclass.py
Replace the verbatim comment with a link to the spec.

(cherry picked from commit 2c5012babed584cab4f5d9f0bb68e960a76e6bc4)

GitOrigin-RevId: 24f9c9df13b76bec1837922f05f47dd86eda0541
2025-04-23 23:27:31 +00:00
Petr
36e436bd70 PY-76885 Conformance test failure: constructors_call_metaclass.py
Assignability of metaclass's `__call__` return type to a type being constructed should be used instead of class equivalence.

(cherry picked from commit 94ae5d5870ca7deedc42f381456d13cb08d97ffc)

GitOrigin-RevId: d9e49b5813bafebf7ae3349d6c3232eaeaf5d925
2025-04-23 23:27:31 +00:00
Petr
9b70a7cf4a PY-76885 Conformance test failure: constructors_call_metaclass.py
(cherry picked from commit d4ae8eb0303ec141c9766599ede8be1d3bb538fb)

GitOrigin-RevId: 90a67c7cc6266752ab8cdfa3379e95123c3959f9
2025-04-23 23:27:31 +00:00
Petr
c52f4bbadf PY-80195 Literals of Enums broken after import (2025.1 EAP)
Consider enum attribute of an unknown type an enum member.

(cherry picked from commit 72c2fd37f18e4dde65d735f1032495df5aeda791)

GitOrigin-RevId: 7e56afe6a2d2efe0ea84ac20672aaf7712d8ed23
2025-04-23 23:27:31 +00:00
Petr
ed52e34951 [python] Inline oneliner method (PyAbstractClassInspection)
(cherry picked from commit 67821b8b8d8f643b5d93282fe9f6aebda33d3e28)

GitOrigin-RevId: eba0dfcb785d874aca1909e20cd6200245ead057
2025-04-23 23:27:31 +00:00
Petr
e1b380f8b9 PY-12132 Support ABC classes (pep-3119)
Report error for abstract method in non-abstract class.

(cherry picked from commit 824d45a310b95ada628d6e607ae1ced6e351d849)

GitOrigin-RevId: 446cfea2ab76611d13648c17d6f7419fdefa0954
2025-04-23 23:27:31 +00:00
Petr
42dd3f39bf PY-12132 Support ABC classes (pep-3119)
A class containing at least one method declared with `abstractmethod` decorator that hasn’t been overridden yet cannot be instantiated.

Also report instantiation of classes that directly inherit ABC or have metaclass set to ABCMeta.

(cherry picked from commit 55cb4dc90c55ddc63991a4c3f6b50b4e34a3b4bd)

GitOrigin-RevId: b37ea24490dc5ce7dcce87adf21aa6fe31e0e9dc
2025-04-23 23:27:31 +00:00
Petr
f09b6239ad PY-76824 Conformance test failure: directives_no_type_check.py
(cherry picked from commit d823c6dbc51959ec1d534814972b3323be8361cb)

GitOrigin-RevId: 2672df0698539b78d261e8667920072d2f921af7
2025-04-23 23:27:31 +00:00
Petr
b1b6fe88d3 PY-80169 Conformance test failure: exceptions_context_managers.py
(cherry picked from commit 9d0714edc4507cb90feb56f2ec72466b1b454c79)

GitOrigin-RevId: af485a6386b0c11fe348cbdfaa8b3767bf112cf5
2025-04-23 23:27:31 +00:00
Petr
8b35c2619c PY-80169 Conformance test failure: exceptions_context_managers.py
(cherry picked from commit 7d43529ffe01edc695ed2e3682ab38960df45961)

GitOrigin-RevId: 94259cd855bf74a032b764de478483a90fba2578
2025-04-23 23:27:31 +00:00
evgeny.bovykin
5cdec66645 PY-78250 Call PyDataclassTypeProvider before PyTypingTypeProvider so that it has a chance to infer the dataclass type first
(cherry picked from commit 18230af949275e3f585ce806fec25144731e347b)

IJ-MR-158112

GitOrigin-RevId: 50ed312ca85b506cd1a8e8411b80548f81b56487
2025-04-23 12:07:33 +00:00