in src/main/kotlin/org/arend/refactoring/rename/ArendGlobalReferableRenameHandler.kt [58:85]
override fun doRename(elementToRename: PsiElement, editor: Editor, dataContext: DataContext?): InplaceRefactoring? {
if (ApplicationManager.getApplication().isUnitTestMode && dataContext != null) { //Invoked only in tests
val newName = PsiElementRenameHandler.DEFAULT_NAME.getData(dataContext)
if (newName != null) {
val project = editor.project
if (project != null) {
val context = Util.getContext(project, elementToRename, editor)
if (context != null) ArendRenameProcessor(project, elementToRename, newName, context, null).run()
}
return null
}
}
if (elementToRename is PsiNameIdentifierOwner && (elementToRename is GlobalReferable || Util.isDefIdentifierFromNsId(
elementToRename
))) {
val renamer = createMemberRenamer(elementToRename, elementToRename, editor)
val startedRename = renamer.performInplaceRename()
if (!startedRename) {
if (checkNotGeneratePreview()) {
invokeLater {
Util.customPerformDialogRename(elementToRename, editor)
}
}
}
return null
}
return super.doRename(elementToRename, editor, dataContext)
}