mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 22:51:17 +07:00
imports inside try/except statements shouldn't be optimized away
This commit is contained in:
@@ -464,6 +464,10 @@ public class PyUnresolvedReferencesInspection extends LocalInspectionTool {
|
||||
for (NameDefiner unusedImport : unusedImports) {
|
||||
PyImportStatementBase importStatement = PsiTreeUtil.getParentOfType(unusedImport, PyImportStatementBase.class);
|
||||
if (importStatement != null && !unusedStatements.contains(importStatement)) {
|
||||
// don't remove as unused imports in try/except statements
|
||||
if (PsiTreeUtil.getParentOfType(importStatement, PyTryExceptStatement.class) != null) {
|
||||
continue;
|
||||
}
|
||||
if (unusedImport instanceof PyStarImportElement || areAllImportsUnused(importStatement, unusedImports)) {
|
||||
unusedStatements.add(importStatement);
|
||||
result.add(importStatement);
|
||||
|
||||
4
python/testData/optimizeImports/tryExcept.after.py
Normal file
4
python/testData/optimizeImports/tryExcept.after.py
Normal file
@@ -0,0 +1,4 @@
|
||||
try:
|
||||
import Image
|
||||
except ImportError:
|
||||
pass
|
||||
4
python/testData/optimizeImports/tryExcept.py
Normal file
4
python/testData/optimizeImports/tryExcept.py
Normal file
@@ -0,0 +1,4 @@
|
||||
try:
|
||||
import Image
|
||||
except ImportError:
|
||||
pass
|
||||
@@ -24,6 +24,10 @@ public class PyOptimizeImportsTest extends PyLightFixtureTestCase {
|
||||
doTest();
|
||||
}
|
||||
|
||||
public void testTryExcept() throws Exception {
|
||||
doTest();
|
||||
}
|
||||
|
||||
private void doTest() throws Exception {
|
||||
myFixture.configureByFile("optimizeImports/" + getTestName(true) + ".py");
|
||||
OptimizeImportsAction.actionPerformedImpl(DataManager.getInstance().getDataContext(myFixture.getEditor().getContentComponent()));
|
||||
|
||||
Reference in New Issue
Block a user