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

21 lines
671 B
Plaintext

0(1) element: null
1(2) element: PyImportStatement
2(3) WRITE ACCESS: sys
3(4) element: PyForStatement
4(5) element: PyTargetExpression: s
5(6) WRITE ACCESS: s
6(7) element: PyIfStatement
7(8) READ ACCESS: len
8(9) READ ACCESS: s
9(10,11) element: PyCallExpression: len
10(14) element: null. Condition: len(s) == 1:false
11(12) element: null. Condition: len(s) == 1:true
12(13) element: PyStatementList
13(3,17) element: PyContinueStatement
14(15) element: PyExpressionStatement
15(16) READ ACCESS: sys
16(4,17) element: PyCallExpression: sys.exit
17(18) raise: PyRaiseStatement
18(19) READ ACCESS: Exception
19(20) element: PyCallExpression: Exception
20() element: null