[pycharm] fix control flow tests after adding CallInstruction

GitOrigin-RevId: 1878a3211a07b216a64df3efa6ac7cb1c94fd246
This commit is contained in:
Vladimir Koshelev
2024-07-09 17:29:42 +02:00
committed by intellij-monorepo-bot
parent 2625d2472b
commit 582edda2e8
31 changed files with 502 additions and 437 deletions

View File

@@ -3,9 +3,11 @@
2(3) READ ACCESS: isinstance
3(4) READ ACCESS: s
4(5) READ ACCESS: basestring
5(6) READ ACCESS: isinstance
6(7) READ ACCESS: x
7(8) READ ACCESS: int
8(9) ASSERTTYPE ACCESS: s
9(10) ASSERTTYPE ACCESS: x
10() element: null
5(6) element: PyCallExpression: isinstance
6(7) READ ACCESS: isinstance
7(8) READ ACCESS: x
8(9) READ ACCESS: int
9(10) element: PyCallExpression: isinstance
10(11) ASSERTTYPE ACCESS: s
11(12) ASSERTTYPE ACCESS: x
12() element: null

View File

@@ -1,9 +1,10 @@
0(1) element: null
1(2) element: PyAssertStatement
2(8) READ ACCESS: False
2(9) READ ACCESS: False
3(4) element: PyPrintStatement
4(5) element: PyAssertStatement
5(6) READ ACCESS: False
6(8) READ ACCESS: f
7(8) element: PyPrintStatement
8() element: null
6(7) READ ACCESS: f
7(9) element: PyCallExpression: f
8(9) element: PyPrintStatement
9() element: null

View File

@@ -2,25 +2,27 @@
1(2) element: PyWhileStatement
2(3) element: PyBinaryExpression
3(4,5) READ ACCESS: undefined1
4(13) element: null. Condition: undefined1:false
4(14) element: null. Condition: undefined1:false
5(6) element: null. Condition: undefined1:true
6(7) READ ACCESS: undefined2
7(8,9) WRITE ACCESS: r
8(13) element: null. Condition: (r := undefined2()):false
9(10) element: null. Condition: (r := undefined2()):true
10(11) element: PyStatementList. Condition: undefined1 and (r := undefined2()):true
11(12) element: PyPrintStatement
12(1) READ ACCESS: r
13(14) element: PyWhileStatement
14(15) element: PyBinaryExpression
15(16,17) READ ACCESS: undefined3
16(22) element: null. Condition: undefined3:true
17(18) element: null. Condition: undefined3:false
18(19) READ ACCESS: undefined4
19(20,21) WRITE ACCESS: r2
20(25) element: null. Condition: (r2 := undefined4()):false
21(22) element: null. Condition: (r2 := undefined4()):true
22(23) element: PyStatementList. Condition: undefined3 or (r2 := undefined4()):true
23(24) element: PyPrintStatement
24(13) READ ACCESS: r2
25() element: null
7(8) element: PyCallExpression: undefined2
8(9,10) WRITE ACCESS: r
9(14) element: null. Condition: (r := undefined2()):false
10(11) element: null. Condition: (r := undefined2()):true
11(12) element: PyStatementList. Condition: undefined1 and (r := undefined2()):true
12(13) element: PyPrintStatement
13(1) READ ACCESS: r
14(15) element: PyWhileStatement
15(16) element: PyBinaryExpression
16(17,18) READ ACCESS: undefined3
17(24) element: null. Condition: undefined3:true
18(19) element: null. Condition: undefined3:false
19(20) READ ACCESS: undefined4
20(21) element: PyCallExpression: undefined4
21(22,23) WRITE ACCESS: r2
22(27) element: null. Condition: (r2 := undefined4()):false
23(24) element: null. Condition: (r2 := undefined4()):true
24(25) element: PyStatementList. Condition: undefined3 or (r2 := undefined4()):true
25(26) element: PyPrintStatement
26(14) READ ACCESS: r2
27() element: null

View File

@@ -2,29 +2,31 @@
1(2) element: PyWhileStatement
2(3) element: PyBinaryExpression
3(4,5) READ ACCESS: undefined1
4(13) element: null. Condition: undefined1:false
4(14) element: null. Condition: undefined1:false
5(6) element: null. Condition: undefined1:true
6(7) READ ACCESS: undefined2
7(8,9) WRITE ACCESS: r
8(13) element: null. Condition: (r := undefined2()):false
9(10) element: null. Condition: (r := undefined2()):true
10(11) element: PyStatementList. Condition: undefined1 and (r := undefined2()):true
11(12) element: PyPrintStatement
12(1) READ ACCESS: r
13(14) element: PyElsePart. Condition: undefined1 and (r := undefined2()):false
14(15) element: PyPrintStatement
15(16) element: PyWhileStatement
16(17) element: PyBinaryExpression
17(18,19) READ ACCESS: undefined3
18(24) element: null. Condition: undefined3:true
19(20) element: null. Condition: undefined3:false
20(21) READ ACCESS: undefined4
21(22,23) WRITE ACCESS: r2
22(27) element: null. Condition: (r2 := undefined4()):false
23(24) element: null. Condition: (r2 := undefined4()):true
24(25) element: PyStatementList. Condition: undefined3 or (r2 := undefined4()):true
25(26) element: PyPrintStatement
26(15) READ ACCESS: r2
27(28) element: PyElsePart. Condition: undefined3 or (r2 := undefined4()):false
28(29) element: PyPrintStatement
29() element: null
7(8) element: PyCallExpression: undefined2
8(9,10) WRITE ACCESS: r
9(14) element: null. Condition: (r := undefined2()):false
10(11) element: null. Condition: (r := undefined2()):true
11(12) element: PyStatementList. Condition: undefined1 and (r := undefined2()):true
12(13) element: PyPrintStatement
13(1) READ ACCESS: r
14(15) element: PyElsePart. Condition: undefined1 and (r := undefined2()):false
15(16) element: PyPrintStatement
16(17) element: PyWhileStatement
17(18) element: PyBinaryExpression
18(19,20) READ ACCESS: undefined3
19(26) element: null. Condition: undefined3:true
20(21) element: null. Condition: undefined3:false
21(22) READ ACCESS: undefined4
22(23) element: PyCallExpression: undefined4
23(24,25) WRITE ACCESS: r2
24(29) element: null. Condition: (r2 := undefined4()):false
25(26) element: null. Condition: (r2 := undefined4()):true
26(27) element: PyStatementList. Condition: undefined3 or (r2 := undefined4()):true
27(28) element: PyPrintStatement
28(16) READ ACCESS: r2
29(30) element: PyElsePart. Condition: undefined3 or (r2 := undefined4()):false
30(31) element: PyPrintStatement
31() element: null

View File

@@ -6,11 +6,14 @@
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
8(9) READ ACCESS: s
9(10,12) element: PyCallExpression: len
10(11) element: PyStatementList. Condition: len(s) == 1:true
11(3,15) element: PyContinueStatement
12(13) element: PyExpressionStatement
13(14) READ ACCESS: sys
14(4,15) element: PyCallExpression: sys.exit
15(16) element: PyRaiseStatement
16(17) READ ACCESS: Exception
17(18) element: PyCallExpression: Exception
18() element: null

View File

@@ -1,17 +1,20 @@
0(1) element: null
1(2) element: PyTryExceptStatement
2(3,8) element: PyTryPart
3(4,8) element: PyAssignmentStatement
4(5,8) READ ACCESS: int
5(6,8) element: PySubscriptionExpression
6(7,8) READ ACCESS: sys
7(8,13) WRITE ACCESS: n
8(9) element: PyExceptPart
9(10) READ ACCESS: ValueError
10(11) element: PyPrintStatement
11(12) element: PyExpressionStatement
12(16) READ ACCESS: exit
13(14) element: PyPrintStatement
14(15) READ ACCESS: str
15(16) READ ACCESS: n
16() element: null
2(3,9) element: PyTryPart
3(4,9) element: PyAssignmentStatement
4(5,9) READ ACCESS: int
5(6,9) element: PySubscriptionExpression
6(7,9) READ ACCESS: sys
7(8,9) element: PyCallExpression: int
8(9,15) WRITE ACCESS: n
9(10) element: PyExceptPart
10(11) READ ACCESS: ValueError
11(12) element: PyPrintStatement
12(13) element: PyExpressionStatement
13(14) READ ACCESS: exit
14(15) element: PyCallExpression: exit
15(16) element: PyPrintStatement
16(17) READ ACCESS: str
17(18) READ ACCESS: n
18(19) element: PyCallExpression: str
19() element: null

View File

@@ -5,6 +5,7 @@
4(5) READ ACCESS: NoReturn
5(6) WRITE ACCESS: stop
6(7) element: PyExpressionStatement
7(9) READ ACCESS: stop
8(9) element: PyPrintStatement
9() element: null
7(8) READ ACCESS: stop
8(9) element: PyCallExpression: stop
9(10) element: PyPrintStatement
10() element: null

View File

@@ -2,18 +2,22 @@
1(2) WRITE ACCESS: self
2(3) element: PyAssignmentStatement
3(4) READ ACCESS: get_response
4(5) WRITE ACCESS: str
5(6) element: PyIfStatement
6(7) READ ACCESS: isinstance
7(8) READ ACCESS: str
8(9,14) READ ACCESS: int
9(10) element: PyStatementList. Condition: isinstance(str, int):true
10(11) ASSERTTYPE ACCESS: str
11(12) element: PyExpressionStatement
12(18) READ ACCESS: self
13(15) element: PyPrintStatement
14(15) ASSERTTYPE ACCESS: str
15(16) element: PyExpressionStatement
16(17) READ ACCESS: self
17(18) READ ACCESS: str
18() element: null
4(5) element: PyCallExpression: get_response
5(6) WRITE ACCESS: str
6(7) element: PyIfStatement
7(8) READ ACCESS: isinstance
8(9) READ ACCESS: str
9(10) READ ACCESS: int
10(11,17) element: PyCallExpression: isinstance
11(12) element: PyStatementList. Condition: isinstance(str, int):true
12(13) ASSERTTYPE ACCESS: str
13(14) element: PyExpressionStatement
14(15) READ ACCESS: self
15(16) element: PyCallExpression: self.fail
16(18) element: PyPrintStatement
17(18) ASSERTTYPE ACCESS: str
18(19) element: PyExpressionStatement
19(20) READ ACCESS: self
20(21) READ ACCESS: str
21(22) element: PyCallExpression: self.assert_
22() element: null

View File

@@ -2,18 +2,21 @@
1(2) element: PyImportStatement
2(3) WRITE ACCESS: sys
3(4) element: PyTryExceptStatement
4(5,10) element: PyTryPart
5(6,10) element: PyAssignmentStatement
6(7,10) READ ACCESS: int
7(8,10) element: PySubscriptionExpression
8(9,10) READ ACCESS: sys
9(10,15) WRITE ACCESS: n
10(11) element: PyExceptPart
11(12) READ ACCESS: ValueError
12(13) element: PyPrintStatement
13(14) element: PyExpressionStatement
14(18) READ ACCESS: sys
15(16) element: PyPrintStatement
16(17) READ ACCESS: str
17(18) READ ACCESS: n
18() element: null
4(5,11) element: PyTryPart
5(6,11) element: PyAssignmentStatement
6(7,11) READ ACCESS: int
7(8,11) element: PySubscriptionExpression
8(9,11) READ ACCESS: sys
9(10,11) element: PyCallExpression: int
10(11,17) WRITE ACCESS: n
11(12) element: PyExceptPart
12(13) READ ACCESS: ValueError
13(14) element: PyPrintStatement
14(15) element: PyExpressionStatement
15(16) READ ACCESS: sys
16(17) element: PyCallExpression: sys.exit
17(18) element: PyPrintStatement
18(19) READ ACCESS: str
19(20) READ ACCESS: n
20(21) element: PyCallExpression: str
21() element: null

View File

@@ -1,9 +1,10 @@
0(1) element: null
1(2) element: PyForStatement
2(3,7) READ ACCESS: range
3(4) element: PyTargetExpression: i
4(5) WRITE ACCESS: i
5(6) element: PyPrintStatement
6(3,7) READ ACCESS: i
7(8) element: PyPrintStatement
8() element: null
2(3) READ ACCESS: range
3(4,8) element: PyCallExpression: range
4(5) element: PyTargetExpression: i
5(6) WRITE ACCESS: i
6(7) element: PyPrintStatement
7(4,8) READ ACCESS: i
8(9) element: PyPrintStatement
9() element: null

View File

@@ -7,44 +7,52 @@
6(7) element: PyListCompExpression
7(8) element: PyCallExpression: dir
8(9) READ ACCESS: dir
9(10,19) READ ACCESS: object
10(11) element: PyTargetExpression: method
11(12) WRITE ACCESS: method
12(13) element: PyCallExpression: callable
13(14) READ ACCESS: callable
14(15) READ ACCESS: getattr
15(16) READ ACCESS: object
16(10,17,19) READ ACCESS: method
17(18) element: PyReferenceExpression: method. Condition: callable(getattr(object, method)):true
18(10,19) READ ACCESS: method
19(20) WRITE ACCESS: methodList
20(21) element: PyAssignmentStatement
21(22) element: PyBinaryExpression
22(23) element: PyBinaryExpression
23(24,25) READ ACCESS: collapse
24(31) element: null. Condition: collapse:false
25(26) element: null. Condition: collapse:true
26(27,28) element: PyLambdaExpression
27(31) element: null. Condition: (lambda s: " ".join(s.split())):false
28(29,30) element: null. Condition: (lambda s: " ".join(s.split())):true
29(34) element: null. Condition: collapse and (lambda s: " ".join(s.split())):true
30(31) element: null. Condition: collapse and (lambda s: " ".join(s.split())):false
31(32,33) element: PyLambdaExpression
32(34) element: null. Condition: (lambda s: s):false
33(34) element: null. Condition: (lambda s: s):true
34(35) WRITE ACCESS: processFunc
35(36) element: PyPrintStatement
36(37) element: PyListCompExpression
37(38) element: PyReferenceExpression: methodList
38(39,49) READ ACCESS: methodList
39(40) element: PyTargetExpression: method
40(41) WRITE ACCESS: method
41(42) element: PyBinaryExpression
42(43) READ ACCESS: method
43(44) READ ACCESS: spacing
44(45) READ ACCESS: processFunc
45(46) READ ACCESS: str
46(47) READ ACCESS: getattr
47(48) READ ACCESS: object
48(39,49) READ ACCESS: method
49() element: null
9(10) READ ACCESS: object
10(11,22) element: PyCallExpression: dir
11(12) element: PyTargetExpression: method
12(13) WRITE ACCESS: method
13(14) element: PyCallExpression: callable
14(15) READ ACCESS: callable
15(16) READ ACCESS: getattr
16(17) READ ACCESS: object
17(18) READ ACCESS: method
18(19) element: PyCallExpression: getattr
19(11,20,22) element: PyCallExpression: callable
20(21) element: PyReferenceExpression: method. Condition: callable(getattr(object, method)):true
21(11,22) READ ACCESS: method
22(23) WRITE ACCESS: methodList
23(24) element: PyAssignmentStatement
24(25) element: PyBinaryExpression
25(26) element: PyBinaryExpression
26(27,28) READ ACCESS: collapse
27(34) element: null. Condition: collapse:false
28(29) element: null. Condition: collapse:true
29(30,31) element: PyLambdaExpression
30(34) element: null. Condition: (lambda s: " ".join(s.split())):false
31(32,33) element: null. Condition: (lambda s: " ".join(s.split())):true
32(37) element: null. Condition: collapse and (lambda s: " ".join(s.split())):true
33(34) element: null. Condition: collapse and (lambda s: " ".join(s.split())):false
34(35,36) element: PyLambdaExpression
35(37) element: null. Condition: (lambda s: s):false
36(37) element: null. Condition: (lambda s: s):true
37(38) WRITE ACCESS: processFunc
38(39) element: PyPrintStatement
39(40) element: PyListCompExpression
40(41) element: PyReferenceExpression: methodList
41(42,56) READ ACCESS: methodList
42(43) element: PyTargetExpression: method
43(44) WRITE ACCESS: method
44(45) element: PyBinaryExpression
45(46) READ ACCESS: method
46(47) READ ACCESS: spacing
47(48) element: PyCallExpression: method.ljust
48(49) READ ACCESS: processFunc
49(50) READ ACCESS: str
50(51) READ ACCESS: getattr
51(52) READ ACCESS: object
52(53) READ ACCESS: method
53(54) element: PyCallExpression: getattr
54(55) element: PyCallExpression: str
55(42,56) element: PyCallExpression: processFunc
56(57) element: PyCallExpression: "\n".join
57() element: null

View File

@@ -1,7 +1,8 @@
0(1) element: null
1(2) element: PyFunction('f')
2(3) READ ACCESS: int
3(4) READ ACCESS: int
4(5) READ ACCESS: str
5(6) WRITE ACCESS: f
6() element: null
3(4) element: PyCallExpression: int
4(5) READ ACCESS: int
5(6) READ ACCESS: str
6(7) WRITE ACCESS: f
7() element: null

View File

@@ -2,20 +2,21 @@
1(2) element: PyIfStatement
2(3) READ ACCESS: isinstance
3(4) READ ACCESS: x
4(5,17) READ ACCESS: str
5(6) element: PyStatementList. Condition: not isinstance(x, str):true
6(7) ASSERTTYPE ACCESS: x
7(8) element: PyIfStatement
8(9) READ ACCESS: x
9(10,14) READ ACCESS: None
10(11) element: PyStatementList. Condition: x is None:true
11(12) ASSERTTYPE ACCESS: x
12(13) element: PyPrintStatement
13(15) READ ACCESS: x
14(15) ASSERTTYPE ACCESS: x
15(16) element: PyPrintStatement
16(18) READ ACCESS: x
17(18) ASSERTTYPE ACCESS: x
18(19) element: PyPrintStatement
19(20) READ ACCESS: x
20() element: null
4(5) READ ACCESS: str
5(6,18) element: PyCallExpression: isinstance
6(7) element: PyStatementList. Condition: not isinstance(x, str):true
7(8) ASSERTTYPE ACCESS: x
8(9) element: PyIfStatement
9(10) READ ACCESS: x
10(11,15) READ ACCESS: None
11(12) element: PyStatementList. Condition: x is None:true
12(13) ASSERTTYPE ACCESS: x
13(14) element: PyPrintStatement
14(16) READ ACCESS: x
15(16) ASSERTTYPE ACCESS: x
16(17) element: PyPrintStatement
17(19) READ ACCESS: x
18(19) ASSERTTYPE ACCESS: x
19(20) element: PyPrintStatement
20(21) READ ACCESS: x
21() element: null

View File

@@ -4,15 +4,17 @@
3(4) element: PyIfStatement
4(5) READ ACCESS: isinstance
5(6) READ ACCESS: s
6(7,12) READ ACCESS: basestring
7(8) element: PyStatementList. Condition: (isinstance(s, basestring)):true
8(9) ASSERTTYPE ACCESS: s
9(10) element: PyAssignmentStatement
10(11) READ ACCESS: s
11(17) WRITE ACCESS: s2
12(13) element: PyStatementList. Condition: (isinstance(s, basestring)):false
13(14) ASSERTTYPE ACCESS: s
14(15) element: PyAssignmentStatement
15(16) READ ACCESS: s
16(17) WRITE ACCESS: x
17() element: null
6(7) READ ACCESS: basestring
7(8,14) element: PyCallExpression: isinstance
8(9) element: PyStatementList. Condition: (isinstance(s, basestring)):true
9(10) ASSERTTYPE ACCESS: s
10(11) element: PyAssignmentStatement
11(12) READ ACCESS: s
12(13) element: PyCallExpression: s.split
13(19) WRITE ACCESS: s2
14(15) element: PyStatementList. Condition: (isinstance(s, basestring)):false
15(16) ASSERTTYPE ACCESS: s
16(17) element: PyAssignmentStatement
17(18) READ ACCESS: s
18(19) WRITE ACCESS: x
19() element: null

View File

@@ -2,10 +2,11 @@
1(2) element: PyExpressionStatement
2(3) element: PySetCompExpression
3(4) element: PyCallExpression: range
4(5,10) READ ACCESS: range
5(6) element: PyTargetExpression: i
6(7) WRITE ACCESS: i
7(8) element: PyParenthesizedExpression
8(9) element: PyLambdaExpression
9(5,10) READ ACCESS: i
10() element: null
4(5) READ ACCESS: range
5(6,11) element: PyCallExpression: range
6(7) element: PyTargetExpression: i
7(8) WRITE ACCESS: i
8(9) element: PyParenthesizedExpression
9(10) element: PyLambdaExpression
10(6,11) READ ACCESS: i
11() element: null

View File

@@ -2,10 +2,11 @@
1(2) element: PyExpressionStatement
2(3) element: PySetCompExpression
3(4) element: PyCallExpression: range
4(5,10) READ ACCESS: range
5(6) element: PyTargetExpression: ii
6(7) WRITE ACCESS: ii
7(8) element: PyParenthesizedExpression
8(9) element: PyLambdaExpression
9(5,10) READ ACCESS: ii
10() element: null
4(5) READ ACCESS: range
5(6,11) element: PyCallExpression: range
6(7) element: PyTargetExpression: ii
7(8) WRITE ACCESS: ii
8(9) element: PyParenthesizedExpression
9(10) element: PyLambdaExpression
10(6,11) READ ACCESS: ii
11() element: null

View File

@@ -2,21 +2,22 @@
1(2) element: PyExpressionStatement
2(3) element: PyListCompExpression
3(4) element: PyCallExpression: params.items
4(5,21) READ ACCESS: params
5(6) element: PyTupleExpression
6(7) WRITE ACCESS: k
7(8) WRITE ACCESS: v
8(9) element: PyReferenceExpression: k
9(5,10,21) READ ACCESS: k
10(11) element: PyReferenceExpression: v. Condition: k:true
11(5,12,21) READ ACCESS: v
12(13) element: PyTupleExpression
13(14) WRITE ACCESS: x
14(15) WRITE ACCESS: y
15(16) element: PyBinaryExpression
16(17) READ ACCESS: x
17(5,12,18,21) READ ACCESS: y
18(19) element: PyParenthesizedExpression. Condition: x > y:true
19(20) READ ACCESS: x
20(5,12,21) READ ACCESS: y
21() element: null
4(5) READ ACCESS: params
5(6,22) element: PyCallExpression: params.items
6(7) element: PyTupleExpression
7(8) WRITE ACCESS: k
8(9) WRITE ACCESS: v
9(10) element: PyReferenceExpression: k
10(6,11,22) READ ACCESS: k
11(12) element: PyReferenceExpression: v. Condition: k:true
12(6,13,22) READ ACCESS: v
13(14) element: PyTupleExpression
14(15) WRITE ACCESS: x
15(16) WRITE ACCESS: y
16(17) element: PyBinaryExpression
17(18) READ ACCESS: x
18(6,13,19,22) READ ACCESS: y
19(20) element: PyParenthesizedExpression. Condition: x > y:true
20(21) READ ACCESS: x
21(6,13,22) READ ACCESS: y
22() element: null

View File

@@ -1,5 +1,6 @@
0(1) element: null
1(2) element: PyFunction('f')
2(3) READ ACCESS: list
3(4) WRITE ACCESS: f
4() element: null
3(4) element: PyCallExpression: list
4(5) WRITE ACCESS: f
5() element: null

View File

@@ -1,12 +1,14 @@
0(1) element: null
1(2) element: PyTryExceptStatement
2(3,5) element: PyTryPart
3(4,5) element: PyRaiseStatement
4(5,11) READ ACCESS: Exception
5(6) element: PyExceptPart
6(7) element: PyAssignmentStatement
7(8) READ ACCESS: Exception
8(9) WRITE ACCESS: foo
9(10) element: PyRaiseStatement
10(11) READ ACCESS: foo
11() element: null
2(3,6) element: PyTryPart
3(4,6) element: PyRaiseStatement
4(5,6) READ ACCESS: Exception
5(6,13) element: PyCallExpression: Exception
6(7) element: PyExceptPart
7(8) element: PyAssignmentStatement
8(9) READ ACCESS: Exception
9(10) element: PyCallExpression: Exception
10(11) WRITE ACCESS: foo
11(12) element: PyRaiseStatement
12(13) READ ACCESS: foo
13() element: null

View File

@@ -9,4 +9,5 @@
8(9) element: PyParenthesizedExpression
9(10) READ ACCESS: name
10(5,11) READ ACCESS: val
11() element: null
11(12) element: PyCallExpression: dict
12() element: null

View File

@@ -6,4 +6,5 @@
5(6) WRITE ACCESS: Bar
6(7) element: PyExpressionStatement
7(8) READ ACCESS: Bar
8() element: null
8(9) element: PyCallExpression: Bar
9() element: null

View File

@@ -2,30 +2,36 @@
1(2) element: PyImportStatement
2(3) WRITE ACCESS: sys
3(4) element: PyTryExceptStatement
4(5,15,22,25) element: PyTryPart
5(6,15,22,25) element: PyAssignmentStatement
6(7,15,22,25) READ ACCESS: open
7(8,15,22,25) WRITE ACCESS: f
8(9,15,22,25) element: PyAssignmentStatement
9(10,15,22,25) READ ACCESS: f
10(11,15,22,25) WRITE ACCESS: s
11(12,15,22,25) element: PyAssignmentStatement
12(13,15,22,25) READ ACCESS: int
13(14,15,22,25) READ ACCESS: s
14(15,22,25,30) WRITE ACCESS: i
15(16) element: PyExceptPart
16(17) READ ACCESS: IOError
17(18) WRITE ACCESS: errno
18(19) WRITE ACCESS: strerror
19(20) element: PyPrintStatement
20(21) READ ACCESS: errno
21(30) READ ACCESS: strerror
22(23) element: PyExceptPart
23(24) READ ACCESS: ValueError
24(30) element: PyPrintStatement
25(26) element: PyExceptPart
26(27) element: PyPrintStatement
27(28) element: PySubscriptionExpression
28(29) READ ACCESS: sys
29(30) element: PyRaiseStatement
30() element: null
4(5,19,27,30) element: PyTryPart
5(6,19,27,30) element: PyAssignmentStatement
6(7,19,27,30) READ ACCESS: open
7(8,19,27,30) element: PyCallExpression: open
8(9,19,27,30) WRITE ACCESS: f
9(10,19,27,30) element: PyAssignmentStatement
10(11,19,27,30) READ ACCESS: f
11(12,19,27,30) element: PyCallExpression: f.readline
12(13,19,27,30) WRITE ACCESS: s
13(14,19,27,30) element: PyAssignmentStatement
14(15,19,27,30) READ ACCESS: int
15(16,19,27,30) READ ACCESS: s
16(17,19,27,30) element: PyCallExpression: s.strip
17(18,19,27,30) element: PyCallExpression: int
18(19,27,30,36) WRITE ACCESS: i
19(20) element: PyExceptPart
20(21) READ ACCESS: IOError
21(22) WRITE ACCESS: errno
22(23) WRITE ACCESS: strerror
23(24) element: PyPrintStatement
24(25) READ ACCESS: errno
25(26) READ ACCESS: strerror
26(36) element: PyCallExpression: "I/O error({0}): {1}".format
27(28) element: PyExceptPart
28(29) READ ACCESS: ValueError
29(36) element: PyPrintStatement
30(31) element: PyExceptPart
31(32) element: PyPrintStatement
32(33) element: PySubscriptionExpression
33(34) READ ACCESS: sys
34(35) element: PyCallExpression: sys.exc_info
35(36) element: PyRaiseStatement
36() element: null

View File

@@ -2,12 +2,13 @@
1(2) element: PyTryExceptStatement
2(3,8) element: PyTryPart
3(4,8) element: PyForStatement
4(5,8,11) READ ACCESS: bar
4(5,8,12) READ ACCESS: bar
5(6,8) element: PyTargetExpression: i
6(7,8) WRITE ACCESS: i
7(8,11) element: PyBreakStatement
7(8,12) element: PyBreakStatement
8(9) element: PyExceptPart
9(10) element: PyRaiseStatement
10(12) READ ACCESS: Exception
11(12) element: PyReturnStatement
12() element: null
10(11) READ ACCESS: Exception
11(13) element: PyCallExpression: Exception
12(13) element: PyReturnStatement
13() element: null

View File

@@ -1,21 +1,23 @@
0(1) element: null
1(2) element: PyAssignmentStatement
2(3) READ ACCESS: dict
3(4) WRITE ACCESS: d
4(5) element: PyTryExceptStatement
5(6,13,16) element: PyTryPart
6(7,13,16) element: PyAssignmentStatement
7(8,13,16) element: PySubscriptionExpression
8(9,13,16) READ ACCESS: d
9(10,13,16) WRITE ACCESS: v
10(11,16) element: PyElsePart
11(12,16) element: PyPrintStatement
12(16,18) READ ACCESS: v
13(14,16) element: PyExceptPart
14(15,16) READ ACCESS: KeyError
15(16,18) element: PyPrintStatement
16(17) element: PyFinallyPart
17(20) element: PyPrintStatement
3(4) element: PyCallExpression: dict
4(5) WRITE ACCESS: d
5(6) element: PyTryExceptStatement
6(7,15,18) element: PyTryPart
7(8,15,18) element: PyAssignmentStatement
8(9,15,18) element: PySubscriptionExpression
9(10,15,18) READ ACCESS: d
10(11,15,18) WRITE ACCESS: v
11(12,18) element: PyElsePart
12(13,18) element: PyPrintStatement
13(14,18) READ ACCESS: v
14(18,20) element: PyCallExpression: 'element value {0}'.format
15(16,18) element: PyExceptPart
16(17,18) READ ACCESS: KeyError
17(18,20) element: PyPrintStatement
18(19) element: PyFinallyPart
19(20) element: PyPrintStatement
20() element: null
19(22) element: PyPrintStatement
20(21) element: PyFinallyPart
21(22) element: PyPrintStatement
22() element: null

View File

@@ -3,28 +3,30 @@
2(3) READ ACCESS: None
3(4) WRITE ACCESS: status
4(5) element: PyTryExceptStatement
5(6,9) element: PyTryPart
6(7,9) element: PyAssignmentStatement
7(8,9) READ ACCESS: open
8(9,18) WRITE ACCESS: status
9(10) element: PyFinallyPart
10(11) element: PyIfStatement
11(12) READ ACCESS: status
12(13,17) READ ACCESS: None
13(14) element: PyStatementList. Condition: status is not None:true
14(15) ASSERTTYPE ACCESS: status
15(16) element: PyPrintStatement
16(29) READ ACCESS: status
17(29) ASSERTTYPE ACCESS: status
18(19) element: PyFinallyPart
19(20) element: PyIfStatement
20(21) READ ACCESS: status
21(22,26) READ ACCESS: None
22(23) element: PyStatementList. Condition: status is not None:true
23(24) ASSERTTYPE ACCESS: status
24(25) element: PyPrintStatement
25(27) READ ACCESS: status
26(27) ASSERTTYPE ACCESS: status
27(28) element: PyExpressionStatement
28(29) READ ACCESS: status
29() element: null
5(6,10) element: PyTryPart
6(7,10) element: PyAssignmentStatement
7(8,10) READ ACCESS: open
8(9,10) element: PyCallExpression: open
9(10,19) WRITE ACCESS: status
10(11) element: PyFinallyPart
11(12) element: PyIfStatement
12(13) READ ACCESS: status
13(14,18) READ ACCESS: None
14(15) element: PyStatementList. Condition: status is not None:true
15(16) ASSERTTYPE ACCESS: status
16(17) element: PyPrintStatement
17(31) READ ACCESS: status
18(31) ASSERTTYPE ACCESS: status
19(20) element: PyFinallyPart
20(21) element: PyIfStatement
21(22) READ ACCESS: status
22(23,27) READ ACCESS: None
23(24) element: PyStatementList. Condition: status is not None:true
24(25) ASSERTTYPE ACCESS: status
25(26) element: PyPrintStatement
26(28) READ ACCESS: status
27(28) ASSERTTYPE ACCESS: status
28(29) element: PyExpressionStatement
29(30) READ ACCESS: status
30(31) element: PyCallExpression: status.close
31() element: null

View File

@@ -2,63 +2,64 @@
1(2) element: PyAssignmentStatement
2(3) WRITE ACCESS: a
3(4) element: PyTryExceptStatement
4(5,55) element: PyTryPart
5(6,55) element: PyAssignmentStatement
6(7,55) WRITE ACCESS: b
7(8,55) element: PyForStatement
8(9,55) element: PyTargetExpression: x
9(10,55) WRITE ACCESS: x
10(11,55) element: PyTryExceptStatement
11(12,45) element: PyTryPart
12(13,45) element: PyAssignmentStatement
13(14,45) WRITE ACCESS: c
14(15,45) element: PyTryExceptStatement
15(16,37) element: PyTryPart
16(17,37) element: PyAssignmentStatement
17(18,37) WRITE ACCESS: d
18(19,37) element: PyIfStatement
19(20,22,37) READ ACCESS: x
4(5,56) element: PyTryPart
5(6,56) element: PyAssignmentStatement
6(7,56) WRITE ACCESS: b
7(8,56) element: PyForStatement
8(9,56) element: PyTargetExpression: x
9(10,56) WRITE ACCESS: x
10(11,56) element: PyTryExceptStatement
11(12,46) element: PyTryPart
12(13,46) element: PyAssignmentStatement
13(14,46) WRITE ACCESS: c
14(15,46) element: PyTryExceptStatement
15(16,38) element: PyTryPart
16(17,38) element: PyAssignmentStatement
17(18,38) WRITE ACCESS: d
18(19,38) element: PyIfStatement
19(20,22,38) READ ACCESS: x
20(21) element: PyStatementList. Condition: x == 0:true
21(37,40) element: PyBreakStatement
22(23,37) element: PyIfPartElif. Condition: x == 0:false
23(24,26,37) READ ACCESS: x
21(38,41) element: PyBreakStatement
22(23,38) element: PyIfPartElif. Condition: x == 0:false
23(24,26,38) READ ACCESS: x
24(25) element: PyStatementList. Condition: x == 1:true
25(7,37,40) element: PyContinueStatement
26(27,37) element: PyIfPartElif. Condition: x == 1:false
27(28,31,37) READ ACCESS: x
25(7,38,41) element: PyContinueStatement
26(27,38) element: PyIfPartElif. Condition: x == 1:false
27(28,32,38) READ ACCESS: x
28(29) element: PyStatementList. Condition: x == 2:true
29(30,37) element: PyRaiseStatement
30(37) READ ACCESS: Exception
31(32,37) element: PyIfPartElif. Condition: x == 2:false
32(33,35,37) READ ACCESS: x
33(34) element: PyStatementList. Condition: x == 3:true
34(37) element: PyReturnStatement
35(36,37) element: PyAssignmentStatement
36(37,40) WRITE ACCESS: e
37(38,45) element: PyFinallyPart
38(39,45) element: PyAssignmentStatement
39(45) WRITE ACCESS: f
40(41,45) element: PyFinallyPart
41(42,45) element: PyAssignmentStatement
42(43,45,48) WRITE ACCESS: f
43(44,45) element: PyAssignmentStatement
44(45,48) WRITE ACCESS: g
45(46,55) element: PyFinallyPart
46(47,55) element: PyAssignmentStatement
47(55) WRITE ACCESS: h
48(49,55) element: PyFinallyPart
49(50,55) element: PyAssignmentStatement
50(51,53,55) WRITE ACCESS: h
51(52,55) element: PyAssignmentStatement
52(8,53,55) WRITE ACCESS: i
53(54,55) element: PyAssignmentStatement
54(55,58) WRITE ACCESS: j
55(56) element: PyFinallyPart
56(57) element: PyAssignmentStatement
57(63) WRITE ACCESS: k
58(59) element: PyFinallyPart
59(60) element: PyAssignmentStatement
60(61) WRITE ACCESS: k
61(62) element: PyAssignmentStatement
62(63) WRITE ACCESS: l
63() element: null
29(30,38) element: PyRaiseStatement
30(31,38) READ ACCESS: Exception
31(38) element: PyCallExpression: Exception
32(33,38) element: PyIfPartElif. Condition: x == 2:false
33(34,36,38) READ ACCESS: x
34(35) element: PyStatementList. Condition: x == 3:true
35(38) element: PyReturnStatement
36(37,38) element: PyAssignmentStatement
37(38,41) WRITE ACCESS: e
38(39,46) element: PyFinallyPart
39(40,46) element: PyAssignmentStatement
40(46) WRITE ACCESS: f
41(42,46) element: PyFinallyPart
42(43,46) element: PyAssignmentStatement
43(44,46,49) WRITE ACCESS: f
44(45,46) element: PyAssignmentStatement
45(46,49) WRITE ACCESS: g
46(47,56) element: PyFinallyPart
47(48,56) element: PyAssignmentStatement
48(56) WRITE ACCESS: h
49(50,56) element: PyFinallyPart
50(51,56) element: PyAssignmentStatement
51(52,54,56) WRITE ACCESS: h
52(53,56) element: PyAssignmentStatement
53(8,54,56) WRITE ACCESS: i
54(55,56) element: PyAssignmentStatement
55(56,59) WRITE ACCESS: j
56(57) element: PyFinallyPart
57(58) element: PyAssignmentStatement
58(64) WRITE ACCESS: k
59(60) element: PyFinallyPart
60(61) element: PyAssignmentStatement
61(62) WRITE ACCESS: k
62(63) element: PyAssignmentStatement
63(64) WRITE ACCESS: l
64() element: null

View File

@@ -17,13 +17,15 @@
16(17) WRITE ACCESS: checkit
17(18) element: PyAssignmentStatement
18(19) READ ACCESS: foo
19(20) WRITE ACCESS: x
20(21) element: PyIfStatement
21(22) READ ACCESS: checkit
22(23,27) READ ACCESS: x
23(24) element: PyStatementList. Condition: checkit(x):true
24(25) ASSERTTYPE ACCESS: x
25(26) element: PyPrintStatement
26(28) READ ACCESS: x
27(28) element: PyStatementList. Condition: checkit(x):false
28() element: null
19(20) element: PyCallExpression: foo.bar
20(21) WRITE ACCESS: x
21(22) element: PyIfStatement
22(23) READ ACCESS: checkit
23(24) READ ACCESS: x
24(25,29) element: PyCallExpression: checkit
25(26) element: PyStatementList. Condition: checkit(x):true
26(27) ASSERTTYPE ACCESS: x
27(28) element: PyPrintStatement
28(30) READ ACCESS: x
29(30) element: PyStatementList. Condition: checkit(x):false
30() element: null

View File

@@ -17,17 +17,19 @@
16(17) WRITE ACCESS: checkit
17(18) element: PyAssignmentStatement
18(19) READ ACCESS: foo
19(20) WRITE ACCESS: x
20(21) element: PyAssignmentStatement
21(22) element: PyBinaryExpression
22(23) READ ACCESS: checkit
23(24,26) READ ACCESS: foo
24(31) element: null. Condition: checkit(foo):false
26(25) ASSERTTYPE ACCESS: foo
25(27) element: null. Condition: checkit(foo):true
27(28) element: PySubscriptionExpression
28(29,30) READ ACCESS: foo
29(31) element: null. Condition: foo[123]:false
30(31) element: null. Condition: foo[123]:true
31(32) WRITE ACCESS: y
32() element: null
19(20) element: PyCallExpression: foo.bar
20(21) WRITE ACCESS: x
21(22) element: PyAssignmentStatement
22(23) element: PyBinaryExpression
23(24) READ ACCESS: checkit
24(25) READ ACCESS: foo
25(26,28) element: PyCallExpression: checkit
26(33) element: null. Condition: checkit(foo):false
28(27) ASSERTTYPE ACCESS: foo
27(29) element: null. Condition: checkit(foo):true
29(30) element: PySubscriptionExpression
30(31,32) READ ACCESS: foo
31(33) element: null. Condition: foo[123]:false
32(33) element: null. Condition: foo[123]:true
33(34) WRITE ACCESS: y
34() element: null

View File

@@ -17,13 +17,16 @@
16(17) WRITE ACCESS: checkit
17(18) element: PyAssignmentStatement
18(19) READ ACCESS: foo
19(20) WRITE ACCESS: x
20(21) element: PyWhileStatement
21(22) READ ACCESS: checkit
22(23,28) READ ACCESS: x
23(24) element: PyStatementList. Condition: checkit(x):true
24(25) ASSERTTYPE ACCESS: x
25(26) element: PyAssignmentStatement
26(27) READ ACCESS: foo
27(20) WRITE ACCESS: x
28() element: null
19(20) element: PyCallExpression: foo.bar
20(21) WRITE ACCESS: x
21(22) element: PyWhileStatement
22(23) READ ACCESS: checkit
23(24) READ ACCESS: x
24(25,31) element: PyCallExpression: checkit
25(26) element: PyStatementList. Condition: checkit(x):true
26(27) ASSERTTYPE ACCESS: x
27(28) element: PyAssignmentStatement
28(29) READ ACCESS: foo
29(30) element: PyCallExpression: foo.bar
30(21) WRITE ACCESS: x
31() element: null

View File

@@ -3,19 +3,21 @@
2(3) WRITE ACCESS: A
3(4) element: PyAssignmentStatement
4(5) READ ACCESS: object
5(6) WRITE ACCESS: var
6(7) element: PyIfStatement
7(8) element: PyBinaryExpression
8(9) READ ACCESS: isinstance
9(10) READ ACCESS: var
10(11,12) READ ACCESS: A
11(19) element: null. Condition: isinstance(var, A):false
12(13) element: null. Condition: isinstance(var, A):true
13(14) ASSERTTYPE ACCESS: var
14(15,16) READ ACCESS: var
15(19) element: null. Condition: var:false
16(17) element: null. Condition: var:true
17(18) element: PyStatementList. Condition: isinstance(var, A) and var:true
18(20) ASSERTTYPE ACCESS: var
19(20) ASSERTTYPE ACCESS: var
20() element: null
5(6) element: PyCallExpression: object
6(7) WRITE ACCESS: var
7(8) element: PyIfStatement
8(9) element: PyBinaryExpression
9(10) READ ACCESS: isinstance
10(11) READ ACCESS: var
11(12) READ ACCESS: A
12(13,14) element: PyCallExpression: isinstance
13(21) element: null. Condition: isinstance(var, A):false
14(15) element: null. Condition: isinstance(var, A):true
15(16) ASSERTTYPE ACCESS: var
16(17,18) READ ACCESS: var
17(21) element: null. Condition: var:false
18(19) element: null. Condition: var:true
19(20) element: PyStatementList. Condition: isinstance(var, A) and var:true
20(22) ASSERTTYPE ACCESS: var
21(22) ASSERTTYPE ACCESS: var
22() element: null

View File

@@ -6,22 +6,24 @@
5(6) element: PyIfStatement
6(7) READ ACCESS: isinstance
7(8) READ ACCESS: var
8(9,25) READ ACCESS: A
9(10) element: PyStatementList. Condition: isinstance(var, A):true
10(11) ASSERTTYPE ACCESS: var
11(12) element: PyIfStatement
12(13) element: PyBinaryExpression
13(14) READ ACCESS: isinstance
14(15) READ ACCESS: var
15(16,17) READ ACCESS: B
16(22) element: null. Condition: isinstance(var, B):true
17(18) element: null. Condition: isinstance(var, B):false
18(19) ASSERTTYPE ACCESS: var
19(20,21) READ ACCESS: var
20(24) element: null. Condition: var:false
21(22) element: null. Condition: var:true
22(23) element: PyStatementList. Condition: isinstance(var, B) or var:true
23(26) ASSERTTYPE ACCESS: var
24(26) ASSERTTYPE ACCESS: var
25(26) ASSERTTYPE ACCESS: var
26() element: null
8(9) READ ACCESS: A
9(10,27) element: PyCallExpression: isinstance
10(11) element: PyStatementList. Condition: isinstance(var, A):true
11(12) ASSERTTYPE ACCESS: var
12(13) element: PyIfStatement
13(14) element: PyBinaryExpression
14(15) READ ACCESS: isinstance
15(16) READ ACCESS: var
16(17) READ ACCESS: B
17(18,19) element: PyCallExpression: isinstance
18(24) element: null. Condition: isinstance(var, B):true
19(20) element: null. Condition: isinstance(var, B):false
20(21) ASSERTTYPE ACCESS: var
21(22,23) READ ACCESS: var
22(26) element: null. Condition: var:false
23(24) element: null. Condition: var:true
24(25) element: PyStatementList. Condition: isinstance(var, B) or var:true
25(28) ASSERTTYPE ACCESS: var
26(28) ASSERTTYPE ACCESS: var
27(28) ASSERTTYPE ACCESS: var
28() element: null