From 5c4c31164261941c8776827c7c6de3da3bc23c26 Mon Sep 17 00:00:00 2001 From: Andrey Vlasovskikh Date: Mon, 18 Jul 2011 16:26:59 +0400 Subject: [PATCH] Updated Python CFG builder tests related to try-finally statements --- .../codeInsight/controlflow/doubletry.txt | 8 ++-- .../controlflow/fortrycontinue.txt | 2 +- .../codeInsight/controlflow/ifelsereturn.txt | 4 +- .../codeInsight/controlflow/raise.txt | 4 +- .../testData/codeInsight/controlflow/try.txt | 8 ++-- .../codeInsight/controlflow/trybreak.txt | 4 +- .../controlflow/tryexceptelsefinally.txt | 18 ++++---- .../codeInsight/controlflow/tryfinally.txt | 4 +- .../controlflow/tryraisefinally.txt | 4 +- .../codeInsight/controlflow/trytry.txt | 46 +++++++++---------- 10 files changed, 52 insertions(+), 50 deletions(-) diff --git a/python/testData/codeInsight/controlflow/doubletry.txt b/python/testData/codeInsight/controlflow/doubletry.txt index e86f9f829999..3b569d1fa0d1 100644 --- a/python/testData/codeInsight/controlflow/doubletry.txt +++ b/python/testData/codeInsight/controlflow/doubletry.txt @@ -1,6 +1,6 @@ 0(1) element: null 1(2) element: PyTryExceptStatement -2(3) element: PyTryPart +2(3,5) element: PyTryPart 3(4,5) element: PyFromImportStatement 4(5,9) WRITE ACCESS: lsprof 5(6) element: PyExceptPart @@ -10,10 +10,10 @@ 9(10) element: PyAssignmentStatement 10(11) WRITE ACCESS: p 11(12) element: PyTryExceptStatement -12(13) element: PyTryPart -13(14) element: PyReturnStatement +12(13,17) element: PyTryPart +13(14,17) element: PyReturnStatement 14(17) READ ACCESS: foo -15(16) element: PyAssignmentStatement +15(16,17) element: PyAssignmentStatement 16(17,20) WRITE ACCESS: x 17(18) element: PyFinallyPart 18(19) element: PyPrintStatement diff --git a/python/testData/codeInsight/controlflow/fortrycontinue.txt b/python/testData/codeInsight/controlflow/fortrycontinue.txt index 8180e38ea8b4..c34c53b5bdf0 100644 --- a/python/testData/codeInsight/controlflow/fortrycontinue.txt +++ b/python/testData/codeInsight/controlflow/fortrycontinue.txt @@ -6,7 +6,7 @@ 5(6) element: PyStatementList 6(7) WRITE ACCESS: t 7(8) element: PyTryExceptStatement -8(9) element: PyTryPart +8(9,14) element: PyTryPart 9(10,14,5,17) element: PyForStatement 10(11) element: PyStatementList 11(12,14) WRITE ACCESS: t diff --git a/python/testData/codeInsight/controlflow/ifelsereturn.txt b/python/testData/codeInsight/controlflow/ifelsereturn.txt index 34e82f459b3d..14ea1cc87a83 100644 --- a/python/testData/codeInsight/controlflow/ifelsereturn.txt +++ b/python/testData/codeInsight/controlflow/ifelsereturn.txt @@ -3,8 +3,8 @@ 2(3,12) READ ACCESS: markup 3(4) element: PyStatementList. Condition: markup:true 4(5) element: PyTryExceptStatement -5(6) element: PyTryPart -6(7) element: PyReturnStatement +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 diff --git a/python/testData/codeInsight/controlflow/raise.txt b/python/testData/codeInsight/controlflow/raise.txt index e3f9d533f122..a7c7f6f70c1b 100644 --- a/python/testData/codeInsight/controlflow/raise.txt +++ b/python/testData/codeInsight/controlflow/raise.txt @@ -1,7 +1,7 @@ 0(1) element: null 1(2) element: PyTryExceptStatement -2(3) element: PyTryPart -3(4) element: PyRaiseStatement +2(3,5) element: PyTryPart +3(4,5) element: PyRaiseStatement 4(5,11) READ ACCESS: Exception 5(6) element: PyExceptPart 6(7) element: PyAssignmentStatement diff --git a/python/testData/codeInsight/controlflow/try.txt b/python/testData/codeInsight/controlflow/try.txt index 763b1b9da84d..7d514693caff 100644 --- a/python/testData/codeInsight/controlflow/try.txt +++ b/python/testData/codeInsight/controlflow/try.txt @@ -2,14 +2,14 @@ 1(2) element: PyImportStatement 2(3) WRITE ACCESS: sys 3(4) element: PyTryExceptStatement -4(5) element: PyTryPart -5(6) element: PyAssignmentStatement +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) element: PyAssignmentStatement +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) element: PyAssignmentStatement +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 diff --git a/python/testData/codeInsight/controlflow/trybreak.txt b/python/testData/codeInsight/controlflow/trybreak.txt index 423d9c282d9c..fe1b9a538aea 100644 --- a/python/testData/codeInsight/controlflow/trybreak.txt +++ b/python/testData/codeInsight/controlflow/trybreak.txt @@ -1,11 +1,11 @@ 0(1) element: null 1(2) element: PyTryExceptStatement -2(3) element: PyTryPart +2(3,8) element: PyTryPart 3(4,8) element: PyForStatement 4(5,8,11) READ ACCESS: bar 5(6) element: PyStatementList 6(7,8) WRITE ACCESS: i -7(11) element: PyBreakStatement +7(8,11) element: PyBreakStatement 8(9) element: PyExceptPart 9(10) element: PyRaiseStatement 10(12) READ ACCESS: Exception diff --git a/python/testData/codeInsight/controlflow/tryexceptelsefinally.txt b/python/testData/codeInsight/controlflow/tryexceptelsefinally.txt index cea2b6a1c881..d40e0033dd40 100644 --- a/python/testData/codeInsight/controlflow/tryexceptelsefinally.txt +++ b/python/testData/codeInsight/controlflow/tryexceptelsefinally.txt @@ -3,17 +3,19 @@ 2(3) READ ACCESS: dict 3(4) WRITE ACCESS: d 4(5) element: PyTryExceptStatement -5(6) element: PyTryPart -6(7) element: PyAssignmentStatement +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) element: PyElsePart +10(11,16) element: PyElsePart 11(12,16) element: PyPrintStatement -12(16) READ ACCESS: v -13(14) element: PyExceptPart +12(16,18) READ ACCESS: v +13(14,16) element: PyExceptPart 14(15,16) READ ACCESS: KeyError -15(16) element: PyPrintStatement +15(16,18) element: PyPrintStatement 16(17) element: PyFinallyPart -17(18) element: PyPrintStatement -18() element: null \ No newline at end of file +17(20) element: PyPrintStatement +18(19) element: PyFinallyPart +19(20) element: PyPrintStatement +20() element: null \ No newline at end of file diff --git a/python/testData/codeInsight/controlflow/tryfinally.txt b/python/testData/codeInsight/controlflow/tryfinally.txt index 8300f506891f..9ce68183d0a2 100644 --- a/python/testData/codeInsight/controlflow/tryfinally.txt +++ b/python/testData/codeInsight/controlflow/tryfinally.txt @@ -3,8 +3,8 @@ 2(3) READ ACCESS: None 3(4) WRITE ACCESS: status 4(5) element: PyTryExceptStatement -5(6) element: PyTryPart -6(7) element: PyAssignmentStatement +5(6,9) element: PyTryPart +6(7,9) element: PyAssignmentStatement 7(8,9) READ ACCESS: open 8(9,16) WRITE ACCESS: status 9(10) element: PyFinallyPart diff --git a/python/testData/codeInsight/controlflow/tryraisefinally.txt b/python/testData/codeInsight/controlflow/tryraisefinally.txt index 886370066158..0c1cfef8b461 100644 --- a/python/testData/codeInsight/controlflow/tryraisefinally.txt +++ b/python/testData/codeInsight/controlflow/tryraisefinally.txt @@ -1,7 +1,7 @@ 0(1) element: null 1(2) element: PyTryExceptStatement -2(3) element: PyTryPart -3(4) element: PyRaiseStatement +2(3,5) element: PyTryPart +3(4,5) element: PyRaiseStatement 4(5) READ ACCESS: KeyboardInterrupt 5(6) element: PyFinallyPart 6(7) element: PyPrintStatement diff --git a/python/testData/codeInsight/controlflow/trytry.txt b/python/testData/codeInsight/controlflow/trytry.txt index 709d7f1a0c8b..e4888f7bb84d 100644 --- a/python/testData/codeInsight/controlflow/trytry.txt +++ b/python/testData/codeInsight/controlflow/trytry.txt @@ -2,56 +2,56 @@ 1(2) element: PyAssignmentStatement 2(3) WRITE ACCESS: a 3(4) element: PyTryExceptStatement -4(5) element: PyTryPart -5(6) element: PyAssignmentStatement +4(5,55) element: PyTryPart +5(6,55) element: PyAssignmentStatement 6(7,55) WRITE ACCESS: b 7(8,53,55) element: PyForStatement 8(9) element: PyStatementList 9(10,55) WRITE ACCESS: x -10(11) element: PyTryExceptStatement -11(12) element: PyTryPart -12(13) element: PyAssignmentStatement +10(11,55) element: PyTryExceptStatement +11(12,45) element: PyTryPart +12(13,45) element: PyAssignmentStatement 13(14,45) WRITE ACCESS: c -14(15) element: PyTryExceptStatement -15(16) element: PyTryPart -16(17) element: PyAssignmentStatement +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 20(21) element: PyStatementList. Condition: x == 0:true -21(40) element: PyBreakStatement +21(37,40) element: PyBreakStatement 22(23,26,37) element: PyIfPartElif. Condition: x == 0:false 23(24,37) READ ACCESS: x 24(25,37) element: PyIfPartElif. Condition: x == 1:true -25(7) element: PyContinueStatement +25(7,37) element: PyContinueStatement 26(27,31,37) element: PyIfPartElif. Condition: x == 1:false 27(28,37) READ ACCESS: x 28(29,37) element: PyIfPartElif. Condition: x == 2:true -29(30) element: PyRaiseStatement +29(30,37) element: PyRaiseStatement 30(37) READ ACCESS: Exception 31(32,35,37) element: PyIfPartElif. Condition: x == 2:false 32(33,37) READ ACCESS: x 33(34,37) element: PyIfPartElif. Condition: x == 3:true 34(37) element: PyReturnStatement -35(36) element: PyAssignmentStatement +35(36,37) element: PyAssignmentStatement 36(37,40) WRITE ACCESS: e -37(38) element: PyFinallyPart -38(39) element: PyAssignmentStatement +37(38,45) element: PyFinallyPart +38(39,45) element: PyAssignmentStatement 39(45) WRITE ACCESS: f -40(41) element: PyFinallyPart -41(42) element: PyAssignmentStatement +40(41,45) element: PyFinallyPart +41(42,45) element: PyAssignmentStatement 42(43,45) WRITE ACCESS: f -43(44) element: PyAssignmentStatement +43(44,45) element: PyAssignmentStatement 44(45,48) WRITE ACCESS: g -45(46) element: PyFinallyPart -46(47) element: PyAssignmentStatement +45(46,55) element: PyFinallyPart +46(47,55) element: PyAssignmentStatement 47(55) WRITE ACCESS: h -48(49) element: PyFinallyPart -49(50) element: PyAssignmentStatement +48(49,55) element: PyFinallyPart +49(50,55) element: PyAssignmentStatement 50(51,55) WRITE ACCESS: h -51(52) element: PyAssignmentStatement +51(52,55) element: PyAssignmentStatement 52(8,53,55) WRITE ACCESS: i -53(54) element: PyAssignmentStatement +53(54,55) element: PyAssignmentStatement 54(55,58) WRITE ACCESS: j 55(56) element: PyFinallyPart 56(57) element: PyAssignmentStatement