use DumbService#completeJustSumbittedTasks in some places between VFS changes and reference resolve

This commit is contained in:
peter
2016-11-14 20:32:34 +01:00
parent 825fc1797b
commit 0d67966124
5 changed files with 15 additions and 1 deletions
@@ -19,6 +19,7 @@ import com.intellij.ide.util.DirectoryChooserUtil;
import com.intellij.lang.java.JavaFindUsagesProvider;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.project.DumbService;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.roots.JavaProjectRootsUtil;
import com.intellij.openapi.roots.ProjectFileIndex;
@@ -236,9 +237,12 @@ public class MoveClassesOrPackagesUtil {
if (!Comparing.equal(moveDestination.getVirtualFile(), containingDirectory != null ? containingDirectory.getVirtualFile() : null)) {
LOG.assertTrue(file.getVirtualFile() != null, aClass);
Project project = file.getProject();
MoveFilesOrDirectoriesUtil.doMoveFile(file, moveDestination);
file = moveDestination.findFile(file.getName());
DumbService.getInstance(project).completeJustSubmittedTasks();
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();