From 323b3eef009371914fdcd684c5fc7f167ab85c0e Mon Sep 17 00:00:00 2001 From: Pavel Dolgov Date: Wed, 30 Nov 2016 14:58:32 +0300 Subject: [PATCH] Java: Fixed IOOBE in processing of sub-range of a control flow (IDEA-164442) --- .../src/com/intellij/psi/controlFlow/ControlFlowUtil.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/java/java-psi-impl/src/com/intellij/psi/controlFlow/ControlFlowUtil.java b/java/java-psi-impl/src/com/intellij/psi/controlFlow/ControlFlowUtil.java index 4e66505942e4..de913b43d526 100644 --- a/java/java-psi-impl/src/com/intellij/psi/controlFlow/ControlFlowUtil.java +++ b/java/java-psi-impl/src/com/intellij/psi/controlFlow/ControlFlowUtil.java @@ -1462,7 +1462,8 @@ public class ControlFlowUtil { // 'procedure' pointed by call instruction should be processed regardless of whether it was already visited or not // clear procedure text and return instructions aftewards int i; - for (i = instruction.procBegin; i < instruction.procEnd || instructions.get(i) instanceof ReturnInstruction; i++) { + for (i = instruction.procBegin; + i < instruction.procEnd || i < instructions.size() && instructions.get(i) instanceof ReturnInstruction; i++) { clientVisitor.processedInstructions[i] = false; } clientVisitor.procedureEntered(instruction.procBegin, i);