report stats for all renaming refactorings
This commit is contained in:
+7
-2
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.refactoring.rename
|
package org.jetbrains.kotlin.idea.refactoring.rename
|
||||||
|
|
||||||
|
import com.intellij.internal.statistic.service.fus.collectors.FUSApplicationUsageTrigger
|
||||||
import com.intellij.openapi.actionSystem.CommonDataKeys
|
import com.intellij.openapi.actionSystem.CommonDataKeys
|
||||||
import com.intellij.openapi.actionSystem.DataContext
|
import com.intellij.openapi.actionSystem.DataContext
|
||||||
import com.intellij.openapi.application.ApplicationManager
|
import com.intellij.openapi.application.ApplicationManager
|
||||||
@@ -33,6 +34,7 @@ import org.jetbrains.kotlin.psi.KtFile
|
|||||||
import org.jetbrains.kotlin.psi.KtSimpleNameExpression
|
import org.jetbrains.kotlin.psi.KtSimpleNameExpression
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.endOffset
|
import org.jetbrains.kotlin.psi.psiUtil.endOffset
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
||||||
|
import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger
|
||||||
|
|
||||||
abstract class AbstractReferenceSubstitutionRenameHandler(
|
abstract class AbstractReferenceSubstitutionRenameHandler(
|
||||||
private val delegateHandler: RenameHandler = MemberInplaceRenameHandler()
|
private val delegateHandler: RenameHandler = MemberInplaceRenameHandler()
|
||||||
@@ -63,6 +65,9 @@ abstract class AbstractReferenceSubstitutionRenameHandler(
|
|||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: PsiFile?, dataContext: DataContext) {
|
override fun invoke(project: Project, editor: Editor?, file: PsiFile?, dataContext: DataContext) {
|
||||||
val elementToRename = getElementToRename(dataContext) ?: return
|
val elementToRename = getElementToRename(dataContext) ?: return
|
||||||
|
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
|
|
||||||
val wrappingContext = DataContext { id ->
|
val wrappingContext = DataContext { id ->
|
||||||
if (CommonDataKeys.PSI_ELEMENT.`is`(id)) return@DataContext elementToRename
|
if (CommonDataKeys.PSI_ELEMENT.`is`(id)) return@DataContext elementToRename
|
||||||
dataContext.getData(id)
|
dataContext.getData(id)
|
||||||
@@ -70,13 +75,13 @@ abstract class AbstractReferenceSubstitutionRenameHandler(
|
|||||||
// Can't provide new name for inplace refactoring in unit test mode
|
// Can't provide new name for inplace refactoring in unit test mode
|
||||||
if (!ApplicationManager.getApplication().isUnitTestMode && delegateHandler.isAvailableOnDataContext(wrappingContext)) {
|
if (!ApplicationManager.getApplication().isUnitTestMode && delegateHandler.isAvailableOnDataContext(wrappingContext)) {
|
||||||
delegateHandler.invoke(project, editor, file, wrappingContext)
|
delegateHandler.invoke(project, editor, file, wrappingContext)
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
super.invoke(project, editor, file, wrappingContext)
|
super.invoke(project, editor, file, wrappingContext)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun invoke(project: Project, elements: Array<out PsiElement>, dataContext: DataContext) {
|
override fun invoke(project: Project, elements: Array<out PsiElement>, dataContext: DataContext) {
|
||||||
// Can't be invoked outside of a text editor
|
// Can't be invoked outside of a text editor
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -16,17 +16,20 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.refactoring.rename
|
package org.jetbrains.kotlin.idea.refactoring.rename
|
||||||
|
|
||||||
|
import com.intellij.internal.statistic.service.fus.collectors.FUSApplicationUsageTrigger
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.psi.PsiNamedElement
|
import com.intellij.psi.PsiNamedElement
|
||||||
import com.intellij.psi.search.searches.ClassInheritorsSearch
|
import com.intellij.psi.search.searches.ClassInheritorsSearch
|
||||||
import com.intellij.refactoring.JavaRefactoringSettings
|
import com.intellij.refactoring.JavaRefactoringSettings
|
||||||
import com.intellij.refactoring.RefactoringBundle
|
import com.intellij.refactoring.RefactoringBundle
|
||||||
|
import com.intellij.refactoring.rename.UnresolvableCollisionUsageInfo
|
||||||
import com.intellij.refactoring.rename.naming.AutomaticRenamer
|
import com.intellij.refactoring.rename.naming.AutomaticRenamer
|
||||||
import com.intellij.refactoring.rename.naming.AutomaticRenamerFactory
|
import com.intellij.refactoring.rename.naming.AutomaticRenamerFactory
|
||||||
import com.intellij.usageView.UsageInfo
|
import com.intellij.usageView.UsageInfo
|
||||||
import org.jetbrains.kotlin.asJava.toLightClass
|
import org.jetbrains.kotlin.asJava.toLightClass
|
||||||
import org.jetbrains.kotlin.asJava.unwrapped
|
import org.jetbrains.kotlin.asJava.unwrapped
|
||||||
import org.jetbrains.kotlin.psi.KtClass
|
import org.jetbrains.kotlin.psi.KtClass
|
||||||
|
import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger
|
||||||
|
|
||||||
class AutomaticInheritorRenamer(klass: KtClass, newName: String): AutomaticRenamer() {
|
class AutomaticInheritorRenamer(klass: KtClass, newName: String): AutomaticRenamer() {
|
||||||
init {
|
init {
|
||||||
@@ -45,6 +48,21 @@ class AutomaticInheritorRenamer(klass: KtClass, newName: String): AutomaticRenam
|
|||||||
override fun getDialogTitle() = RefactoringBundle.message("rename.inheritors.title")
|
override fun getDialogTitle() = RefactoringBundle.message("rename.inheritors.title")
|
||||||
override fun getDialogDescription() = RefactoringBundle.message("rename.inheritors.with.the.following.names.to")
|
override fun getDialogDescription() = RefactoringBundle.message("rename.inheritors.with.the.following.names.to")
|
||||||
override fun entityName() = RefactoringBundle.message("entity.name.inheritor")
|
override fun entityName() = RefactoringBundle.message("entity.name.inheritor")
|
||||||
|
|
||||||
|
override fun findUsages(result: MutableList<UsageInfo>?, searchInStringsAndComments: Boolean, searchInNonJavaFiles: Boolean) {
|
||||||
|
super.findUsages(result, searchInStringsAndComments, searchInNonJavaFiles)
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun findUsages(result: MutableList<UsageInfo>?, searchInStringsAndComments: Boolean, searchInNonJavaFiles: Boolean, unresolvedUsages: MutableList<UnresolvableCollisionUsageInfo>?) {
|
||||||
|
super.findUsages(result, searchInStringsAndComments, searchInNonJavaFiles, unresolvedUsages)
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun findUsages(result: MutableList<UsageInfo>?, searchInStringsAndComments: Boolean, searchInNonJavaFiles: Boolean, unresolvedUsages: MutableList<UnresolvableCollisionUsageInfo>?, allRenames: MutableMap<PsiElement, String>?) {
|
||||||
|
super.findUsages(result, searchInStringsAndComments, searchInNonJavaFiles, unresolvedUsages, allRenames)
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class AutomaticInheritorRenamerFactory : AutomaticRenamerFactory {
|
class AutomaticInheritorRenamerFactory : AutomaticRenamerFactory {
|
||||||
|
|||||||
@@ -16,10 +16,12 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.refactoring.rename
|
package org.jetbrains.kotlin.idea.refactoring.rename
|
||||||
|
|
||||||
|
import com.intellij.internal.statistic.service.fus.collectors.FUSApplicationUsageTrigger
|
||||||
import com.intellij.openapi.util.Key
|
import com.intellij.openapi.util.Key
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.refactoring.JavaRefactoringSettings
|
import com.intellij.refactoring.JavaRefactoringSettings
|
||||||
import com.intellij.refactoring.RefactoringBundle
|
import com.intellij.refactoring.RefactoringBundle
|
||||||
|
import com.intellij.refactoring.rename.UnresolvableCollisionUsageInfo
|
||||||
import com.intellij.refactoring.rename.naming.AutomaticRenamer
|
import com.intellij.refactoring.rename.naming.AutomaticRenamer
|
||||||
import com.intellij.refactoring.rename.naming.AutomaticRenamerFactory
|
import com.intellij.refactoring.rename.naming.AutomaticRenamerFactory
|
||||||
import com.intellij.usageView.UsageInfo
|
import com.intellij.usageView.UsageInfo
|
||||||
@@ -36,6 +38,7 @@ import org.jetbrains.kotlin.psi.KtNamedFunction
|
|||||||
import org.jetbrains.kotlin.psi.UserDataProperty
|
import org.jetbrains.kotlin.psi.UserDataProperty
|
||||||
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
||||||
import org.jetbrains.kotlin.resolve.source.getPsi
|
import org.jetbrains.kotlin.resolve.source.getPsi
|
||||||
|
import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger
|
||||||
|
|
||||||
class AutomaticOverloadsRenamer(function: KtNamedFunction, newName: String) : AutomaticRenamer() {
|
class AutomaticOverloadsRenamer(function: KtNamedFunction, newName: String) : AutomaticRenamer() {
|
||||||
companion object {
|
companion object {
|
||||||
@@ -58,6 +61,21 @@ class AutomaticOverloadsRenamer(function: KtNamedFunction, newName: String) : Au
|
|||||||
override fun getDialogDescription() = "Rename overloads to:"
|
override fun getDialogDescription() = "Rename overloads to:"
|
||||||
override fun entityName() = "Overload"
|
override fun entityName() = "Overload"
|
||||||
override fun isSelectedByDefault(): Boolean = true
|
override fun isSelectedByDefault(): Boolean = true
|
||||||
|
|
||||||
|
override fun findUsages(result: MutableList<UsageInfo>?, searchInStringsAndComments: Boolean, searchInNonJavaFiles: Boolean) {
|
||||||
|
super.findUsages(result, searchInStringsAndComments, searchInNonJavaFiles)
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun findUsages(result: MutableList<UsageInfo>?, searchInStringsAndComments: Boolean, searchInNonJavaFiles: Boolean, unresolvedUsages: MutableList<UnresolvableCollisionUsageInfo>?) {
|
||||||
|
super.findUsages(result, searchInStringsAndComments, searchInNonJavaFiles, unresolvedUsages)
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun findUsages(result: MutableList<UsageInfo>?, searchInStringsAndComments: Boolean, searchInNonJavaFiles: Boolean, unresolvedUsages: MutableList<UnresolvableCollisionUsageInfo>?, allRenames: MutableMap<PsiElement, String>?) {
|
||||||
|
super.findUsages(result, searchInStringsAndComments, searchInNonJavaFiles, unresolvedUsages, allRenames)
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun KtNamedFunction.getOverloads(): Collection<FunctionDescriptor> {
|
private fun KtNamedFunction.getOverloads(): Collection<FunctionDescriptor> {
|
||||||
|
|||||||
@@ -16,11 +16,13 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.refactoring.rename
|
package org.jetbrains.kotlin.idea.refactoring.rename
|
||||||
|
|
||||||
|
import com.intellij.internal.statistic.service.fus.collectors.FUSApplicationUsageTrigger
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.psi.PsiMethod
|
import com.intellij.psi.PsiMethod
|
||||||
import com.intellij.psi.PsiNamedElement
|
import com.intellij.psi.PsiNamedElement
|
||||||
import com.intellij.refactoring.JavaRefactoringSettings
|
import com.intellij.refactoring.JavaRefactoringSettings
|
||||||
import com.intellij.refactoring.RefactoringBundle
|
import com.intellij.refactoring.RefactoringBundle
|
||||||
|
import com.intellij.refactoring.rename.UnresolvableCollisionUsageInfo
|
||||||
import com.intellij.refactoring.rename.naming.AutomaticRenamer
|
import com.intellij.refactoring.rename.naming.AutomaticRenamer
|
||||||
import com.intellij.refactoring.rename.naming.AutomaticRenamerFactory
|
import com.intellij.refactoring.rename.naming.AutomaticRenamerFactory
|
||||||
import com.intellij.usageView.UsageInfo
|
import com.intellij.usageView.UsageInfo
|
||||||
@@ -32,6 +34,7 @@ import org.jetbrains.kotlin.psi.KtCallableDeclaration
|
|||||||
import org.jetbrains.kotlin.psi.KtNamedFunction
|
import org.jetbrains.kotlin.psi.KtNamedFunction
|
||||||
import org.jetbrains.kotlin.psi.KtParameter
|
import org.jetbrains.kotlin.psi.KtParameter
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.quoteIfNeeded
|
import org.jetbrains.kotlin.psi.psiUtil.quoteIfNeeded
|
||||||
|
import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger
|
||||||
|
|
||||||
class AutomaticParameterRenamer(element: KtParameter, newName: String) : AutomaticRenamer() {
|
class AutomaticParameterRenamer(element: KtParameter, newName: String) : AutomaticRenamer() {
|
||||||
init {
|
init {
|
||||||
@@ -62,6 +65,21 @@ class AutomaticParameterRenamer(element: KtParameter, newName: String) : Automat
|
|||||||
override fun entityName() = "Parameter"
|
override fun entityName() = "Parameter"
|
||||||
|
|
||||||
override fun isSelectedByDefault() = true
|
override fun isSelectedByDefault() = true
|
||||||
|
|
||||||
|
override fun findUsages(result: MutableList<UsageInfo>?, searchInStringsAndComments: Boolean, searchInNonJavaFiles: Boolean) {
|
||||||
|
super.findUsages(result, searchInStringsAndComments, searchInNonJavaFiles)
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun findUsages(result: MutableList<UsageInfo>?, searchInStringsAndComments: Boolean, searchInNonJavaFiles: Boolean, unresolvedUsages: MutableList<UnresolvableCollisionUsageInfo>?) {
|
||||||
|
super.findUsages(result, searchInStringsAndComments, searchInNonJavaFiles, unresolvedUsages)
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun findUsages(result: MutableList<UsageInfo>?, searchInStringsAndComments: Boolean, searchInNonJavaFiles: Boolean, unresolvedUsages: MutableList<UnresolvableCollisionUsageInfo>?, allRenames: MutableMap<PsiElement, String>?) {
|
||||||
|
super.findUsages(result, searchInStringsAndComments, searchInNonJavaFiles, unresolvedUsages, allRenames)
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class AutomaticParameterRenamerFactory : AutomaticRenamerFactory {
|
class AutomaticParameterRenamerFactory : AutomaticRenamerFactory {
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.refactoring.rename
|
package org.jetbrains.kotlin.idea.refactoring.rename
|
||||||
|
|
||||||
|
import com.intellij.internal.statistic.service.fus.collectors.FUSApplicationUsageTrigger
|
||||||
import com.intellij.openapi.diagnostic.Logger
|
import com.intellij.openapi.diagnostic.Logger
|
||||||
import com.intellij.openapi.util.text.StringUtil
|
import com.intellij.openapi.util.text.StringUtil
|
||||||
import com.intellij.psi.PsiClass
|
import com.intellij.psi.PsiClass
|
||||||
@@ -26,6 +27,7 @@ import com.intellij.psi.codeStyle.JavaCodeStyleManager
|
|||||||
import com.intellij.psi.util.PsiTreeUtil
|
import com.intellij.psi.util.PsiTreeUtil
|
||||||
import com.intellij.refactoring.JavaRefactoringSettings
|
import com.intellij.refactoring.JavaRefactoringSettings
|
||||||
import com.intellij.refactoring.RefactoringBundle
|
import com.intellij.refactoring.RefactoringBundle
|
||||||
|
import com.intellij.refactoring.rename.UnresolvableCollisionUsageInfo
|
||||||
import com.intellij.refactoring.rename.naming.AutomaticRenamer
|
import com.intellij.refactoring.rename.naming.AutomaticRenamer
|
||||||
import com.intellij.refactoring.rename.naming.AutomaticRenamerFactory
|
import com.intellij.refactoring.rename.naming.AutomaticRenamerFactory
|
||||||
import com.intellij.usageView.UsageInfo
|
import com.intellij.usageView.UsageInfo
|
||||||
@@ -42,6 +44,7 @@ import org.jetbrains.kotlin.resolve.DescriptorUtils
|
|||||||
import org.jetbrains.kotlin.resolve.descriptorUtil.builtIns
|
import org.jetbrains.kotlin.resolve.descriptorUtil.builtIns
|
||||||
import org.jetbrains.kotlin.resolve.lazy.NoDescriptorForDeclarationException
|
import org.jetbrains.kotlin.resolve.lazy.NoDescriptorForDeclarationException
|
||||||
import org.jetbrains.kotlin.resolve.source.PsiSourceElement
|
import org.jetbrains.kotlin.resolve.source.PsiSourceElement
|
||||||
|
import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger
|
||||||
import org.jetbrains.kotlin.types.KotlinType
|
import org.jetbrains.kotlin.types.KotlinType
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
|
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
|
||||||
import java.util.*
|
import java.util.*
|
||||||
@@ -126,6 +129,21 @@ class AutomaticVariableRenamer(
|
|||||||
companion object {
|
companion object {
|
||||||
val LOG = Logger.getInstance(AutomaticVariableRenamer::class.java)
|
val LOG = Logger.getInstance(AutomaticVariableRenamer::class.java)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun findUsages(result: MutableList<UsageInfo>?, searchInStringsAndComments: Boolean, searchInNonJavaFiles: Boolean) {
|
||||||
|
super.findUsages(result, searchInStringsAndComments, searchInNonJavaFiles)
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun findUsages(result: MutableList<UsageInfo>?, searchInStringsAndComments: Boolean, searchInNonJavaFiles: Boolean, unresolvedUsages: MutableList<UnresolvableCollisionUsageInfo>?) {
|
||||||
|
super.findUsages(result, searchInStringsAndComments, searchInNonJavaFiles, unresolvedUsages)
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun findUsages(result: MutableList<UsageInfo>?, searchInStringsAndComments: Boolean, searchInNonJavaFiles: Boolean, unresolvedUsages: MutableList<UnresolvableCollisionUsageInfo>?, allRenames: MutableMap<PsiElement, String>?) {
|
||||||
|
super.findUsages(result, searchInStringsAndComments, searchInNonJavaFiles, unresolvedUsages, allRenames)
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun KotlinType.isCollectionLikeOf(classPsiElement: PsiNamedElement): Boolean {
|
private fun KotlinType.isCollectionLikeOf(classPsiElement: PsiNamedElement): Boolean {
|
||||||
|
|||||||
+15
@@ -16,8 +16,11 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.refactoring.rename
|
package org.jetbrains.kotlin.idea.refactoring.rename
|
||||||
|
|
||||||
|
import com.intellij.internal.statistic.service.fus.collectors.FUSApplicationUsageTrigger
|
||||||
|
import com.intellij.openapi.actionSystem.DataContext
|
||||||
import com.intellij.openapi.command.impl.StartMarkAction
|
import com.intellij.openapi.command.impl.StartMarkAction
|
||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.psi.PsiFile
|
import com.intellij.psi.PsiFile
|
||||||
import com.intellij.psi.PsiMember
|
import com.intellij.psi.PsiMember
|
||||||
@@ -30,6 +33,7 @@ import org.jetbrains.kotlin.idea.references.mainReference
|
|||||||
import org.jetbrains.kotlin.psi.KtPsiUtil
|
import org.jetbrains.kotlin.psi.KtPsiUtil
|
||||||
import org.jetbrains.kotlin.psi.KtSimpleNameExpression
|
import org.jetbrains.kotlin.psi.KtSimpleNameExpression
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
||||||
|
import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger
|
||||||
|
|
||||||
class JavaMemberByKotlinReferenceInplaceRenameHandler : MemberInplaceRenameHandler() {
|
class JavaMemberByKotlinReferenceInplaceRenameHandler : MemberInplaceRenameHandler() {
|
||||||
class Renamer(
|
class Renamer(
|
||||||
@@ -54,4 +58,15 @@ class JavaMemberByKotlinReferenceInplaceRenameHandler : MemberInplaceRenameHandl
|
|||||||
override fun createMemberRenamer(element: PsiElement, elementToRename: PsiNameIdentifierOwner, editor: Editor): MemberInplaceRenamer {
|
override fun createMemberRenamer(element: PsiElement, elementToRename: PsiNameIdentifierOwner, editor: Editor): MemberInplaceRenamer {
|
||||||
return Renamer(elementToRename, element, editor)
|
return Renamer(elementToRename, element, editor)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun invoke(project: Project, elements: Array<out PsiElement>, dataContext: DataContext) {
|
||||||
|
super.invoke(project, elements, dataContext)
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun invoke(project: Project, editor: Editor?, file: PsiFile?, dataContext: DataContext?) {
|
||||||
|
super.invoke(project, editor, file, dataContext)
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+3
@@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.refactoring.rename
|
package org.jetbrains.kotlin.idea.refactoring.rename
|
||||||
|
|
||||||
|
import com.intellij.internal.statistic.service.fus.collectors.FUSApplicationUsageTrigger
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.psi.PsiMethod
|
import com.intellij.psi.PsiMethod
|
||||||
import com.intellij.psi.PsiReference
|
import com.intellij.psi.PsiReference
|
||||||
@@ -14,6 +15,7 @@ import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
|||||||
import org.jetbrains.kotlin.idea.references.SyntheticPropertyAccessorReference
|
import org.jetbrains.kotlin.idea.references.SyntheticPropertyAccessorReference
|
||||||
import org.jetbrains.kotlin.load.java.JvmAbi
|
import org.jetbrains.kotlin.load.java.JvmAbi
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
|
import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger
|
||||||
import org.jetbrains.kotlin.synthetic.SyntheticJavaPropertyDescriptor
|
import org.jetbrains.kotlin.synthetic.SyntheticJavaPropertyDescriptor
|
||||||
import org.jetbrains.kotlin.utils.ifEmpty
|
import org.jetbrains.kotlin.utils.ifEmpty
|
||||||
|
|
||||||
@@ -26,6 +28,7 @@ class KotlinAwareJavaGetterRenameProcessor : RenameJavaMethodProcessor() {
|
|||||||
val propertyName = SyntheticJavaPropertyDescriptor.propertyNameByGetMethodName(Name.identifier(getter.name)) ?: return getterReferences
|
val propertyName = SyntheticJavaPropertyDescriptor.propertyNameByGetMethodName(Name.identifier(getter.name)) ?: return getterReferences
|
||||||
val setterName = JvmAbi.setterName(propertyName.asString())
|
val setterName = JvmAbi.setterName(propertyName.asString())
|
||||||
val containingClass = getter.containingClass ?: return getterReferences
|
val containingClass = getter.containingClass ?: return getterReferences
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
val setterReferences = containingClass
|
val setterReferences = containingClass
|
||||||
.findMethodsByName(setterName, true)
|
.findMethodsByName(setterName, true)
|
||||||
.filter { it.parameters.size == 1 && it.returnType == PsiType.VOID }
|
.filter { it.parameters.size == 1 && it.returnType == PsiType.VOID }
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.refactoring.rename
|
package org.jetbrains.kotlin.idea.refactoring.rename
|
||||||
|
|
||||||
|
import com.intellij.internal.statistic.service.fus.collectors.FUSApplicationUsageTrigger
|
||||||
import com.intellij.openapi.actionSystem.DataContext
|
import com.intellij.openapi.actionSystem.DataContext
|
||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.extensions.ExtensionPointName
|
import com.intellij.openapi.extensions.ExtensionPointName
|
||||||
@@ -24,6 +25,7 @@ import com.intellij.openapi.project.Project
|
|||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.psi.PsiFile
|
import com.intellij.psi.PsiFile
|
||||||
import com.intellij.refactoring.rename.RenameHandler
|
import com.intellij.refactoring.rename.RenameHandler
|
||||||
|
import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
|
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
@@ -47,9 +49,11 @@ class KotlinRenameDispatcherHandler : RenameHandler {
|
|||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: PsiFile?, dataContext: DataContext) {
|
override fun invoke(project: Project, editor: Editor?, file: PsiFile?, dataContext: DataContext) {
|
||||||
getRenameHandler(dataContext)?.invoke(project, editor, file, dataContext)
|
getRenameHandler(dataContext)?.invoke(project, editor, file, dataContext)
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun invoke(project: Project, elements: Array<out PsiElement>, dataContext: DataContext) {
|
override fun invoke(project: Project, elements: Array<out PsiElement>, dataContext: DataContext) {
|
||||||
getRenameHandler(dataContext)?.invoke(project, elements, dataContext)
|
getRenameHandler(dataContext)?.invoke(project, elements, dataContext)
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+4
@@ -26,6 +26,8 @@ import com.intellij.psi.PsiFile
|
|||||||
import com.intellij.refactoring.rename.RenameHandler
|
import com.intellij.refactoring.rename.RenameHandler
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
|
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
import com.intellij.internal.statistic.service.fus.collectors.FUSApplicationUsageTrigger
|
||||||
|
import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger
|
||||||
|
|
||||||
class KotlinRenameDispatcherHandler : RenameHandler {
|
class KotlinRenameDispatcherHandler : RenameHandler {
|
||||||
companion object {
|
companion object {
|
||||||
@@ -47,9 +49,11 @@ class KotlinRenameDispatcherHandler : RenameHandler {
|
|||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: PsiFile?, dataContext: DataContext?) {
|
override fun invoke(project: Project, editor: Editor?, file: PsiFile?, dataContext: DataContext?) {
|
||||||
getRenameHandler(dataContext)?.invoke(project, editor, file, dataContext)
|
getRenameHandler(dataContext)?.invoke(project, editor, file, dataContext)
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun invoke(project: Project, elements: Array<out PsiElement>, dataContext: DataContext?) {
|
override fun invoke(project: Project, elements: Array<out PsiElement>, dataContext: DataContext?) {
|
||||||
getRenameHandler(dataContext)?.invoke(project, elements, dataContext)
|
getRenameHandler(dataContext)?.invoke(project, elements, dataContext)
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+14
@@ -5,13 +5,17 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.refactoring.rename
|
package org.jetbrains.kotlin.idea.refactoring.rename
|
||||||
|
|
||||||
|
import com.intellij.internal.statistic.service.fus.collectors.FUSApplicationUsageTrigger
|
||||||
|
import com.intellij.openapi.actionSystem.DataContext
|
||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.psi.*
|
import com.intellij.psi.*
|
||||||
import com.intellij.refactoring.RefactoringActionHandler
|
import com.intellij.refactoring.RefactoringActionHandler
|
||||||
import com.intellij.refactoring.rename.inplace.VariableInplaceRenameHandler
|
import com.intellij.refactoring.rename.inplace.VariableInplaceRenameHandler
|
||||||
import com.intellij.refactoring.rename.inplace.VariableInplaceRenamer
|
import com.intellij.refactoring.rename.inplace.VariableInplaceRenamer
|
||||||
import org.jetbrains.kotlin.idea.core.unquote
|
import org.jetbrains.kotlin.idea.core.unquote
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
|
import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger
|
||||||
|
|
||||||
open class KotlinVariableInplaceRenameHandler : VariableInplaceRenameHandler() {
|
open class KotlinVariableInplaceRenameHandler : VariableInplaceRenameHandler() {
|
||||||
companion object {
|
companion object {
|
||||||
@@ -68,4 +72,14 @@ open class KotlinVariableInplaceRenameHandler : VariableInplaceRenameHandler() {
|
|||||||
|
|
||||||
override public fun isAvailable(element: PsiElement?, editor: Editor, file: PsiFile) =
|
override public fun isAvailable(element: PsiElement?, editor: Editor, file: PsiFile) =
|
||||||
editor.settings.isVariableInplaceRenameEnabled && element != null && isInplaceRenameAvailable(element)
|
editor.settings.isVariableInplaceRenameEnabled && element != null && isInplaceRenameAvailable(element)
|
||||||
|
|
||||||
|
override fun invoke(project: Project, elements: Array<out PsiElement>, dataContext: DataContext) {
|
||||||
|
super.invoke(project, elements, dataContext)
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun invoke(project: Project, editor: Editor?, file: PsiFile?, dataContext: DataContext?) {
|
||||||
|
super.invoke(project, editor, file, dataContext)
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
+14
@@ -5,13 +5,17 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.refactoring.rename
|
package org.jetbrains.kotlin.idea.refactoring.rename
|
||||||
|
|
||||||
|
import com.intellij.internal.statistic.service.fus.collectors.FUSApplicationUsageTrigger
|
||||||
|
import com.intellij.openapi.actionSystem.DataContext
|
||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.psi.*
|
import com.intellij.psi.*
|
||||||
import com.intellij.refactoring.RefactoringActionHandler
|
import com.intellij.refactoring.RefactoringActionHandler
|
||||||
import com.intellij.refactoring.rename.inplace.VariableInplaceRenameHandler
|
import com.intellij.refactoring.rename.inplace.VariableInplaceRenameHandler
|
||||||
import com.intellij.refactoring.rename.inplace.VariableInplaceRenamer
|
import com.intellij.refactoring.rename.inplace.VariableInplaceRenamer
|
||||||
import org.jetbrains.kotlin.idea.core.unquote
|
import org.jetbrains.kotlin.idea.core.unquote
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
|
import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger
|
||||||
|
|
||||||
open class KotlinVariableInplaceRenameHandler : VariableInplaceRenameHandler() {
|
open class KotlinVariableInplaceRenameHandler : VariableInplaceRenameHandler() {
|
||||||
companion object {
|
companion object {
|
||||||
@@ -68,4 +72,14 @@ open class KotlinVariableInplaceRenameHandler : VariableInplaceRenameHandler() {
|
|||||||
|
|
||||||
override public fun isAvailable(element: PsiElement?, editor: Editor, file: PsiFile) =
|
override public fun isAvailable(element: PsiElement?, editor: Editor, file: PsiFile) =
|
||||||
editor.settings.isVariableInplaceRenameEnabled && element != null && isInplaceRenameAvailable(element)
|
editor.settings.isVariableInplaceRenameEnabled && element != null && isInplaceRenameAvailable(element)
|
||||||
|
|
||||||
|
override fun invoke(project: Project, editor: Editor?, file: PsiFile?, dataContext: DataContext) {
|
||||||
|
getRenameHandler(dataContext)?.invoke(project, editor, file, dataContext)
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun invoke(project: Project, elements: Array<out PsiElement>, dataContext: DataContext) {
|
||||||
|
getRenameHandler(dataContext)?.invoke(project, elements, dataContext)
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
+6
-3
@@ -26,15 +26,18 @@ import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall
|
|||||||
import org.jetbrains.kotlin.idea.codeInsight.CodeInsightUtils
|
import org.jetbrains.kotlin.idea.codeInsight.CodeInsightUtils
|
||||||
import org.jetbrains.kotlin.psi.KtSimpleNameExpression
|
import org.jetbrains.kotlin.psi.KtSimpleNameExpression
|
||||||
|
|
||||||
class RenameBackingFieldReferenceHandler: KotlinVariableInplaceRenameHandler() {
|
class RenameBackingFieldReferenceHandler : KotlinVariableInplaceRenameHandler() {
|
||||||
override fun isAvailable(element: PsiElement?, editor: Editor, file: PsiFile): Boolean {
|
override fun isAvailable(element: PsiElement?, editor: Editor, file: PsiFile): Boolean {
|
||||||
val refExpression = file.findElementForRename<KtSimpleNameExpression>(editor.caretModel.offset) ?: return false
|
val refExpression = file.findElementForRename<KtSimpleNameExpression>(editor.caretModel.offset) ?: return false
|
||||||
if (refExpression.text != "field") return false
|
if (refExpression.text != "field") return false
|
||||||
return refExpression.resolveToCall()?.resultingDescriptor is SyntheticFieldDescriptor
|
return refExpression.resolveToCall()?.resultingDescriptor is SyntheticFieldDescriptor
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor, file: PsiFile, dataContext: DataContext?) {
|
override fun invoke(project: Project, editor: Editor?, file: PsiFile?, dataContext: DataContext?) {
|
||||||
CodeInsightUtils.showErrorHint(project, editor, "Rename is not applicable to backing field reference", "Rename", null)
|
super.invoke(project, editor, file, dataContext)
|
||||||
|
editor?.let {
|
||||||
|
CodeInsightUtils.showErrorHint(project, it, "Rename is not applicable to backing field reference", "Rename", null)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun invoke(project: Project, elements: Array<out PsiElement>, dataContext: DataContext) {
|
override fun invoke(project: Project, elements: Array<out PsiElement>, dataContext: DataContext) {
|
||||||
|
|||||||
+5
-3
@@ -33,11 +33,13 @@ class RenameBackingFieldReferenceHandler: KotlinVariableInplaceRenameHandler() {
|
|||||||
return refExpression.resolveToCall()?.resultingDescriptor is SyntheticFieldDescriptor
|
return refExpression.resolveToCall()?.resultingDescriptor is SyntheticFieldDescriptor
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor, file: PsiFile, dataContext: DataContext?) {
|
override fun invoke(project: Project, editor: Editor?, file: PsiFile?, dataContext: DataContext?) {
|
||||||
CodeInsightUtils.showErrorHint(project, editor, "Rename is not applicable to backing field reference", "Rename", null)
|
editor?.let {
|
||||||
|
CodeInsightUtils.showErrorHint(project, it, "Rename is not applicable to backing field reference", "Rename", null)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun invoke(project: Project, elements: Array<out PsiElement>, dataContext: DataContext?) {
|
override fun invoke(project: Project, elements: Array<out PsiElement>, dataContext: DataContext) {
|
||||||
// Do nothing: this method is called not from editor
|
// Do nothing: this method is called not from editor
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
@@ -17,6 +17,7 @@
|
|||||||
package org.jetbrains.kotlin.idea.refactoring.rename
|
package org.jetbrains.kotlin.idea.refactoring.rename
|
||||||
|
|
||||||
import com.intellij.openapi.actionSystem.DataContext
|
import com.intellij.openapi.actionSystem.DataContext
|
||||||
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
@@ -45,4 +46,5 @@ class RenameByLabeledReferenceInLambdaArgumentHandler :
|
|||||||
DescriptorToSourceUtilsIde.getAnyDeclaration(dataContext.project, descriptor)
|
DescriptorToSourceUtilsIde.getAnyDeclaration(dataContext.project, descriptor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,8 +36,11 @@ class RenameDynamicMemberHandler: KotlinVariableInplaceRenameHandler() {
|
|||||||
return calleeDescriptor.isDynamic()
|
return calleeDescriptor.isDynamic()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor, file: PsiFile, dataContext: DataContext?) {
|
override fun invoke(project: Project, editor: Editor?, file: PsiFile?, dataContext: DataContext?) {
|
||||||
CodeInsightUtils.showErrorHint(project, editor, "Rename is not applicable to dynamically invoked members", "Rename", null)
|
super.invoke(project, editor, file, dataContext)
|
||||||
|
editor?.let {
|
||||||
|
CodeInsightUtils.showErrorHint(project, it, "Rename is not applicable to dynamically invoked members", "Rename", null)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun invoke(project: Project, elements: Array<out PsiElement>, dataContext: DataContext) {
|
override fun invoke(project: Project, elements: Array<out PsiElement>, dataContext: DataContext) {
|
||||||
|
|||||||
+6
-3
@@ -36,11 +36,14 @@ class RenameDynamicMemberHandler: KotlinVariableInplaceRenameHandler() {
|
|||||||
return calleeDescriptor.isDynamic()
|
return calleeDescriptor.isDynamic()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor, file: PsiFile, dataContext: DataContext?) {
|
override fun invoke(project: Project, editor: Editor?, file: PsiFile?, dataContext: DataContext?) {
|
||||||
CodeInsightUtils.showErrorHint(project, editor, "Rename is not applicable to dynamically invoked members", "Rename", null)
|
super.invoke(project, editor, file, dataContext)
|
||||||
|
editor?.let {
|
||||||
|
CodeInsightUtils.showErrorHint(project, it, "Rename is not applicable to dynamically invoked members", "Rename", null)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun invoke(project: Project, elements: Array<out PsiElement>, dataContext: DataContext?) {
|
override fun invoke(project: Project, elements: Array<out PsiElement>, dataContext: DataContext) {
|
||||||
// Do nothing: this method is called not from editor
|
// Do nothing: this method is called not from editor
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.refactoring.rename
|
package org.jetbrains.kotlin.idea.refactoring.rename
|
||||||
|
|
||||||
|
import com.intellij.internal.statistic.service.fus.collectors.FUSApplicationUsageTrigger
|
||||||
import com.intellij.openapi.actionSystem.CommonDataKeys
|
import com.intellij.openapi.actionSystem.CommonDataKeys
|
||||||
import com.intellij.openapi.actionSystem.DataContext
|
import com.intellij.openapi.actionSystem.DataContext
|
||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
@@ -36,6 +37,7 @@ import org.jetbrains.kotlin.psi.psiUtil.plainContent
|
|||||||
import org.jetbrains.kotlin.resolve.BindingContext
|
import org.jetbrains.kotlin.resolve.BindingContext
|
||||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||||
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
||||||
|
import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger
|
||||||
|
|
||||||
class RenameJvmNameHandler : PsiElementRenameHandler() {
|
class RenameJvmNameHandler : PsiElementRenameHandler() {
|
||||||
private fun getStringTemplate(dataContext: DataContext): KtStringTemplateExpression? {
|
private fun getStringTemplate(dataContext: DataContext): KtStringTemplateExpression? {
|
||||||
@@ -75,9 +77,11 @@ class RenameJvmNameHandler : PsiElementRenameHandler() {
|
|||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor, file: PsiFile, dataContext: DataContext) {
|
override fun invoke(project: Project, editor: Editor, file: PsiFile, dataContext: DataContext) {
|
||||||
super.invoke(project, editor, file, wrapDataContext(dataContext) ?: return)
|
super.invoke(project, editor, file, wrapDataContext(dataContext) ?: return)
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun invoke(project: Project, elements: Array<out PsiElement>, dataContext: DataContext) {
|
override fun invoke(project: Project, elements: Array<out PsiElement>, dataContext: DataContext) {
|
||||||
super.invoke(project, elements, wrapDataContext(dataContext) ?: return)
|
super.invoke(project, elements, wrapDataContext(dataContext) ?: return)
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,10 +16,12 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.refactoring.rename
|
package org.jetbrains.kotlin.idea.refactoring.rename
|
||||||
|
|
||||||
|
import com.intellij.internal.statistic.service.fus.collectors.FUSApplicationUsageTrigger
|
||||||
import com.intellij.openapi.fileTypes.FileTypeManager
|
import com.intellij.openapi.fileTypes.FileTypeManager
|
||||||
import com.intellij.openapi.module.ModuleUtilCore
|
import com.intellij.openapi.module.ModuleUtilCore
|
||||||
import com.intellij.psi.JavaPsiFacade
|
import com.intellij.psi.JavaPsiFacade
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
|
import com.intellij.psi.PsiReference
|
||||||
import com.intellij.psi.search.GlobalSearchScope
|
import com.intellij.psi.search.GlobalSearchScope
|
||||||
import com.intellij.psi.search.SearchScope
|
import com.intellij.psi.search.SearchScope
|
||||||
import com.intellij.refactoring.rename.RenamePsiFileProcessor
|
import com.intellij.refactoring.rename.RenamePsiFileProcessor
|
||||||
@@ -29,6 +31,7 @@ import org.jetbrains.kotlin.idea.KotlinFileType
|
|||||||
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
|
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
|
||||||
import org.jetbrains.kotlin.load.kotlin.PackagePartClassUtils
|
import org.jetbrains.kotlin.load.kotlin.PackagePartClassUtils
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
|
import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger
|
||||||
|
|
||||||
class RenameKotlinFileProcessor : RenamePsiFileProcessor() {
|
class RenameKotlinFileProcessor : RenamePsiFileProcessor() {
|
||||||
class FileRenamingPsiClassWrapper(
|
class FileRenamingPsiClassWrapper(
|
||||||
@@ -63,4 +66,16 @@ class RenameKotlinFileProcessor : RenamePsiFileProcessor() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun findReferences(element: PsiElement): MutableCollection<PsiReference> {
|
||||||
|
return super.findReferences(element).also {
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun findReferences(element: PsiElement, searchInCommentsAndStrings: Boolean): MutableCollection<PsiReference> {
|
||||||
|
return super.findReferences(element, searchInCommentsAndStrings).also {
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+13
@@ -29,6 +29,8 @@ import org.jetbrains.kotlin.idea.KotlinFileType
|
|||||||
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
|
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
|
||||||
import org.jetbrains.kotlin.load.kotlin.PackagePartClassUtils
|
import org.jetbrains.kotlin.load.kotlin.PackagePartClassUtils
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
|
import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger
|
||||||
|
import com.intellij.internal.statistic.service.fus.collectors.FUSApplicationUsageTrigger
|
||||||
|
|
||||||
class RenameKotlinFileProcessor : RenamePsiFileProcessor() {
|
class RenameKotlinFileProcessor : RenamePsiFileProcessor() {
|
||||||
class FileRenamingPsiClassWrapper(
|
class FileRenamingPsiClassWrapper(
|
||||||
@@ -63,4 +65,15 @@ class RenameKotlinFileProcessor : RenamePsiFileProcessor() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
override fun findReferences(element: PsiElement): MutableCollection<PsiReference> {
|
||||||
|
return super.findReferences(element).also {
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun findReferences(element: PsiElement, searchInCommentsAndStrings: Boolean): MutableCollection<PsiReference> {
|
||||||
|
return super.findReferences(element, searchInCommentsAndStrings).also {
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,11 +41,15 @@ import org.jetbrains.kotlin.psi.psiUtil.isIdentifier
|
|||||||
import org.jetbrains.kotlin.psi.psiUtil.parents
|
import org.jetbrains.kotlin.psi.psiUtil.parents
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.quoteIfNeeded
|
import org.jetbrains.kotlin.psi.psiUtil.quoteIfNeeded
|
||||||
import org.jetbrains.kotlin.resolve.ImportPath
|
import org.jetbrains.kotlin.resolve.ImportPath
|
||||||
|
import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger
|
||||||
|
import com.intellij.internal.statistic.service.fus.collectors.FUSApplicationUsageTrigger
|
||||||
|
|
||||||
abstract class RenameKotlinPsiProcessor : RenamePsiElementProcessor() {
|
abstract class RenameKotlinPsiProcessor : RenamePsiElementProcessor() {
|
||||||
override fun canProcessElement(element: PsiElement): Boolean = element is KtNamedDeclaration
|
override fun canProcessElement(element: PsiElement): Boolean = element is KtNamedDeclaration
|
||||||
|
|
||||||
override fun findReferences(element: PsiElement): Collection<PsiReference> {
|
override fun findReferences(element: PsiElement): Collection<PsiReference> {
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this.javaClass.simpleName)
|
||||||
|
|
||||||
val searchParameters = KotlinReferencesSearchParameters(
|
val searchParameters = KotlinReferencesSearchParameters(
|
||||||
element,
|
element,
|
||||||
element.project.projectScope() or element.useScope,
|
element.project.projectScope() or element.useScope,
|
||||||
|
|||||||
+3
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.refactoring.rename
|
package org.jetbrains.kotlin.idea.refactoring.rename
|
||||||
|
|
||||||
|
import com.intellij.internal.statistic.service.fus.collectors.FUSApplicationUsageTrigger
|
||||||
import com.intellij.openapi.actionSystem.CommonDataKeys
|
import com.intellij.openapi.actionSystem.CommonDataKeys
|
||||||
import com.intellij.openapi.actionSystem.DataContext
|
import com.intellij.openapi.actionSystem.DataContext
|
||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
@@ -26,6 +27,7 @@ import com.intellij.psi.util.PsiTreeUtil
|
|||||||
import com.intellij.refactoring.rename.RenameHandler
|
import com.intellij.refactoring.rename.RenameHandler
|
||||||
import org.jetbrains.kotlin.idea.codeInsight.CodeInsightUtils
|
import org.jetbrains.kotlin.idea.codeInsight.CodeInsightUtils
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
|
import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger
|
||||||
|
|
||||||
|
|
||||||
class RenameOnSecondaryConstructorHandler : RenameHandler {
|
class RenameOnSecondaryConstructorHandler : RenameHandler {
|
||||||
@@ -44,6 +46,7 @@ class RenameOnSecondaryConstructorHandler : RenameHandler {
|
|||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor, file: PsiFile, dataContext: DataContext?) {
|
override fun invoke(project: Project, editor: Editor, file: PsiFile, dataContext: DataContext?) {
|
||||||
CodeInsightUtils.showErrorHint(project, editor, "Rename is not applicable to secondary constructors", "Rename", null)
|
CodeInsightUtils.showErrorHint(project, editor, "Rename is not applicable to secondary constructors", "Rename", null)
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun invoke(project: Project, elements: Array<out PsiElement>, dataContext: DataContext?) {
|
override fun invoke(project: Project, elements: Array<out PsiElement>, dataContext: DataContext?) {
|
||||||
|
|||||||
+3
@@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.refactoring.rename
|
package org.jetbrains.kotlin.idea.refactoring.rename
|
||||||
|
|
||||||
|
import com.intellij.internal.statistic.service.fus.collectors.FUSApplicationUsageTrigger
|
||||||
import com.intellij.openapi.actionSystem.CommonDataKeys
|
import com.intellij.openapi.actionSystem.CommonDataKeys
|
||||||
import com.intellij.openapi.actionSystem.DataContext
|
import com.intellij.openapi.actionSystem.DataContext
|
||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
@@ -16,6 +17,7 @@ import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall
|
|||||||
import org.jetbrains.kotlin.idea.codeInsight.CodeInsightUtils
|
import org.jetbrains.kotlin.idea.codeInsight.CodeInsightUtils
|
||||||
import org.jetbrains.kotlin.psi.KtSimpleNameExpression
|
import org.jetbrains.kotlin.psi.KtSimpleNameExpression
|
||||||
import org.jetbrains.kotlin.resolve.calls.tower.isSynthesized
|
import org.jetbrains.kotlin.resolve.calls.tower.isSynthesized
|
||||||
|
import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger
|
||||||
|
|
||||||
class RenameSyntheticDeclarationByReferenceHandler : RenameHandler {
|
class RenameSyntheticDeclarationByReferenceHandler : RenameHandler {
|
||||||
override fun isAvailableOnDataContext(dataContext: DataContext): Boolean {
|
override fun isAvailableOnDataContext(dataContext: DataContext): Boolean {
|
||||||
@@ -29,6 +31,7 @@ class RenameSyntheticDeclarationByReferenceHandler : RenameHandler {
|
|||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor, file: PsiFile, dataContext: DataContext?) {
|
override fun invoke(project: Project, editor: Editor, file: PsiFile, dataContext: DataContext?) {
|
||||||
CodeInsightUtils.showErrorHint(project, editor, "Rename is not applicable to synthetic declaration", "Rename", null)
|
CodeInsightUtils.showErrorHint(project, editor, "Rename is not applicable to synthetic declaration", "Rename", null)
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun invoke(project: Project, elements: Array<out PsiElement>, dataContext: DataContext?) {
|
override fun invoke(project: Project, elements: Array<out PsiElement>, dataContext: DataContext?) {
|
||||||
|
|||||||
+3
@@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.refactoring.rename
|
package org.jetbrains.kotlin.idea.refactoring.rename
|
||||||
|
|
||||||
|
import com.intellij.internal.statistic.service.fus.collectors.FUSApplicationUsageTrigger
|
||||||
import com.intellij.openapi.actionSystem.CommonDataKeys
|
import com.intellij.openapi.actionSystem.CommonDataKeys
|
||||||
import com.intellij.openapi.actionSystem.DataContext
|
import com.intellij.openapi.actionSystem.DataContext
|
||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
@@ -16,6 +17,7 @@ import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall
|
|||||||
import org.jetbrains.kotlin.idea.codeInsight.CodeInsightUtils
|
import org.jetbrains.kotlin.idea.codeInsight.CodeInsightUtils
|
||||||
import org.jetbrains.kotlin.psi.KtSimpleNameExpression
|
import org.jetbrains.kotlin.psi.KtSimpleNameExpression
|
||||||
import org.jetbrains.kotlin.resolve.calls.tower.isSynthesized
|
import org.jetbrains.kotlin.resolve.calls.tower.isSynthesized
|
||||||
|
import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger
|
||||||
|
|
||||||
class RenameSyntheticDeclarationByReferenceHandler : RenameHandler {
|
class RenameSyntheticDeclarationByReferenceHandler : RenameHandler {
|
||||||
override fun isAvailableOnDataContext(dataContext: DataContext?): Boolean {
|
override fun isAvailableOnDataContext(dataContext: DataContext?): Boolean {
|
||||||
@@ -30,6 +32,7 @@ class RenameSyntheticDeclarationByReferenceHandler : RenameHandler {
|
|||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor, file: PsiFile, dataContext: DataContext?) {
|
override fun invoke(project: Project, editor: Editor, file: PsiFile, dataContext: DataContext?) {
|
||||||
CodeInsightUtils.showErrorHint(project, editor, "Rename is not applicable to synthetic declaration", "Rename", null)
|
CodeInsightUtils.showErrorHint(project, editor, "Rename is not applicable to synthetic declaration", "Rename", null)
|
||||||
|
FUSApplicationUsageTrigger.getInstance().trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun invoke(project: Project, elements: Array<out PsiElement>, dataContext: DataContext?) {
|
override fun invoke(project: Project, elements: Array<out PsiElement>, dataContext: DataContext?) {
|
||||||
|
|||||||
Reference in New Issue
Block a user