Prevent insertion of redundant import statement in the original file of moved element

It happens if we move global variable that references itself, e.g.
VAR = lambda: VAR. Redundant import was optimized out at the end of
refactoring though.
This commit is contained in:
Mikhail Golubev
2015-03-25 21:10:47 +03:00
parent a04bede589
commit 3d193d5519
@@ -245,7 +245,8 @@ public class PyMoveModuleMembersProcessor extends BaseRefactoringProcessor {
PyClassRefactoringUtil.updateImportOfElement(importStmt, newElement);
}
final PsiFile usageFile = usage.getContainingFile();
if (usageFile == oldElement.getContainingFile() && !PsiTreeUtil.isAncestor(oldElement, usage, false)) {
final PsiElement oldElementBody = PyMoveModuleMembersHelper.expandNamedElementBody(oldElement);
if (usageFile == oldElement.getContainingFile() && !PsiTreeUtil.isAncestor(oldElementBody, usage, false)) {
PyClassRefactoringUtil.insertImport(oldElement, newElement);
}
if (resolvesToLocalStarImport(usage)) {