diff --git a/plugins/devkit/devkit-core/src/inspections/LightServiceMigrationXMLInspection.kt b/plugins/devkit/devkit-core/src/inspections/LightServiceMigrationXMLInspection.kt index 8cd284dfacb5..07a344fb6093 100644 --- a/plugins/devkit/devkit-core/src/inspections/LightServiceMigrationXMLInspection.kt +++ b/plugins/devkit/devkit-core/src/inspections/LightServiceMigrationXMLInspection.kt @@ -13,6 +13,7 @@ import com.intellij.psi.util.PsiUtilCore import com.intellij.util.xml.DomElement import com.intellij.util.xml.highlighting.DomElementAnnotationHolder import com.intellij.util.xml.highlighting.DomHighlightingHelper +import com.intellij.util.xml.highlighting.RemoveDomElementQuickFix import org.jetbrains.idea.devkit.DevKitBundle import org.jetbrains.idea.devkit.dom.Extension import org.jetbrains.uast.UClass @@ -36,7 +37,7 @@ internal class LightServiceMigrationXMLInspection : DevKitPluginXmlInspectionBas if (uClass == null || containsUnitTestOrHeadlessModeCheck(uClass)) return if (aClass.hasAnnotation(Service::class.java.canonicalName)) { val message = DevKitBundle.message("inspection.light.service.migration.already.annotated.message") - holder.createProblem(element, ProblemHighlightType.ERROR, message, null) + holder.createProblem(element, ProblemHighlightType.ERROR, message, null, RemoveDomElementQuickFix(element)) } else { val message = getMessage(level) diff --git a/plugins/devkit/devkit-java-tests/testData/inspections/lightServiceMigration/lightService.xml b/plugins/devkit/devkit-java-tests/testData/inspections/lightServiceMigration/lightService.xml index 6c4d5450ed6c..a4266ee1aff9 100644 --- a/plugins/devkit/devkit-java-tests/testData/inspections/lightServiceMigration/lightService.xml +++ b/plugins/devkit/devkit-java-tests/testData/inspections/lightServiceMigration/lightService.xml @@ -5,6 +5,6 @@ - <applicationService serviceImplementation="com.example.demo.MyService"/> + <applicationService serviceImplementation="com.example.demo.MyService"/> diff --git a/plugins/devkit/devkit-java-tests/testData/inspections/lightServiceMigration/lightService_after.xml b/plugins/devkit/devkit-java-tests/testData/inspections/lightServiceMigration/lightService_after.xml new file mode 100644 index 000000000000..ce9780a7e4ab --- /dev/null +++ b/plugins/devkit/devkit-java-tests/testData/inspections/lightServiceMigration/lightService_after.xml @@ -0,0 +1,8 @@ + + com.example.demo + + + + + /> + diff --git a/plugins/devkit/devkit-java-tests/testSrc/org/jetbrains/idea/devkit/inspections/quickfix/LightServiceMigrationInspectionTest.kt b/plugins/devkit/devkit-java-tests/testSrc/org/jetbrains/idea/devkit/inspections/quickfix/LightServiceMigrationInspectionTest.kt index 6a9d1240a1bf..e78143f7c571 100644 --- a/plugins/devkit/devkit-java-tests/testSrc/org/jetbrains/idea/devkit/inspections/quickfix/LightServiceMigrationInspectionTest.kt +++ b/plugins/devkit/devkit-java-tests/testSrc/org/jetbrains/idea/devkit/inspections/quickfix/LightServiceMigrationInspectionTest.kt @@ -38,7 +38,8 @@ internal class LightServiceMigrationInspectionTest : LightServiceMigrationInspec } fun testLightService() { - doTest(getCodeFilePath(), getXmlFilePath()) + myFixture.copyFileToProject(getCodeFilePath()) + DevKitInspectionFixTestBase.doTest(myFixture, "Remove element", "xml", getTestName(true)) } fun testLibraryClass() {