mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-126416 Suppress XmlUnusedNamespaceDeclaration
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.intellij.refactoring;
|
||||
|
||||
import com.intellij.codeInsight.daemon.HighlightDisplayKey;
|
||||
import com.intellij.codeInsight.daemon.impl.analysis.XmlUnusedNamespaceInspection;
|
||||
import com.intellij.codeInspection.InspectionManager;
|
||||
import com.intellij.codeInspection.ProblemDescriptor;
|
||||
@@ -23,6 +24,7 @@ import com.intellij.codeInspection.QuickFix;
|
||||
import com.intellij.lang.ImportOptimizer;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.profile.codeInspection.InspectionProjectProfileManager;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.xml.XmlAttribute;
|
||||
import com.intellij.psi.xml.XmlFile;
|
||||
@@ -64,6 +66,8 @@ public class XmlImportOptimizer implements ImportOptimizer {
|
||||
public void run() {
|
||||
XmlFile xmlFile = (XmlFile)file;
|
||||
Project project = xmlFile.getProject();
|
||||
HighlightDisplayKey key = HighlightDisplayKey.find(myInspection.getShortName());
|
||||
if (!InspectionProjectProfileManager.getInstance(project).getInspectionProfile().isToolEnabled(key, xmlFile)) return;
|
||||
ProblemsHolder holder = new ProblemsHolder(InspectionManager.getInstance(project), xmlFile, false);
|
||||
final XmlElementVisitor visitor = (XmlElementVisitor)myInspection.buildVisitor(holder, false);
|
||||
new PsiRecursiveElementVisitor() {
|
||||
|
||||
@@ -19,11 +19,13 @@ import com.intellij.codeInsight.actions.OptimizeImportsProcessor;
|
||||
import com.intellij.codeInsight.daemon.impl.analysis.XmlUnusedNamespaceInspection;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.codeInspection.htmlInspections.XmlInspectionToolProvider;
|
||||
import com.intellij.ide.highlighter.XmlFileType;
|
||||
import com.intellij.javaee.ExternalResourceManagerExImpl;
|
||||
import com.intellij.openapi.application.Result;
|
||||
import com.intellij.openapi.command.WriteCommandAction;
|
||||
import com.intellij.testFramework.IdeaTestCase;
|
||||
import com.intellij.testFramework.fixtures.CodeInsightFixtureTestCase;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
* @author Dmitry Avdeev
|
||||
@@ -235,6 +237,13 @@ public class XmlNamespacesTest extends CodeInsightFixtureTestCase {
|
||||
myFixture.testHighlighting("import.xml", "import.xsd");
|
||||
}
|
||||
|
||||
public void testDoNotOptimizeWhenInspectionDisabled() throws Exception {
|
||||
myFixture.disableInspections(new XmlUnusedNamespaceInspection());
|
||||
String text = "<all xmlns=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/>";
|
||||
myFixture.configureByText(XmlFileType.INSTANCE, text);
|
||||
doOptimizeImportsTest(text);
|
||||
}
|
||||
|
||||
private void doUnusedDeclarationTest(String text, String after, String name) throws Exception {
|
||||
doUnusedDeclarationTest(text, after, name, true);
|
||||
}
|
||||
@@ -257,7 +266,7 @@ public class XmlNamespacesTest extends CodeInsightFixtureTestCase {
|
||||
myFixture.testHighlighting();
|
||||
new WriteCommandAction(getProject(), getFile()) {
|
||||
@Override
|
||||
protected void run(Result result) throws Throwable {
|
||||
protected void run(@NotNull Result result) throws Throwable {
|
||||
new OptimizeImportsProcessor(getProject(), getFile()).runWithoutProgress();
|
||||
}
|
||||
}.execute();
|
||||
|
||||
Reference in New Issue
Block a user