diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeVisibilityModifierFix.java b/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeVisibilityModifierFix.java index 516d83cc27f..44708f9eca8 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeVisibilityModifierFix.java +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/ChangeVisibilityModifierFix.java @@ -32,16 +32,12 @@ import org.jetbrains.kotlin.idea.JetBundle; import org.jetbrains.kotlin.idea.caches.resolve.ResolvePackage; import org.jetbrains.kotlin.idea.refactoring.JetRefactoringUtil; import org.jetbrains.kotlin.lexer.JetModifierKeywordToken; -import org.jetbrains.kotlin.lexer.JetTokens; import org.jetbrains.kotlin.psi.JetFile; import org.jetbrains.kotlin.psi.JetModifierListOwner; import org.jetbrains.kotlin.psi.JetParameter; import org.jetbrains.kotlin.resolve.BindingContext; public class ChangeVisibilityModifierFix extends JetIntentionAction { - public static final JetModifierKeywordToken[] VISIBILITY_TOKENS = - new JetModifierKeywordToken[] {JetTokens.PUBLIC_KEYWORD, JetTokens.PRIVATE_KEYWORD, JetTokens.PROTECTED_KEYWORD, JetTokens.INTERNAL_KEYWORD}; - public ChangeVisibilityModifierFix(@NotNull JetModifierListOwner element) { super(element); } diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/JetRefactoringUtil.java b/idea/src/org/jetbrains/kotlin/idea/refactoring/JetRefactoringUtil.java index 52ba0ef9fbe..777ecc571db 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/JetRefactoringUtil.java +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/JetRefactoringUtil.java @@ -73,20 +73,21 @@ public class JetRefactoringUtil { @NotNull public static JetModifierKeywordToken getVisibilityToken(@NotNull Visibility visibility) { - if (visibility == Visibilities.PUBLIC) { + Visibility normalized = visibility.normalize(); + if (normalized == Visibilities.PUBLIC) { return JetTokens.PUBLIC_KEYWORD; } - else if (visibility == Visibilities.PROTECTED) { + else if (normalized == Visibilities.PROTECTED) { return JetTokens.PROTECTED_KEYWORD; } - else if (visibility == Visibilities.INTERNAL) { + else if (normalized == Visibilities.INTERNAL) { return JetTokens.INTERNAL_KEYWORD; } - else if (Visibilities.isPrivate(visibility)) { + else if (Visibilities.isPrivate(normalized)) { return JetTokens.PRIVATE_KEYWORD; } - throw new IllegalArgumentException("Unexpected visibility '" + visibility + "'"); + throw new IllegalArgumentException("Unexpected visibility '" + normalized + "'"); } @NotNull diff --git a/idea/testData/quickfix/modifiers/visibilityModiferOverrideJavaRuntime.kt b/idea/testData/quickfix/modifiers/visibilityModiferOverrideJavaRuntime.kt new file mode 100644 index 00000000000..a5836ce0061 --- /dev/null +++ b/idea/testData/quickfix/modifiers/visibilityModiferOverrideJavaRuntime.kt @@ -0,0 +1,6 @@ +// "Change visibility modifier" "true" +abstract class C : ClassLoader() { + private override fun findClass(var1: String): Class<*> { + throw ClassNotFoundException(var1) + } +} diff --git a/idea/testData/quickfix/modifiers/visibilityModiferOverrideJavaRuntime.kt.after b/idea/testData/quickfix/modifiers/visibilityModiferOverrideJavaRuntime.kt.after new file mode 100644 index 00000000000..f911496898f --- /dev/null +++ b/idea/testData/quickfix/modifiers/visibilityModiferOverrideJavaRuntime.kt.after @@ -0,0 +1,6 @@ +// "Change visibility modifier" "true" +abstract class C : ClassLoader() { + protected override fun findClass(var1: String): Class<*> { + throw ClassNotFoundException(var1) + } +} diff --git a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java index 42873214be9..3919150c7eb 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java @@ -4322,6 +4322,12 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest { doTest(fileName); } + @TestMetadata("visibilityModiferOverrideJavaRuntime.kt") + public void testVisibilityModiferOverrideJavaRuntime() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/modifiers/visibilityModiferOverrideJavaRuntime.kt"); + doTest(fileName); + } + @TestMetadata("visibilityModiferParameter.kt") public void testVisibilityModiferParameter() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/modifiers/visibilityModiferParameter.kt");