From 482de54ec012d56208de4e4ffb4ec64ffbdfa13c Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Thu, 11 Feb 2016 19:35:51 +0100 Subject: [PATCH] good code is red inspection: skip excluded from compilation files --- .../internal/HighlightVisitorInternalInspection.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/plugins/devkit/src/inspections/internal/HighlightVisitorInternalInspection.java b/plugins/devkit/src/inspections/internal/HighlightVisitorInternalInspection.java index 4af68a9905ea..ed103d2ff1e7 100644 --- a/plugins/devkit/src/inspections/internal/HighlightVisitorInternalInspection.java +++ b/plugins/devkit/src/inspections/internal/HighlightVisitorInternalInspection.java @@ -22,11 +22,15 @@ import com.intellij.codeInsight.daemon.impl.analysis.HighlightInfoHolder; import com.intellij.codeInsight.daemon.impl.analysis.HighlightVisitorImpl; import com.intellij.codeInspection.BaseJavaBatchLocalInspectionTool; import com.intellij.codeInspection.ProblemsHolder; +import com.intellij.compiler.CompilerConfiguration; import com.intellij.lang.annotation.HighlightSeverity; import com.intellij.lang.injection.InjectedLanguageManager; import com.intellij.openapi.diagnostic.Logger; +import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.*; import com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil; +import com.intellij.psi.util.PsiUtil; +import com.intellij.psi.util.PsiUtilCore; import org.jetbrains.annotations.Nls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -69,6 +73,10 @@ public class HighlightVisitorInternalInspection extends BaseJavaBatchLocalInspec if (InjectedLanguageManager.getInstance(file.getProject()).isInjectedFragment(file)) { return PsiElementVisitor.EMPTY_VISITOR; } + final VirtualFile virtualFile = PsiUtilCore.getVirtualFile(file); + if (virtualFile == null || CompilerConfiguration.getInstance(holder.getProject()).isExcludedFromCompilation(virtualFile)) { + return PsiElementVisitor.EMPTY_VISITOR; + } return new HighlightVisitorImpl(JavaPsiFacade.getInstance(holder.getProject()).getResolveHelper()) { { prepareToRunAsInspection(new HighlightInfoHolder(file) {