Unreachable code positively fails - if (​try​.. except​.​.) else return
This commit is contained in:
Oleg Shpynov
2010-02-03 19:05:26 +03:00
parent 9e1d3ddf6e
commit 7ceae97d25
4 changed files with 23 additions and 1 deletions
@@ -81,7 +81,7 @@ public class PyUnreachableCodeInspection extends LocalInspectionTool {
final PsiElement e = instruction.getElement();
if (colors[instruction.num()] != color){
color = colors[instruction.num()];
if (!warned[color]){
if (color != 0 && !warned[color]){
warned[color] = true;
// Handle ensure parts
if (e instanceof PyExceptPart) {
@@ -0,0 +1,7 @@
if markup:
try:
return renderer
except KeyError:
raise Error
else:
return body
@@ -0,0 +1,11 @@
0(1) element: null
1(2,8) element: PyIfStatement
2(3) element: PyStatementList. Condition: markup:true
3(4) element: PyTryExceptStatement
4(5) element: PyTryPart
5(10) element: PyReturnStatement
6(7) element: PyExceptPart
7(10) element: PyRaiseStatement
8(9) element: PyElsePart. Condition: markup:false
9(10) element: PyReturnStatement
10() element: null
@@ -78,6 +78,10 @@ public class PyControlFlowBuilderTest extends LightMarkedTestCase {
doTest();
}
public void testIfElseReturn() throws Exception {
doTest();
}
public void testFunction() throws Exception {
final String testName = getTestName(false).toLowerCase();
configureByFile(testName + ".py");