diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ChangeVisibilityModifierIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ChangeVisibilityModifierIntention.kt index 799c3811f37..afb9fdcb004 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ChangeVisibilityModifierIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ChangeVisibilityModifierIntention.kt @@ -119,5 +119,10 @@ open class ChangeVisibilityModifierIntention protected constructor( } } - class Internal : ChangeVisibilityModifierIntention(KtTokens.INTERNAL_KEYWORD) + class Internal : ChangeVisibilityModifierIntention(KtTokens.INTERNAL_KEYWORD) { + override fun applicabilityRange(element: KtDeclaration): TextRange? { + if (isAnnotationClassPrimaryConstructor(element)) return null + return super.applicabilityRange(element) + } + } } diff --git a/idea/testData/intentions/changeVisibility/internal/notForAnnotationClassPrimaryConstructor.kt b/idea/testData/intentions/changeVisibility/internal/notForAnnotationClassPrimaryConstructor.kt new file mode 100644 index 00000000000..5880d690c49 --- /dev/null +++ b/idea/testData/intentions/changeVisibility/internal/notForAnnotationClassPrimaryConstructor.kt @@ -0,0 +1,2 @@ +// IS_APPLICABLE: false +annotation class C(val v: Int) \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java index 66b5e9e57ec..cfb5627fcf8 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java @@ -2853,6 +2853,12 @@ public class IntentionTestGenerated extends AbstractIntentionTest { KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/intentions/changeVisibility/internal"), Pattern.compile("^([\\w\\-_]+)\\.kt$"), TargetBackend.ANY, true); } + @TestMetadata("notForAnnotationClassPrimaryConstructor.kt") + public void testNotForAnnotationClassPrimaryConstructor() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/changeVisibility/internal/notForAnnotationClassPrimaryConstructor.kt"); + doTest(fileName); + } + @TestMetadata("simple.kt") public void testSimple() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/intentions/changeVisibility/internal/simple.kt");