From db6410e9fc47558836f5422a2053e7641ccff6f2 Mon Sep 17 00:00:00 2001 From: Mikhail Golubev Date: Wed, 26 Nov 2014 21:06:01 +0300 Subject: [PATCH] Fix AIOOBE in PyImportOptimizer in case of incomplete import statement --- .../python/codeInsight/imports/PyImportOptimizer.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/python/src/com/jetbrains/python/codeInsight/imports/PyImportOptimizer.java b/python/src/com/jetbrains/python/codeInsight/imports/PyImportOptimizer.java index 2a0b09ef42fd..63ce0c00e5cd 100644 --- a/python/src/com/jetbrains/python/codeInsight/imports/PyImportOptimizer.java +++ b/python/src/com/jetbrains/python/codeInsight/imports/PyImportOptimizer.java @@ -20,6 +20,7 @@ import com.intellij.lang.ImportOptimizer; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiFileSystemItem; +import com.intellij.util.ArrayUtil; import com.jetbrains.python.formatter.PyBlock; import com.jetbrains.python.inspections.unresolvedReference.PyUnresolvedReferencesInspection; import com.jetbrains.python.psi.*; @@ -102,7 +103,8 @@ public class PyImportOptimizer implements ImportOptimizer { toImport = ((PyFromImportStatement)importStatement).resolveImportSource(); } else { - toImport = importStatement.getImportElements()[0].resolve(); + final PyImportElement firstImportElement = ArrayUtil.getFirstElement(importStatement.getImportElements()); + toImport = firstImportElement != null? firstImportElement.resolve() : null; } prioritize(importStatement, toImport); }