diff --git a/idea/src/META-INF/plugin.xml b/idea/src/META-INF/plugin.xml index 8204b8b3c36..b3bcee2fdd1 100644 --- a/idea/src/META-INF/plugin.xml +++ b/idea/src/META-INF/plugin.xml @@ -336,7 +336,7 @@ } - @Nullable - @Override - public PsiElement substituteElementToRename(PsiElement element, @Nullable Editor editor) { - return getJetClassOrObject(element, true, editor); + override fun substituteElementToRename(element: PsiElement, editor: Editor?): PsiElement? { + return getJetClassOrObject(element, true, editor) } - @Override - public void prepareRenaming(PsiElement element, String newName, Map allRenames) { - JetClassOrObject classOrObject = getJetClassOrObject(element, false, null); + override fun prepareRenaming(element: PsiElement, newName: String, allRenames: MutableMap) { + val classOrObject = getJetClassOrObject(element, false, null) ?: return - if (classOrObject != null) { - JetFile file = classOrObject.getContainingJetFile(); + val file = classOrObject.getContainingJetFile() - VirtualFile virtualFile = file.getVirtualFile(); - if (virtualFile != null) { - String nameWithoutExtensions = virtualFile.getNameWithoutExtension(); - if (nameWithoutExtensions.equals(classOrObject.getName())) { - allRenames.put(file, newName + "." + virtualFile.getExtension()); - } + val virtualFile = file.virtualFile + if (virtualFile != null) { + val nameWithoutExtensions = virtualFile.nameWithoutExtension + if (nameWithoutExtensions == classOrObject.name) { + allRenames.put(file, newName + "." + virtualFile.extension) } } } - @Nullable - private static JetClassOrObject getJetClassOrObject(@Nullable PsiElement element, boolean showErrors, @Nullable Editor editor) { - if (element instanceof KotlinLightClass) { - if (element instanceof KotlinLightClassForExplicitDeclaration) { - return ((KotlinLightClassForExplicitDeclaration) element).getOrigin(); + private fun getJetClassOrObject(element: PsiElement?, showErrors: Boolean, editor: Editor?): JetClassOrObject? = when (element) { + is KotlinLightClass -> + if (element is KotlinLightClassForExplicitDeclaration) { + element.getOrigin() } - else if (element instanceof KotlinLightClassForPackage) { + else if (element is KotlinLightClassForPackage) { if (showErrors) { CommonRefactoringUtil.showErrorHint( - element.getProject(), editor, + element.project, editor, JetBundle.message("rename.kotlin.package.class.error"), RefactoringBundle.message("rename.title"), - null); + null) } // Cancel rename - return null; + null } else { - assert false : "Should not be suggested to rename element of type " + element.getClass() + " " + element; + assert(false) { "Should not be suggested to rename element of type " + element.javaClass + " " + element } + null } - } - else if (element instanceof JetConstructor) { - return ((JetConstructor) element).getContainingClassOrObject(); - } - return (JetClassOrObject) element; + is JetConstructor<*> -> + element.getContainingClassOrObject() + + else -> + element as? JetClassOrObject } }