From a94184b12f4e1659639fcfe14146e2ab96e4a1ce Mon Sep 17 00:00:00 2001 From: Pavel Dolgov Date: Mon, 15 Aug 2016 20:04:28 +0300 Subject: [PATCH] Java inspection: Improved messages and documentation for the inspection "Lambda parameter type is redundant" - use LOG.error --- .../codeInsight/daemon/impl/ShowIntentionsPass.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/ShowIntentionsPass.java b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/ShowIntentionsPass.java index d75eb09f1abc..a40300a0469c 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/ShowIntentionsPass.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/ShowIntentionsPass.java @@ -37,6 +37,7 @@ import com.intellij.codeInspection.ex.QuickFixWrapper; import com.intellij.concurrency.JobLauncher; import com.intellij.lang.annotation.HighlightSeverity; import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.diagnostic.Attachment; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.Editor; @@ -53,6 +54,7 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.Segment; import com.intellij.openapi.util.TextRange; +import com.intellij.openapi.vfs.VirtualFile; import com.intellij.profile.codeInspection.InspectionProjectProfileManager; import com.intellij.psi.*; import com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil; @@ -353,9 +355,14 @@ public class ShowIntentionsPass extends TextEditorHighlightingPass { final int offset, @NotNull final IntentionsInfo intentions) { if (psiElement != null) { - assert psiElement.isPhysical() : "isPhysical: '" + psiElement.getText() + "' @" + psiElement.getTextRange() + "==" + offset + - "(" + psiElement.getClass().getName() + ") " + (psiElement.isValid() ? "valid" : "invalid") + - psiElement.getContainingFile() + " " + hostFile + "(" + hostFile.getClass().getName() + ")"; + if (!psiElement.isPhysical()) { + VirtualFile virtualFile = hostFile.getVirtualFile(); + String text = hostFile.getText(); + LOG.error("not physical: '" + psiElement.getText() + "' @" + offset + psiElement.getTextRange() + + " elem:" + psiElement + " (" + psiElement.getClass().getName() + ")" + + " in:" + psiElement.getContainingFile() + " host:" + hostFile + "(" + hostFile.getClass().getName() + ")", + new Attachment(virtualFile != null ? virtualFile.getPresentableUrl() : "null", text != null ? text : "null")); + } final List intentionTools = new ArrayList<>(); final InspectionProfile profile = InspectionProjectProfileManager.getInstance(project).getInspectionProfile(); final InspectionToolWrapper[] tools = profile.getInspectionTools(hostFile);