From 6455de56e6e2b6c0e006f486fcb5c55c3eda3354 Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Wed, 1 Jan 2020 15:55:11 +0100 Subject: [PATCH] fix inspections filtering for "language is not specified" GitOrigin-RevId: 289e3dace1397747207111a5c6b02462b97ab07e --- .../ui/filter/InspectionsFilter.java | 33 +++++++------------ 1 file changed, 12 insertions(+), 21 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/filter/InspectionsFilter.java b/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/filter/InspectionsFilter.java index 8509abc7a2f9..69827a40c4ac 100644 --- a/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/filter/InspectionsFilter.java +++ b/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/filter/InspectionsFilter.java @@ -1,18 +1,4 @@ -/* - * Copyright 2000-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.profile.codeInspection.ui.filter; import com.intellij.codeInspection.ex.GlobalInspectionToolWrapper; @@ -151,12 +137,17 @@ public abstract class InspectionsFilter { if (!mySuitableLanguages.isEmpty()) { String languageId = tools.getDefaultState().getTool().getLanguage(); - if (languageId == null) return false; - Language language = Language.findLanguageByID(languageId); - if (language instanceof MetaLanguage) { - if (((MetaLanguage)language).getMatchingLanguages().stream().noneMatch(mySuitableLanguages::contains)) return false; - } else { - if (!mySuitableLanguages.contains(language)) return false; + if (languageId != null) { + Language language = Language.findLanguageByID(languageId); + if (language instanceof MetaLanguage) { + if (((MetaLanguage)language).getMatchingLanguages().stream().noneMatch(mySuitableLanguages::contains)) return false; + } + else { + if (!mySuitableLanguages.contains(language)) return false; + } + } + else if (!mySuitableLanguages.contains(null)) { + return false; } } return !myShowOnlyModifiedInspections || node.isProperSetting();