From 17d2eecea4f984b24ccb93343b37b71dd809d64e Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 11 Jul 2017 09:49:48 +0200 Subject: [PATCH] don't decompile code when reporting stub/AST mismatch (IDEA-175646) --- .../core-impl/src/com/intellij/psi/stubs/StubTreeLoader.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/platform/core-impl/src/com/intellij/psi/stubs/StubTreeLoader.java b/platform/core-impl/src/com/intellij/psi/stubs/StubTreeLoader.java index 4e2a58f98b09..d9d03b88b479 100644 --- a/platform/core-impl/src/com/intellij/psi/stubs/StubTreeLoader.java +++ b/platform/core-impl/src/com/intellij/psi/stubs/StubTreeLoader.java @@ -72,7 +72,8 @@ public abstract class StubTreeLoader { public RuntimeException stubTreeAndIndexDoNotMatch(@NotNull String _message, @NotNull ObjectStubTree stubTree, @NotNull PsiFileWithStubSupport psiFile) { VirtualFile file = psiFile.getViewProvider().getVirtualFile(); StubTree stubTreeFromIndex = (StubTree)readFromVFile(psiFile.getProject(), file); - Document document = FileDocumentManager.getInstance().getDocument(file); + boolean compiled = psiFile instanceof PsiCompiledElement; + Document document = compiled ? null : FileDocumentManager.getInstance().getDocument(file); IndexingStampInfo indexingStampInfo = getIndexingStampInfo(file); boolean upToDate = indexingStampInfo != null && indexingStampInfo.isUpToDate(document, file, psiFile); @@ -86,7 +87,7 @@ public abstract class StubTreeLoader { msg += ", file.lang=" + psiFile.getLanguage(); msg += ", modStamp=" + psiFile.getModificationStamp(); - if (!(psiFile instanceof PsiCompiledElement)) { + if (!compiled) { String text = psiFile.getText(); PsiFile fromText = PsiFileFactory.getInstance(psiFile.getProject()).createFileFromText(psiFile.getName(), psiFile.getFileType(), text); if (fromText.getLanguage().equals(psiFile.getLanguage())) {