From 75ba67cd90d05311119de33f3d5c133e66c6586c Mon Sep 17 00:00:00 2001 From: Pavel Dolgov Date: Mon, 15 Aug 2016 20:18:05 +0300 Subject: [PATCH] Java control flow: Collect more data on try-catch statements which contain errors ahd therefore can't be handled normally. Use LOG.error for that instead of 'assert' --- .../com/intellij/psi/controlFlow/ControlFlowAnalyzer.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/java/java-psi-impl/src/com/intellij/psi/controlFlow/ControlFlowAnalyzer.java b/java/java-psi-impl/src/com/intellij/psi/controlFlow/ControlFlowAnalyzer.java index e5636c202980..9e8b58368a0e 100644 --- a/java/java-psi-impl/src/com/intellij/psi/controlFlow/ControlFlowAnalyzer.java +++ b/java/java-psi-impl/src/com/intellij/psi/controlFlow/ControlFlowAnalyzer.java @@ -1121,8 +1121,12 @@ class ControlFlowAnalyzer extends JavaElementVisitor { generateWriteInstruction(catchBlockParameters[i]); } PsiCodeBlock catchBlock = catchBlocks[i]; - assert catchBlock != null : i + statement.getText(); - catchBlock.accept(this); + if (catchBlock != null) { + catchBlock.accept(this); + } + else { + LOG.error("Catch body is null (" + i + ") " + statement.getText()); + } myCurrentFlow.addInstruction(new GoToInstruction(finallyBlock == null ? 0 : -6)); if (finallyBlock == null) {