Files
Aleksandr.Govenko 6659947437 PY-51564 "code is unreachable" warning does not consider that context managers can abort
Added PyWithContextExitInstruction that works as 'except' node in try-except statements, but for 'with context-manager' statements. This allows to see when it can recover from exception by checking the type of `contextlib.AbstractContextManager`

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

GitOrigin-RevId: fd5a139de31d47136cc86b4a7e090a20b73b8744
2025-02-14 13:18:20 +00:00

15 lines
478 B
Plaintext

0(1) element: null
1(2) element: PyWithStatement
2(4) READ ACCESS: context_manager
3(13) exit context manager: context_manager
4(5,3) element: PyAssertStatement
5(6,3) READ ACCESS: True
6(7,3) READ ACCESS: f
7(8,3) element: PyCallExpression: f
8(9,10,3) READ ACCESS: True
9(11) element: null. Condition: True:false
10(12) element: null. Condition: True:true
11(14,3) raise: PyAssertStatement
12(13,3) element: PyPrintStatement
13(14) element: PyPrintStatement
14() element: null