void (@NotNull VirtualFile vFile, boolean wasIndexedAlready, @Nullable Document document, boolean saved, @Nullable PsiFile cachedPsi) { String message = "Outdated stub in index: " + vFile + " " + getIndexingStampInfo(vFile) + ", doc=" + document + ", docSaved=" + saved + ", wasIndexedAlready=" + wasIndexedAlready + ", queried at " + vFile.getTimeStamp(); message += "\ndoc length=" + (document == null ? -1 : document.getTextLength()) + "\nfile length=" + vFile.getLength(); if (cachedPsi != null) { message += "\ncached PSI " + cachedPsi.getClass(); if (cachedPsi instanceof PsiFileImpl && ((PsiFileImpl)cachedPsi).isContentsLoaded()) { message += "\nPSI length=" + cachedPsi.getTextLength(); } List<Project> projects = ContainerUtil.findAll(ProjectManager.getInstance().getOpenProjects(), p -> PsiManagerEx.getInstanceEx(p).getFileManager().findCachedViewProvider(vFile) != null); message += "\nprojects with file: " + (LOG.isDebugEnabled() ? projects.toString() : projects.size()); } Path nioPath = vFile.getFileSystem().getNioPath(vFile); if (nioPath != null) { message += getPhysicalFileReport(nioPath); } processError(vFile, message, new Exception()); }