update package statement for already moved classes (dir with kotlin files)

This commit is contained in:
Anna.Kozlova
2017-04-12 14:09:10 +02:00
parent d9c6dfc42c
commit 6e3a98d845
@@ -242,13 +242,16 @@ public class MoveClassesOrPackagesUtil {
file = moveDestination.findFile(file.getName());
if (newPackage != null && file instanceof PsiClassOwner && !FileTypeUtils.isInServerPageFile(file) && !PsiUtil.isModuleFile(file)) {
// Do not rely on class instance identity retention after setPackageName (Scala)
String aClassName = aClass.getName();
((PsiClassOwner)file).setPackageName(newPackage.getQualifiedName());
newClass = findClassByName((PsiClassOwner)file, aClassName);
LOG.assertTrue(newClass != null, "name:" + aClassName + " file:" + file + " classes:" + Arrays.toString(((PsiClassOwner)file).getClasses()));
}
}
if (newPackage != null && file instanceof PsiClassOwner && !FileTypeUtils.isInServerPageFile(file) &&
!PsiUtil.isModuleFile(file) &&
!Comparing.strEqual(newPackage.getQualifiedName(), ((PsiClassOwner)file).getPackageName())) {
// Do not rely on class instance identity retention after setPackageName (Scala)
String aClassName = aClass.getName();
((PsiClassOwner)file).setPackageName(newPackage.getQualifiedName());
newClass = findClassByName((PsiClassOwner)file, aClassName);
LOG.assertTrue(newClass != null, "name:" + aClassName + " file:" + file + " classes:" + Arrays.toString(((PsiClassOwner)file).getClasses()));
}
return newClass;
}