Fixed exception

This commit is contained in:
Valentin Kipyatkov
2015-07-29 18:45:16 +03:00
parent 422a9613f1
commit 196cecfe70
5 changed files with 24 additions and 9 deletions
@@ -32,16 +32,12 @@ import org.jetbrains.kotlin.idea.JetBundle;
import org.jetbrains.kotlin.idea.caches.resolve.ResolvePackage; import org.jetbrains.kotlin.idea.caches.resolve.ResolvePackage;
import org.jetbrains.kotlin.idea.refactoring.JetRefactoringUtil; import org.jetbrains.kotlin.idea.refactoring.JetRefactoringUtil;
import org.jetbrains.kotlin.lexer.JetModifierKeywordToken; import org.jetbrains.kotlin.lexer.JetModifierKeywordToken;
import org.jetbrains.kotlin.lexer.JetTokens;
import org.jetbrains.kotlin.psi.JetFile; import org.jetbrains.kotlin.psi.JetFile;
import org.jetbrains.kotlin.psi.JetModifierListOwner; import org.jetbrains.kotlin.psi.JetModifierListOwner;
import org.jetbrains.kotlin.psi.JetParameter; import org.jetbrains.kotlin.psi.JetParameter;
import org.jetbrains.kotlin.resolve.BindingContext; import org.jetbrains.kotlin.resolve.BindingContext;
public class ChangeVisibilityModifierFix extends JetIntentionAction<JetModifierListOwner> { public class ChangeVisibilityModifierFix extends JetIntentionAction<JetModifierListOwner> {
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) { public ChangeVisibilityModifierFix(@NotNull JetModifierListOwner element) {
super(element); super(element);
} }
@@ -73,20 +73,21 @@ public class JetRefactoringUtil {
@NotNull @NotNull
public static JetModifierKeywordToken getVisibilityToken(@NotNull Visibility visibility) { public static JetModifierKeywordToken getVisibilityToken(@NotNull Visibility visibility) {
if (visibility == Visibilities.PUBLIC) { Visibility normalized = visibility.normalize();
if (normalized == Visibilities.PUBLIC) {
return JetTokens.PUBLIC_KEYWORD; return JetTokens.PUBLIC_KEYWORD;
} }
else if (visibility == Visibilities.PROTECTED) { else if (normalized == Visibilities.PROTECTED) {
return JetTokens.PROTECTED_KEYWORD; return JetTokens.PROTECTED_KEYWORD;
} }
else if (visibility == Visibilities.INTERNAL) { else if (normalized == Visibilities.INTERNAL) {
return JetTokens.INTERNAL_KEYWORD; return JetTokens.INTERNAL_KEYWORD;
} }
else if (Visibilities.isPrivate(visibility)) { else if (Visibilities.isPrivate(normalized)) {
return JetTokens.PRIVATE_KEYWORD; return JetTokens.PRIVATE_KEYWORD;
} }
throw new IllegalArgumentException("Unexpected visibility '" + visibility + "'"); throw new IllegalArgumentException("Unexpected visibility '" + normalized + "'");
} }
@NotNull @NotNull
@@ -0,0 +1,6 @@
// "Change visibility modifier" "true"
abstract class C : ClassLoader() {
<caret>private override fun findClass(var1: String): Class<*> {
throw ClassNotFoundException(var1)
}
}
@@ -0,0 +1,6 @@
// "Change visibility modifier" "true"
abstract class C : ClassLoader() {
<caret>protected override fun findClass(var1: String): Class<*> {
throw ClassNotFoundException(var1)
}
}
@@ -4322,6 +4322,12 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest {
doTest(fileName); 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") @TestMetadata("visibilityModiferParameter.kt")
public void testVisibilityModiferParameter() throws Exception { public void testVisibilityModiferParameter() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/modifiers/visibilityModiferParameter.kt"); String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/modifiers/visibilityModiferParameter.kt");