@Override
 public void restart(@NotNull PsiFile file) {
   Document document = PsiDocumentManager.getInstance(myProject).getCachedDocument(file);
   if (document == null) return;
   myFileStatusMap.markFileScopeDirty(
       document, new TextRange(0, document.getTextLength()), file.getTextLength());
   stopProcess(true);
 }
  public void projectClosed() {
    assert myInitialized : "Disposing not initialized component";
    assert !myDisposed : "Double dispose";

    stopProcess(false);

    myDisposed = true;
    myLastSettings = null;
  }
 public void setImportHintsEnabled(@NotNull PsiFile file, boolean value) {
   VirtualFile vFile = file.getVirtualFile();
   if (value) {
     myDisabledHintsFiles.remove(vFile);
     stopProcess(true);
   } else {
     myDisabledHintsFiles.add(vFile);
     HintManager.getInstance().hideAllHints();
   }
 }
 @TestOnly
 public void cleanupAfterTest(boolean dispose) {
   if (!myProject.isOpen()) return;
   stopProcess(false);
   if (dispose) {
     projectClosed();
     Disposer.dispose(myStatusBarUpdater);
     myStatusBarUpdater = null;
     Disposer.dispose(myDaemonListeners);
     myDaemonListeners = null;
   }
   setUpdateByTimerEnabled(false);
   waitForTermination();
 }
 public void restart() {
   myFileStatusMap.markAllFilesDirty();
   stopProcess(true);
 }
 public void setUpdateByTimerEnabled(boolean value) {
   myUpdateByTimerEnabled = value;
   stopProcess(value);
 }