From 45681ed9ebefd447801dfe4c7bfa537ab11ae623 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Mon, 31 Jul 2017 21:38:47 +0300 Subject: [PATCH] Fix "'Redundant modality' is not reported with all-open" (KT-18195) --- .../jetbrains/kotlin/idea/core/psiModificationUtils.kt | 2 +- .../inspections/kt18195/inspectionData/expected.xml | 10 ++++++++++ .../kt18195/inspectionData/inspections.test | 1 + idea/testData/inspections/kt18195/test.kt | 4 ++++ .../idea/codeInsight/InspectionTestGenerated.java | 6 ++++++ 5 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 idea/testData/inspections/kt18195/inspectionData/expected.xml create mode 100644 idea/testData/inspections/kt18195/inspectionData/inspections.test create mode 100644 idea/testData/inspections/kt18195/test.kt diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/psiModificationUtils.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/psiModificationUtils.kt index c9ca1930129..83af6352ff1 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/psiModificationUtils.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/psiModificationUtils.kt @@ -279,7 +279,7 @@ fun KtDeclaration.implicitModality(): KtModifierKeywordToken { for (extension in extensions) { val newModality = extension.refineDeclarationModality( this, - null, + descriptor as? ClassDescriptor, containingDescriptor, mapModalityToken(predictedModality), bindingContext, diff --git a/idea/testData/inspections/kt18195/inspectionData/expected.xml b/idea/testData/inspections/kt18195/inspectionData/expected.xml new file mode 100644 index 00000000000..3127cacedf9 --- /dev/null +++ b/idea/testData/inspections/kt18195/inspectionData/expected.xml @@ -0,0 +1,10 @@ + + + test.kt + 4 + light_idea_test_case + + Redundant modality modifier + Redundant modality modifier + + diff --git a/idea/testData/inspections/kt18195/inspectionData/inspections.test b/idea/testData/inspections/kt18195/inspectionData/inspections.test new file mode 100644 index 00000000000..be84d245e96 --- /dev/null +++ b/idea/testData/inspections/kt18195/inspectionData/inspections.test @@ -0,0 +1 @@ +// INSPECTION_CLASS: org.jetbrains.kotlin.idea.inspections.RedundantModalityModifierInspection diff --git a/idea/testData/inspections/kt18195/test.kt b/idea/testData/inspections/kt18195/test.kt new file mode 100644 index 00000000000..bf13965a5df --- /dev/null +++ b/idea/testData/inspections/kt18195/test.kt @@ -0,0 +1,4 @@ +annotation class AllOpen + +@AllOpen +open class My \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/codeInsight/InspectionTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/codeInsight/InspectionTestGenerated.java index 89cd7f96ab9..94dca26c850 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/codeInsight/InspectionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/codeInsight/InspectionTestGenerated.java @@ -227,6 +227,12 @@ public class InspectionTestGenerated extends AbstractInspectionTest { doTest(fileName); } + @TestMetadata("kt18195/inspectionData/inspections.test") + public void testKt18195_inspectionData_Inspections_test() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/inspections/kt18195/inspectionData/inspections.test"); + doTest(fileName); + } + @TestMetadata("leakingThis/inspectionData/inspections.test") public void testLeakingThis_inspectionData_Inspections_test() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/inspections/leakingThis/inspectionData/inspections.test");