From dd2eca15bbd492745e48cfe203365dfa5fd1b232 Mon Sep 17 00:00:00 2001 From: Pavel Dolgov Date: Fri, 2 Dec 2016 20:58:40 +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 de913b43d526..fa48fe108c43 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 @@ -1463,7 +1463,8 @@ public class ControlFlowUtil { // clear procedure text and return instructions aftewards int i; for (i = instruction.procBegin; - i < instruction.procEnd || i < instructions.size() && instructions.get(i) instanceof ReturnInstruction; i++) { + i < clientVisitor.processedInstructions.length && + (i < instruction.procEnd || i < instructions.size() && instructions.get(i) instanceof ReturnInstruction); i++) { clientVisitor.processedInstructions[i] = false; } clientVisitor.procedureEntered(instruction.procBegin, i);