mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-04 08:51:02 +07:00
Create pending edge from continue when loop has at least one iteration (PY-29767)
There is no edge between loop statement and next after loop instruction when loop has at least one iteration so `continue` is marked as one more last instruction in the loop
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
import sys
|
||||
|
||||
for s in "abc":
|
||||
if len(s) == 1:
|
||||
continue
|
||||
sys.exit(0)
|
||||
raise Exception("the end")
|
||||
@@ -0,0 +1,16 @@
|
||||
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,11) READ ACCESS: s
|
||||
9(10) element: PyStatementList. Condition: len(s) == 1:true
|
||||
10(3,13) element: PyContinueStatement
|
||||
11(12) element: PyExpressionStatement
|
||||
12(15) READ ACCESS: sys
|
||||
13(14) element: PyRaiseStatement
|
||||
14(15) READ ACCESS: Exception
|
||||
15() element: null
|
||||
@@ -23,7 +23,7 @@
|
||||
22(23,37) element: PyIfPartElif. Condition: x == 0:false
|
||||
23(24,26,37) READ ACCESS: x
|
||||
24(25) element: PyStatementList. Condition: x == 1:true
|
||||
25(7,37) element: PyContinueStatement
|
||||
25(7,37,40) element: PyContinueStatement
|
||||
26(27,37) element: PyIfPartElif. Condition: x == 1:false
|
||||
27(28,31,37) READ ACCESS: x
|
||||
28(29) element: PyStatementList. Condition: x == 2:true
|
||||
|
||||
Reference in New Issue
Block a user