diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/ModifiersChecker.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/ModifiersChecker.kt index 52a6d107e88..a60b12c578a 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/ModifiersChecker.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/ModifiersChecker.kt @@ -202,9 +202,9 @@ object ModifierCheckerCore { trace.report(Errors.REPEATED_MODIFIER.on (secondNode.psi, first)) } Compatibility.REDUNDANT -> - trace.report(Errors.REDUNDANT_MODIFIER.on(secondNode.psi, first, second)) + trace.report(Errors.REDUNDANT_MODIFIER.on(secondNode.psi, second, first)) Compatibility.REVERSE_REDUNDANT -> - trace.report(Errors.REDUNDANT_MODIFIER.on(firstNode.psi, second, first)) + trace.report(Errors.REDUNDANT_MODIFIER.on(firstNode.psi, first, second)) Compatibility.DEPRECATED -> { trace.report(Errors.DEPRECATED_MODIFIER_PAIR.on(firstNode.psi, first, second)) trace.report(Errors.DEPRECATED_MODIFIER_PAIR.on(secondNode.psi, second, first)) diff --git a/idea/testData/checker/MultipleModality.kt b/idea/testData/checker/MultipleModality.kt new file mode 100644 index 00000000000..8094a2f109b --- /dev/null +++ b/idea/testData/checker/MultipleModality.kt @@ -0,0 +1,9 @@ +sealed abstract class First + +abstract sealed class Second + +abstract class Base { + abstract open fun foo() + + open abstract val name: String +} diff --git a/idea/tests/org/jetbrains/kotlin/checkers/PsiCheckerTestGenerated.java b/idea/tests/org/jetbrains/kotlin/checkers/PsiCheckerTestGenerated.java index 8f9309efee0..a732ed756c4 100644 --- a/idea/tests/org/jetbrains/kotlin/checkers/PsiCheckerTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/checkers/PsiCheckerTestGenerated.java @@ -193,6 +193,12 @@ public class PsiCheckerTestGenerated extends AbstractPsiCheckerTest { doTest(fileName); } + @TestMetadata("MultipleModality.kt") + public void testMultipleModality() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/checker/MultipleModality.kt"); + doTest(fileName); + } + @TestMetadata("NestedObjects.kt") public void testNestedObjects() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/checker/NestedObjects.kt");