Fix compilation for 191 & as35
This commit is contained in:
+47
@@ -0,0 +1,47 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.idea.refactoring.rename
|
||||||
|
|
||||||
|
import com.intellij.psi.PsiElement
|
||||||
|
import com.intellij.refactoring.listeners.RefactoringElementListener
|
||||||
|
import com.intellij.usageView.UsageInfo
|
||||||
|
import org.jetbrains.kotlin.asJava.namedUnwrappedElement
|
||||||
|
import org.jetbrains.kotlin.idea.refactoring.KotlinRefactoringSettings
|
||||||
|
import org.jetbrains.kotlin.psi.KtFunction
|
||||||
|
import org.jetbrains.kotlin.psi.KtNamedDeclaration
|
||||||
|
import org.jetbrains.kotlin.psi.KtParameter
|
||||||
|
import org.jetbrains.kotlin.utils.SmartList
|
||||||
|
|
||||||
|
class RenameKotlinParameterProcessor : RenameKotlinPsiProcessor() {
|
||||||
|
override fun canProcessElement(element: PsiElement) = element is KtParameter && element.ownerFunction is KtFunction
|
||||||
|
|
||||||
|
override fun isToSearchInComments(psiElement: PsiElement) = KotlinRefactoringSettings.instance.RENAME_SEARCH_IN_COMMENTS_FOR_VARIABLE
|
||||||
|
|
||||||
|
override fun setToSearchInComments(element: PsiElement, enabled: Boolean) {
|
||||||
|
KotlinRefactoringSettings.instance.RENAME_SEARCH_IN_COMMENTS_FOR_VARIABLE = enabled
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun findCollisions(
|
||||||
|
element: PsiElement,
|
||||||
|
newName: String,
|
||||||
|
allRenames: MutableMap<out PsiElement, String>,
|
||||||
|
result: MutableList<UsageInfo>
|
||||||
|
) {
|
||||||
|
val declaration = element.namedUnwrappedElement as? KtNamedDeclaration ?: return
|
||||||
|
|
||||||
|
val collisions = SmartList<UsageInfo>()
|
||||||
|
checkRedeclarations(declaration, newName, collisions)
|
||||||
|
checkOriginalUsagesRetargeting(declaration, newName, result, collisions)
|
||||||
|
checkNewNameUsagesRetargeting(declaration, newName, collisions)
|
||||||
|
result += collisions
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun renameElement(element: PsiElement, newName: String, usages: Array<UsageInfo>, listener: RefactoringElementListener?) {
|
||||||
|
super.renameElement(element, newName, usages, listener)
|
||||||
|
|
||||||
|
usages.forEach { (it as? KtResolvableCollisionUsageInfo)?.apply() }
|
||||||
|
}
|
||||||
|
}
|
||||||
+47
@@ -0,0 +1,47 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.idea.refactoring.rename
|
||||||
|
|
||||||
|
import com.intellij.psi.PsiElement
|
||||||
|
import com.intellij.refactoring.listeners.RefactoringElementListener
|
||||||
|
import com.intellij.usageView.UsageInfo
|
||||||
|
import org.jetbrains.kotlin.asJava.namedUnwrappedElement
|
||||||
|
import org.jetbrains.kotlin.idea.refactoring.KotlinRefactoringSettings
|
||||||
|
import org.jetbrains.kotlin.psi.KtFunction
|
||||||
|
import org.jetbrains.kotlin.psi.KtNamedDeclaration
|
||||||
|
import org.jetbrains.kotlin.psi.KtParameter
|
||||||
|
import org.jetbrains.kotlin.utils.SmartList
|
||||||
|
|
||||||
|
class RenameKotlinParameterProcessor : RenameKotlinPsiProcessor() {
|
||||||
|
override fun canProcessElement(element: PsiElement) = element is KtParameter && element.ownerFunction is KtFunction
|
||||||
|
|
||||||
|
override fun isToSearchInComments(psiElement: PsiElement) = KotlinRefactoringSettings.instance.RENAME_SEARCH_IN_COMMENTS_FOR_VARIABLE
|
||||||
|
|
||||||
|
override fun setToSearchInComments(element: PsiElement, enabled: Boolean) {
|
||||||
|
KotlinRefactoringSettings.instance.RENAME_SEARCH_IN_COMMENTS_FOR_VARIABLE = enabled
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun findCollisions(
|
||||||
|
element: PsiElement,
|
||||||
|
newName: String,
|
||||||
|
allRenames: MutableMap<out PsiElement, String>,
|
||||||
|
result: MutableList<UsageInfo>
|
||||||
|
) {
|
||||||
|
val declaration = element.namedUnwrappedElement as? KtNamedDeclaration ?: return
|
||||||
|
|
||||||
|
val collisions = SmartList<UsageInfo>()
|
||||||
|
checkRedeclarations(declaration, newName, collisions)
|
||||||
|
checkOriginalUsagesRetargeting(declaration, newName, result, collisions)
|
||||||
|
checkNewNameUsagesRetargeting(declaration, newName, collisions)
|
||||||
|
result += collisions
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun renameElement(element: PsiElement, newName: String, usages: Array<UsageInfo>, listener: RefactoringElementListener?) {
|
||||||
|
super.renameElement(element, newName, usages, listener)
|
||||||
|
|
||||||
|
usages.forEach { (it as? KtResolvableCollisionUsageInfo)?.apply() }
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user