Added support for not isinstance and not None type assertions (PY-2140)

This commit is contained in:
Andrey Vlasovskikh
2011-09-02 13:11:08 +04:00
parent dedcf13073
commit 2c8a328e78
14 changed files with 212 additions and 85 deletions
@@ -2,9 +2,10 @@
1(2) element: PyAssignmentStatement
2(3) WRITE ACCESS: sibling
3(4) element: PyIfStatement
4(5,9) READ ACCESS: sibling
4(5,10) READ ACCESS: sibling
5(6) element: PyStatementList. Condition: sibling:true
6(7) element: PyAssignmentStatement
7(8) element: PySubscriptionExpression
8(9) READ ACCESS: sibling
9() element: null
6(7) WRITETYPE ACCESS: sibling
7(8) element: PyAssignmentStatement
8(9) element: PySubscriptionExpression
9(10) READ ACCESS: sibling
10() element: null
@@ -1,10 +1,11 @@
0(1) element: null
1(2) element: PyWhileStatement
2(3,9) READ ACCESS: foo
2(3,10) READ ACCESS: foo
3(4) element: PyStatementList. Condition: foo:true
4(5) element: PyIfStatement
5(6,8) READ ACCESS: condition
5(6,9) READ ACCESS: condition
6(7) element: PyStatementList. Condition: condition:true
7(9) element: PyBreakStatement
8(1) element: PyPrintStatement
9() element: null
7(8) WRITETYPE ACCESS: condition
8(10) element: PyBreakStatement
9(1) element: PyPrintStatement
10() element: null
@@ -1,10 +1,11 @@
0(1) element: null
1(2) element: PyWhileStatement
2(3,9) READ ACCESS: foo
2(3,10) READ ACCESS: foo
3(4) element: PyStatementList. Condition: foo:true
4(5) element: PyIfStatement
5(6,8) READ ACCESS: condition
5(6,9) READ ACCESS: condition
6(7) element: PyStatementList. Condition: condition:true
7(1) element: PyContinueStatement
8(1) element: PyPrintStatement
9() element: null
7(8) WRITETYPE ACCESS: condition
8(1) element: PyContinueStatement
9(1) element: PyPrintStatement
10() element: null
@@ -1,16 +1,17 @@
0(1) element: null
1(2) element: PyIfStatement
2(3,12) READ ACCESS: markup
2(3,13) READ ACCESS: markup
3(4) element: PyStatementList. Condition: markup:true
4(5) element: PyTryExceptStatement
5(6,8) element: PyTryPart
6(7,8) element: PyReturnStatement
7(8,15) READ ACCESS: renderer
8(9) element: PyExceptPart
9(10) READ ACCESS: KeyError
10(11) element: PyRaiseStatement
11(15) READ ACCESS: Error
12(13) element: PyElsePart. Condition: markup:false
13(14) element: PyReturnStatement
14(15) READ ACCESS: body
15() element: null
4(5) WRITETYPE ACCESS: markup
5(6) element: PyTryExceptStatement
6(7,9) element: PyTryPart
7(8,9) element: PyReturnStatement
8(9,16) READ ACCESS: renderer
9(10) element: PyExceptPart
10(11) READ ACCESS: KeyError
11(12) element: PyRaiseStatement
12(16) READ ACCESS: Error
13(14) element: PyElsePart. Condition: markup:false
14(15) element: PyReturnStatement
15(16) READ ACCESS: body
16() element: null
@@ -6,8 +6,8 @@
5(6,9) READ ACCESS: b
6(7) element: PyStatementList. Condition: a == b:true
7(8) element: PyAssignmentStatement
8(24) WRITE ACCESS: var
9(10,21) element: PyIfPartElif. Condition: a == b:false
8(25) WRITE ACCESS: var
9(10,22) element: PyIfPartElif. Condition: a == b:false
10(11) READ ACCESS: aa
11(12) READ ACCESS: bb
12(13) element: PyIfPartElif. Condition: aa == bb:true
@@ -15,13 +15,14 @@
14(15) READ ACCESS: same_changet_expression
15(16) WRITE ACCESS: bbb
16(17) element: PyIfStatement
17(18,24) READ ACCESS: bbb
17(18,25) READ ACCESS: bbb
18(19) element: PyStatementList. Condition: bbb:true
19(20) element: PyAssignmentStatement
20(24) WRITE ACCESS: var
21(22) element: PyElsePart. Condition: aa == bb:false
22(23) element: PyAssignmentStatement
23(24) WRITE ACCESS: var
24(25) element: PyReturnStatement
25(26) READ ACCESS: var
26() element: null
19(20) WRITETYPE ACCESS: bbb
20(21) element: PyAssignmentStatement
21(25) WRITE ACCESS: var
22(23) element: PyElsePart. Condition: aa == bb:false
23(24) element: PyAssignmentStatement
24(25) WRITE ACCESS: var
25(26) element: PyReturnStatement
26(27) READ ACCESS: var
27() element: null
@@ -1,10 +1,11 @@
0(1) element: null
1(2) element: PyWhileStatement
2(3,9) READ ACCESS: foo
2(3,10) READ ACCESS: foo
3(4) element: PyStatementList. Condition: foo:true
4(5) element: PyIfStatement
5(6,8) READ ACCESS: condition
5(6,9) READ ACCESS: condition
6(7) element: PyStatementList. Condition: condition:true
7(9) element: PyReturnStatement
8(1) element: PyPrintStatement
9() element: null
7(8) WRITETYPE ACCESS: condition
8(10) element: PyReturnStatement
9(1) element: PyPrintStatement
10() element: null
@@ -2,9 +2,10 @@
1(2) element: PyAssignmentStatement
2(3) WRITE ACCESS: sibling
3(4) element: PyIfStatement
4(5,9) READ ACCESS: sibling
4(5,10) READ ACCESS: sibling
5(6) element: PyStatementList. Condition: sibling:true
6(7) element: PyAssignmentStatement
7(8) element: PySubscriptionExpression
8(9) READ ACCESS: sibling
9() element: null
6(7) WRITETYPE ACCESS: sibling
7(8) element: PyAssignmentStatement
8(9) element: PySubscriptionExpression
9(10) READ ACCESS: sibling
10() element: null
@@ -6,21 +6,23 @@
5(6,9) element: PyTryPart
6(7,9) element: PyAssignmentStatement
7(8,9) READ ACCESS: open
8(9,16) WRITE ACCESS: status
8(9,17) WRITE ACCESS: status
9(10) element: PyFinallyPart
10(11) element: PyIfStatement
11(12) READ ACCESS: status
12(13,25) READ ACCESS: None
12(13,27) READ ACCESS: None
13(14) element: PyStatementList. Condition: status is not None:true
14(15) element: PyPrintStatement
15(25) READ ACCESS: status
16(17) element: PyFinallyPart
17(18) element: PyIfStatement
18(19) READ ACCESS: status
19(20,23) READ ACCESS: None
20(21) element: PyStatementList. Condition: status is not None:true
21(22) element: PyPrintStatement
22(23) READ ACCESS: status
23(24) element: PyExpressionStatement
14(15) WRITETYPE ACCESS: status
15(16) element: PyPrintStatement
16(27) READ ACCESS: status
17(18) element: PyFinallyPart
18(19) element: PyIfStatement
19(20) READ ACCESS: status
20(21,25) READ ACCESS: None
21(22) element: PyStatementList. Condition: status is not None:true
22(23) WRITETYPE ACCESS: status
23(24) element: PyPrintStatement
24(25) READ ACCESS: status
25() element: null
25(26) element: PyExpressionStatement
26(27) READ ACCESS: status
27() element: null