fix inspections filtering for "language is not specified"

GitOrigin-RevId: 289e3dace1397747207111a5c6b02462b97ab07e
This commit is contained in:
Bas Leijdekkers
2020-01-02 22:03:38 +00:00
committed by intellij-monorepo-bot
parent 3cbf77c3fe
commit 6455de56e6
@@ -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();