diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleProjectResolverExtension.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleProjectResolverExtension.kt index 95b043fb82c..12df2b33c76 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleProjectResolverExtension.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleProjectResolverExtension.kt @@ -193,7 +193,7 @@ class KotlinGradleProjectResolverExtension : AbstractProjectResolverExtension() val mppModel = resolverCtx.getExtraProject(gradleModule, KotlinMPPGradleModel::class.java) if (mppModel != null) { mppModel.targets.filterNot { it.name == "metadata" }.forEach { target -> - KotlinStatisticsTrigger.trigger(KotlinTargetTrigger::class.java, target.name) + KotlinStatisticsTrigger.trigger(KotlinTargetTrigger::class.java, "MPP.${target.name}") } return super.populateModuleDependencies(gradleModule, ideModule, ideProject) } @@ -216,7 +216,7 @@ class KotlinGradleProjectResolverExtension : AbstractProjectResolverExtension() KotlinStatisticsTrigger.trigger( KotlinTargetTrigger::class.java, - gradleModel.platformPluginId ?: "none" + gradleModel.platformPluginId ?: "unknown" ) addImplementedModuleNames(gradleModule, ideModule, ideProject, gradleModel) diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/KotlinVariableInplaceRenameHandler.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/KotlinVariableInplaceRenameHandler.kt index 298aa0c7961..38131dc0f20 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/KotlinVariableInplaceRenameHandler.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/KotlinVariableInplaceRenameHandler.kt @@ -42,10 +42,10 @@ open class KotlinVariableInplaceRenameHandler : VariableInplaceRenameHandler() { protected open class RenamerImpl : VariableInplaceRenamer { constructor(elementToRename: PsiNamedElement, editor: Editor): super(elementToRename, editor) constructor( - elementToRename: PsiNamedElement, - editor: Editor, - currentName: String, - oldName: String + elementToRename: PsiNamedElement, + editor: Editor, + currentName: String, + oldName: String ) : super(elementToRename, editor, editor.project!!, currentName, oldName) override fun acceptReference(reference: PsiReference): Boolean { @@ -73,13 +73,13 @@ open class KotlinVariableInplaceRenameHandler : VariableInplaceRenameHandler() { override public fun isAvailable(element: PsiElement?, editor: Editor, file: PsiFile) = editor.settings.isVariableInplaceRenameEnabled && element != null && isInplaceRenameAvailable(element) + override fun invoke(project: Project, editor: Editor?, file: PsiFile?, dataContext: DataContext) { + super.invoke(project, editor, file, dataContext) + KotlinStatisticsTrigger.trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name) + } + override fun invoke(project: Project, elements: Array, dataContext: DataContext) { super.invoke(project, elements, dataContext) KotlinStatisticsTrigger.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) - KotlinStatisticsTrigger.trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name) - } } \ No newline at end of file diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/KotlinVariableInplaceRenameHandler.kt.181 b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/KotlinVariableInplaceRenameHandler.kt.181 index 2738a524c21..5297d7e8b9a 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/KotlinVariableInplaceRenameHandler.kt.181 +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/KotlinVariableInplaceRenameHandler.kt.181 @@ -74,12 +74,12 @@ open class KotlinVariableInplaceRenameHandler : VariableInplaceRenameHandler() { 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) - KotlinStatisticsTrigger.trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name) + super.invoke(project, editor, file, dataContext) + KotlinStatisticsTrigger.trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name) } override fun invoke(project: Project, elements: Array, dataContext: DataContext) { - getRenameHandler(dataContext)?.invoke(project, elements, dataContext) - KotlinStatisticsTrigger.trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name) + super.invoke(project, elements, dataContext) + KotlinStatisticsTrigger.trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name) } } \ No newline at end of file diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameBackingFieldReferenceHandler.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameBackingFieldReferenceHandler.kt index e5fd9d5e79a..2fdb0e50667 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameBackingFieldReferenceHandler.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameBackingFieldReferenceHandler.kt @@ -26,17 +26,16 @@ import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall import org.jetbrains.kotlin.idea.codeInsight.CodeInsightUtils import org.jetbrains.kotlin.psi.KtSimpleNameExpression -class RenameBackingFieldReferenceHandler : KotlinVariableInplaceRenameHandler() { +class RenameBackingFieldReferenceHandler: KotlinVariableInplaceRenameHandler() { override fun isAvailable(element: PsiElement?, editor: Editor, file: PsiFile): Boolean { val refExpression = file.findElementForRename(editor.caretModel.offset) ?: return false if (refExpression.text != "field") return false return refExpression.resolveToCall()?.resultingDescriptor is SyntheticFieldDescriptor } - override fun invoke(project: Project, editor: Editor?, file: PsiFile?, dataContext: DataContext?) { - super.invoke(project, editor, file, dataContext) + override fun invoke(project: Project, editor: Editor?, file: PsiFile?, dataContext: DataContext) { editor?.let { - CodeInsightUtils.showErrorHint(project, it, "Rename is not applicable to backing field reference", "Rename", null) + CodeInsightUtils.showErrorHint(project, editor, "Rename is not applicable to backing field reference", "Rename", null) } } diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameBackingFieldReferenceHandler.kt.181 b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameBackingFieldReferenceHandler.kt.181 index b2bb4d935d0..2fdb0e50667 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameBackingFieldReferenceHandler.kt.181 +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameBackingFieldReferenceHandler.kt.181 @@ -33,9 +33,9 @@ class RenameBackingFieldReferenceHandler: KotlinVariableInplaceRenameHandler() { 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) { editor?.let { - CodeInsightUtils.showErrorHint(project, it, "Rename is not applicable to backing field reference", "Rename", null) + CodeInsightUtils.showErrorHint(project, editor, "Rename is not applicable to backing field reference", "Rename", null) } } diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameDynamicMemberHandler.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameDynamicMemberHandler.kt index 0de28c61680..143f1e57a7c 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameDynamicMemberHandler.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameDynamicMemberHandler.kt @@ -36,7 +36,7 @@ class RenameDynamicMemberHandler: KotlinVariableInplaceRenameHandler() { 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) { super.invoke(project, editor, file, dataContext) editor?.let { CodeInsightUtils.showErrorHint(project, it, "Rename is not applicable to dynamically invoked members", "Rename", null) diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameDynamicMemberHandler.kt.181 b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameDynamicMemberHandler.kt.181 index 0de28c61680..0acf640e54e 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameDynamicMemberHandler.kt.181 +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameDynamicMemberHandler.kt.181 @@ -36,10 +36,10 @@ class RenameDynamicMemberHandler: KotlinVariableInplaceRenameHandler() { 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) { super.invoke(project, editor, file, dataContext) editor?.let { - CodeInsightUtils.showErrorHint(project, it, "Rename is not applicable to dynamically invoked members", "Rename", null) + CodeInsightUtils.showErrorHint(project, editor, "Rename is not applicable to dynamically invoked members", "Rename", null) } } diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinImplicitLambdaParameter.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinImplicitLambdaParameter.kt index f061f05b6ab..1bfb4c650c9 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinImplicitLambdaParameter.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinImplicitLambdaParameter.kt @@ -33,7 +33,7 @@ class RenameKotlinImplicitLambdaParameter : KotlinVariableInplaceRenameHandler() return nameExpression != null && isAutoCreatedItUsage(nameExpression) } - override fun invoke(project: Project, editor: Editor?, file: PsiFile?, dataContext: DataContext?) { + override fun invoke(project: Project, editor: Editor?, file: PsiFile?, dataContext: DataContext) { val intention = ReplaceItWithExplicitFunctionLiteralParamIntention() project.executeWriteCommand("Convert 'it' to explicit lambda parameter") { if (file != null) intention.invoke(project, editor, file) diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinImplicitLambdaParameter.kt.181 b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinImplicitLambdaParameter.kt.181 index 0223d7fd33d..90ccd201c4d 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinImplicitLambdaParameter.kt.181 +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinImplicitLambdaParameter.kt.181 @@ -33,14 +33,16 @@ class RenameKotlinImplicitLambdaParameter : KotlinVariableInplaceRenameHandler() return nameExpression != null && isAutoCreatedItUsage(nameExpression) } - override fun invoke(project: Project, editor: Editor, file: PsiFile, dataContext: DataContext?) { + override fun invoke(project: Project, editor: Editor?, file: PsiFile?, dataContext: DataContext) { val intention = ReplaceItWithExplicitFunctionLiteralParamIntention() project.executeWriteCommand("Convert 'it' to explicit lambda parameter") { - intention.invoke(project, editor, file) + file?.let { + intention.invoke(project, editor, file) + } } } - override fun invoke(project: Project, elements: Array, dataContext: DataContext?) { + override fun invoke(project: Project, elements: Array, dataContext: DataContext) { // Do nothing: this method is called not from editor } }