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 856ea0e2fb9..f696ce2c92b 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 @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.idea.configuration +import com.intellij.openapi.diagnostic.Logger import com.intellij.openapi.externalSystem.model.DataNode import com.intellij.openapi.externalSystem.model.ProjectKeys import com.intellij.openapi.externalSystem.model.project.ExternalSystemSourceType @@ -36,8 +37,9 @@ import org.jetbrains.kotlin.idea.inspections.gradle.getDependencyModules import org.jetbrains.kotlin.idea.util.CopyableDataNodeUserDataProperty import org.jetbrains.kotlin.idea.util.DataNodeUserDataProperty import org.jetbrains.kotlin.idea.util.NotNullableCopyableDataNodeUserDataProperty +import org.jetbrains.kotlin.idea.util.PsiPrecedences +import org.jetbrains.kotlin.statistics.KotlinEventTrigger import org.jetbrains.kotlin.statistics.KotlinStatisticsTrigger -import org.jetbrains.kotlin.statistics.KotlinTargetTrigger import org.jetbrains.plugins.gradle.model.ExternalProjectDependency import org.jetbrains.plugins.gradle.model.ExternalSourceSet import org.jetbrains.plugins.gradle.model.FileCollectionDependency @@ -47,8 +49,6 @@ import org.jetbrains.plugins.gradle.service.project.GradleProjectResolver import java.io.File import java.util.* import kotlin.collections.HashMap -import com.intellij.openapi.diagnostic.Logger -import org.jetbrains.kotlin.idea.util.PsiPrecedences var DataNode.isResolved by NotNullableCopyableDataNodeUserDataProperty(Key.create("IS_RESOLVED"), false) @@ -200,7 +200,7 @@ class KotlinGradleProjectResolverExtension : AbstractProjectResolverExtension() if (mppModel != null) { mppModel.targets.filterNot { it.name == "metadata" }.forEach { target -> KotlinStatisticsTrigger.trigger( - KotlinTargetTrigger::class.java, + KotlinEventTrigger.KotlinGradleTargetTrigger, "MPP.${target.platform.id + (target.presetName?.let { ".$it"} ?: "")}" ) } @@ -224,7 +224,7 @@ class KotlinGradleProjectResolverExtension : AbstractProjectResolverExtension() ideModule.platformPluginId = gradleModel.platformPluginId KotlinStatisticsTrigger.trigger( - KotlinTargetTrigger::class.java, + KotlinEventTrigger.KotlinGradleTargetTrigger, gradleModel.kotlinTarget ?: "unknown" ) diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/KtScratchFileCreationHelper.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/KtScratchFileCreationHelper.kt index 5e15a1984ef..84b5f5a87a5 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/KtScratchFileCreationHelper.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/KtScratchFileCreationHelper.kt @@ -9,13 +9,13 @@ import com.intellij.ide.scratch.ScratchFileCreationHelper import com.intellij.openapi.actionSystem.DataContext import com.intellij.openapi.project.Project import org.jetbrains.kotlin.parsing.KotlinParserDefinition -import org.jetbrains.kotlin.statistics.KotlinIdeNewFileTemplateTrigger +import org.jetbrains.kotlin.statistics.KotlinEventTrigger import org.jetbrains.kotlin.statistics.KotlinStatisticsTrigger class KtScratchFileCreationHelper: ScratchFileCreationHelper() { override fun prepareText(project: Project, context: Context, dataContext: DataContext): Boolean { - KotlinStatisticsTrigger.trigger(KotlinIdeNewFileTemplateTrigger::class.java, "Kotlin Scratch") + KotlinStatisticsTrigger.trigger(KotlinEventTrigger.KotlinIdeNewFileTemplateTrigger, "Kotlin Scratch") context.fileExtension = KotlinParserDefinition.STD_SCRIPT_SUFFIX diff --git a/idea/resources/META-INF/plugin.xml b/idea/resources/META-INF/plugin.xml index a255cef059f..2611c750f2a 100644 --- a/idea/resources/META-INF/plugin.xml +++ b/idea/resources/META-INF/plugin.xml @@ -72,11 +72,4 @@ The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio. - - - - - - - diff --git a/idea/resources/META-INF/plugin.xml.191 b/idea/resources/META-INF/plugin.xml.191 index dda013e90f2..5f0658448e1 100644 --- a/idea/resources/META-INF/plugin.xml.191 +++ b/idea/resources/META-INF/plugin.xml.191 @@ -71,4 +71,13 @@ The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio. + + + + + + + + + diff --git a/idea/resources/META-INF/plugin.xml.as34 b/idea/resources/META-INF/plugin.xml.as34 index ef6480b9f07..7940be45b38 100644 --- a/idea/resources/META-INF/plugin.xml.as34 +++ b/idea/resources/META-INF/plugin.xml.as34 @@ -71,12 +71,4 @@ The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio. - - - - - - - - diff --git a/idea/resources/META-INF/plugin.xml.as35 b/idea/resources/META-INF/plugin.xml.as35 index b02fc68d535..e71bcf9adc2 100644 --- a/idea/resources/META-INF/plugin.xml.as35 +++ b/idea/resources/META-INF/plugin.xml.as35 @@ -71,12 +71,4 @@ The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio. - - - - - - - - diff --git a/idea/src/org/jetbrains/kotlin/idea/actions/NewKotlinFileAction.kt b/idea/src/org/jetbrains/kotlin/idea/actions/NewKotlinFileAction.kt index e7cb58314c2..fde48a7477a 100644 --- a/idea/src/org/jetbrains/kotlin/idea/actions/NewKotlinFileAction.kt +++ b/idea/src/org/jetbrains/kotlin/idea/actions/NewKotlinFileAction.kt @@ -47,8 +47,8 @@ import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.KtClass import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtNamedDeclaration +import org.jetbrains.kotlin.statistics.KotlinEventTrigger import org.jetbrains.kotlin.statistics.KotlinStatisticsTrigger -import org.jetbrains.kotlin.statistics.KotlinIdeNewFileTemplateTrigger import java.util.* class NewKotlinFileAction : CreateFileFromTemplateAction( @@ -194,7 +194,7 @@ class NewKotlinFileAction : CreateFileFromTemplateAction( private val FQNAME_SEPARATORS = charArrayOf('/', '\\', '.') fun createFileFromTemplateWithStat(name: String, template: FileTemplate, dir: PsiDirectory): PsiFile? { - KotlinStatisticsTrigger.trigger(KotlinIdeNewFileTemplateTrigger::class.java, template.name) + KotlinStatisticsTrigger.trigger(KotlinEventTrigger.KotlinIdeNewFileTemplateTrigger, template.name) return createFileFromTemplate(name, template, dir) } diff --git a/idea/src/org/jetbrains/kotlin/idea/framework/TargetRetrieveActivity.kt b/idea/src/org/jetbrains/kotlin/idea/framework/TargetRetrieveActivity.kt index 028168f378d..72441b94001 100644 --- a/idea/src/org/jetbrains/kotlin/idea/framework/TargetRetrieveActivity.kt +++ b/idea/src/org/jetbrains/kotlin/idea/framework/TargetRetrieveActivity.kt @@ -15,8 +15,7 @@ import org.jetbrains.kotlin.platform.impl.isCommon import org.jetbrains.kotlin.platform.impl.isJavaScript import org.jetbrains.kotlin.platform.impl.isJvm import org.jetbrains.kotlin.platform.impl.isKotlinNative -import org.jetbrains.kotlin.statistics.KotlinJPSTargetTrigger -import org.jetbrains.kotlin.statistics.KotlinMavenTargetTrigger +import org.jetbrains.kotlin.statistics.KotlinEventTrigger import org.jetbrains.kotlin.statistics.KotlinStatisticsTrigger class TargetRetrieveActivity : StartupActivity { @@ -34,12 +33,12 @@ class TargetRetrieveActivity : StartupActivity { when { buildSystem == BuildSystemType.JPS -> KotlinStatisticsTrigger.trigger( - KotlinJPSTargetTrigger::class.java, + KotlinEventTrigger.KotlinJPSTargetTrigger, platform ) buildSystem.toString().toLowerCase().contains("maven") -> KotlinStatisticsTrigger.trigger( - KotlinMavenTargetTrigger::class.java, + KotlinEventTrigger.KotlinMavenTargetTrigger, platform ) } diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/pullUp/KotlinPullUpHandler.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/pullUp/KotlinPullUpHandler.kt index 5395d52d93f..c7b7a1701fc 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/pullUp/KotlinPullUpHandler.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/pullUp/KotlinPullUpHandler.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.idea.refactoring.pullUp -import org.jetbrains.kotlin.statistics.KotlinStatisticsTrigger import com.intellij.openapi.actionSystem.DataContext import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.editor.Editor @@ -31,8 +30,8 @@ import com.intellij.refactoring.util.CommonRefactoringUtil import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.idea.caches.resolve.unsafeResolveToDescriptor import org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde -import org.jetbrains.kotlin.idea.refactoring.canRefactor import org.jetbrains.kotlin.idea.refactoring.AbstractPullPushMembersHandler +import org.jetbrains.kotlin.idea.refactoring.canRefactor import org.jetbrains.kotlin.idea.refactoring.memberInfo.KotlinMemberInfo import org.jetbrains.kotlin.idea.refactoring.memberInfo.KotlinMemberInfoStorage import org.jetbrains.kotlin.idea.refactoring.memberInfo.qualifiedClassNameForRendering @@ -40,7 +39,8 @@ import org.jetbrains.kotlin.psi.KtClass import org.jetbrains.kotlin.psi.KtClassOrObject import org.jetbrains.kotlin.psi.KtNamedDeclaration import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType -import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger +import org.jetbrains.kotlin.statistics.KotlinEventTrigger +import org.jetbrains.kotlin.statistics.KotlinStatisticsTrigger import org.jetbrains.kotlin.types.typeUtil.supertypes class KotlinPullUpHandler : AbstractPullPushMembersHandler( @@ -118,12 +118,12 @@ class KotlinPullUpHandler : AbstractPullPushMembersHandler( override fun invoke(project: Project, elements: Array, dataContext: DataContext?) { super.invoke(project, elements, dataContext) - KotlinStatisticsTrigger.trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name) + KotlinStatisticsTrigger.trigger(KotlinEventTrigger.KotlinIdeRefactoringTrigger, 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) + KotlinStatisticsTrigger.trigger(KotlinEventTrigger.KotlinIdeRefactoringTrigger, this::class.java.name) } } diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/pushDown/KotlinPushDownHandler.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/pushDown/KotlinPushDownHandler.kt index a5fa3f78fcc..6bc0e91d17d 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/pushDown/KotlinPushDownHandler.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/pushDown/KotlinPushDownHandler.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.idea.refactoring.pushDown -import org.jetbrains.kotlin.statistics.KotlinStatisticsTrigger import com.intellij.openapi.actionSystem.DataContext import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.editor.Editor @@ -37,7 +36,8 @@ import org.jetbrains.kotlin.psi.KtClass import org.jetbrains.kotlin.psi.KtClassOrObject import org.jetbrains.kotlin.psi.KtNamedDeclaration import org.jetbrains.kotlin.psi.KtParameter -import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger +import org.jetbrains.kotlin.statistics.KotlinEventTrigger +import org.jetbrains.kotlin.statistics.KotlinStatisticsTrigger val PUSH_MEMBERS_DOWN = "Push Members Down" @@ -91,11 +91,11 @@ class KotlinPushDownHandler : AbstractPullPushMembersHandler( override fun invoke(project: Project, elements: Array, dataContext: DataContext?) { super.invoke(project, elements, dataContext) - KotlinStatisticsTrigger.trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name) + KotlinStatisticsTrigger.trigger(KotlinEventTrigger.KotlinIdeRefactoringTrigger, 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) + KotlinStatisticsTrigger.trigger(KotlinEventTrigger.KotlinIdeRefactoringTrigger, this::class.java.name) } } \ No newline at end of file diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/JavaMemberByKotlinReferenceInplaceRenameHandler.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/JavaMemberByKotlinReferenceInplaceRenameHandler.kt index d92cdb1ae0d..e08070b601b 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/JavaMemberByKotlinReferenceInplaceRenameHandler.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/JavaMemberByKotlinReferenceInplaceRenameHandler.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.idea.refactoring.rename -import org.jetbrains.kotlin.statistics.KotlinStatisticsTrigger import com.intellij.openapi.actionSystem.DataContext import com.intellij.openapi.command.impl.StartMarkAction import com.intellij.openapi.editor.Editor @@ -33,7 +32,8 @@ import org.jetbrains.kotlin.idea.references.mainReference import org.jetbrains.kotlin.psi.KtPsiUtil import org.jetbrains.kotlin.psi.KtSimpleNameExpression import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType -import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger +import org.jetbrains.kotlin.statistics.KotlinEventTrigger +import org.jetbrains.kotlin.statistics.KotlinStatisticsTrigger class JavaMemberByKotlinReferenceInplaceRenameHandler : MemberInplaceRenameHandler() { class Renamer( @@ -61,12 +61,12 @@ class JavaMemberByKotlinReferenceInplaceRenameHandler : MemberInplaceRenameHandl override fun invoke(project: Project, elements: Array, dataContext: DataContext) { super.invoke(project, elements, dataContext) - KotlinStatisticsTrigger.trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name) + KotlinStatisticsTrigger.trigger(KotlinEventTrigger.KotlinIdeRefactoringTrigger, 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) + KotlinStatisticsTrigger.trigger(KotlinEventTrigger.KotlinIdeRefactoringTrigger, this::class.java.name) } } diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/KotlinAwareJavaGetterRenameProcessor.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/KotlinAwareJavaGetterRenameProcessor.kt index a18226b34cd..a1bfdbc261a 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/KotlinAwareJavaGetterRenameProcessor.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/KotlinAwareJavaGetterRenameProcessor.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.idea.refactoring.rename -import org.jetbrains.kotlin.statistics.KotlinStatisticsTrigger import com.intellij.psi.PsiElement import com.intellij.psi.PsiMethod import com.intellij.psi.PsiReference @@ -15,7 +14,8 @@ import org.jetbrains.kotlin.asJava.elements.KtLightMethod import org.jetbrains.kotlin.idea.references.SyntheticPropertyAccessorReference import org.jetbrains.kotlin.load.java.JvmAbi import org.jetbrains.kotlin.name.Name -import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger +import org.jetbrains.kotlin.statistics.KotlinEventTrigger +import org.jetbrains.kotlin.statistics.KotlinStatisticsTrigger import org.jetbrains.kotlin.synthetic.SyntheticJavaPropertyDescriptor import org.jetbrains.kotlin.utils.ifEmpty @@ -28,7 +28,7 @@ class KotlinAwareJavaGetterRenameProcessor : RenameJavaMethodProcessor() { val propertyName = SyntheticJavaPropertyDescriptor.propertyNameByGetMethodName(Name.identifier(getter.name)) ?: return getterReferences val setterName = JvmAbi.setterName(propertyName.asString()) val containingClass = getter.containingClass ?: return getterReferences - KotlinStatisticsTrigger.trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name) + KotlinStatisticsTrigger.trigger(KotlinEventTrigger.KotlinIdeRefactoringTrigger, this::class.java.name) val setterReferences = containingClass .findMethodsByName(setterName, true) .filter { it.parameters.size == 1 && it.returnType == PsiType.VOID } diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/KotlinDirectoryAsPackageRenameHandler.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/KotlinDirectoryAsPackageRenameHandler.kt index 16fc5c61375..c0a57db4fbc 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/KotlinDirectoryAsPackageRenameHandler.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/KotlinDirectoryAsPackageRenameHandler.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.idea.refactoring.rename -import org.jetbrains.kotlin.statistics.KotlinStatisticsTrigger import com.intellij.openapi.actionSystem.DataContext import com.intellij.openapi.editor.Editor import com.intellij.openapi.project.Project @@ -25,18 +24,19 @@ import com.intellij.psi.PsiFile import com.intellij.refactoring.rename.DirectoryAsPackageRenameHandler import org.jetbrains.kotlin.psi.psiUtil.isIdentifier import org.jetbrains.kotlin.psi.psiUtil.quoteIfNeeded -import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger +import org.jetbrains.kotlin.statistics.KotlinEventTrigger +import org.jetbrains.kotlin.statistics.KotlinStatisticsTrigger class KotlinDirectoryAsPackageRenameHandler : DirectoryAsPackageRenameHandler() { override fun isIdentifier(name: String, project: Project): Boolean = name.quoteIfNeeded().isIdentifier() override fun invoke(project: Project, elements: Array, dataContext: DataContext?) { super.invoke(project, elements, dataContext) - KotlinStatisticsTrigger.trigger(KotlinIdeRefactoringTrigger::class.java, this.javaClass.simpleName) + KotlinStatisticsTrigger.trigger(KotlinEventTrigger.KotlinIdeRefactoringTrigger, this.javaClass.simpleName) } override fun invoke(project: Project, editor: Editor?, file: PsiFile?, dataContext: DataContext?) { super.invoke(project, editor, file, dataContext) - KotlinStatisticsTrigger.trigger(KotlinIdeRefactoringTrigger::class.java, this.javaClass.simpleName) + KotlinStatisticsTrigger.trigger(KotlinEventTrigger.KotlinIdeRefactoringTrigger, this.javaClass.simpleName) } } \ No newline at end of file diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinFileProcessor.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinFileProcessor.kt index b9202f6fc7c..5e3f9d796e6 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinFileProcessor.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinFileProcessor.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.idea.refactoring.rename -import org.jetbrains.kotlin.statistics.KotlinStatisticsTrigger import com.intellij.openapi.fileTypes.FileTypeManager import com.intellij.openapi.module.ModuleUtilCore import com.intellij.psi.JavaPsiFacade @@ -31,7 +30,8 @@ import org.jetbrains.kotlin.idea.KotlinFileType import org.jetbrains.kotlin.idea.util.ProjectRootsUtil import org.jetbrains.kotlin.load.kotlin.PackagePartClassUtils import org.jetbrains.kotlin.psi.KtFile -import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger +import org.jetbrains.kotlin.statistics.KotlinEventTrigger +import org.jetbrains.kotlin.statistics.KotlinStatisticsTrigger class RenameKotlinFileProcessor : RenamePsiFileProcessor() { class FileRenamingPsiClassWrapper( @@ -69,7 +69,7 @@ class RenameKotlinFileProcessor : RenamePsiFileProcessor() { override fun findReferences(element: PsiElement): MutableCollection { return super.findReferences(element).also { - KotlinStatisticsTrigger.trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name) + KotlinStatisticsTrigger.trigger(KotlinEventTrigger.KotlinIdeRefactoringTrigger, this::class.java.name) } } } diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinFileProcessor.kt.173 b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinFileProcessor.kt.173 index 9a6c4237aa3..cb7fb4146ce 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinFileProcessor.kt.173 +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinFileProcessor.kt.173 @@ -30,7 +30,7 @@ import org.jetbrains.kotlin.idea.KotlinFileType import org.jetbrains.kotlin.idea.util.ProjectRootsUtil import org.jetbrains.kotlin.load.kotlin.PackagePartClassUtils import org.jetbrains.kotlin.psi.KtFile -import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger +import org.jetbrains.kotlin.statistics.KotlinEventTrigger import org.jetbrains.kotlin.statistics.KotlinStatisticsTrigger class RenameKotlinFileProcessor : RenamePsiFileProcessor() { @@ -68,7 +68,7 @@ class RenameKotlinFileProcessor : RenamePsiFileProcessor() { } override fun findReferences(element: PsiElement): MutableCollection { return super.findReferences(element).also { - KotlinStatisticsTrigger.trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name) + KotlinStatisticsTrigger.trigger(KotlinEventTrigger.KotlinIdeRefactoringTrigger, this::class.java.name) } } } diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinPsiProcessor.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinPsiProcessor.kt index 2efa3b9805c..1203ae0d5b2 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinPsiProcessor.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinPsiProcessor.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.idea.refactoring.rename -import org.jetbrains.kotlin.statistics.KotlinStatisticsTrigger import com.intellij.openapi.util.Key import com.intellij.psi.* import com.intellij.psi.search.SearchScope @@ -47,7 +46,8 @@ import org.jetbrains.kotlin.psi.psiUtil.isIdentifier import org.jetbrains.kotlin.psi.psiUtil.parents import org.jetbrains.kotlin.psi.psiUtil.quoteIfNeeded import org.jetbrains.kotlin.resolve.ImportPath -import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger +import org.jetbrains.kotlin.statistics.KotlinEventTrigger +import org.jetbrains.kotlin.statistics.KotlinStatisticsTrigger import java.util.ArrayList import kotlin.collections.* @@ -69,7 +69,7 @@ abstract class RenameKotlinPsiProcessor : RenamePsiElementProcessor() { override fun canProcessElement(element: PsiElement): Boolean = element is KtNamedDeclaration override fun findReferences(element: PsiElement): Collection { - KotlinStatisticsTrigger.trigger(KotlinIdeRefactoringTrigger::class.java, this.javaClass.simpleName) + KotlinStatisticsTrigger.trigger(KotlinEventTrigger.KotlinIdeRefactoringTrigger, this.javaClass.simpleName) val searchParameters = KotlinReferencesSearchParameters( element, diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameSyntheticDeclarationByReferenceHandler.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameSyntheticDeclarationByReferenceHandler.kt index b1d552b430d..b27e7bf8b2e 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameSyntheticDeclarationByReferenceHandler.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameSyntheticDeclarationByReferenceHandler.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.idea.refactoring.rename -import org.jetbrains.kotlin.statistics.KotlinStatisticsTrigger import com.intellij.openapi.actionSystem.CommonDataKeys import com.intellij.openapi.actionSystem.DataContext import com.intellij.openapi.editor.Editor @@ -17,7 +16,8 @@ import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall import org.jetbrains.kotlin.idea.codeInsight.CodeInsightUtils import org.jetbrains.kotlin.psi.KtSimpleNameExpression import org.jetbrains.kotlin.resolve.calls.tower.isSynthesized -import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger +import org.jetbrains.kotlin.statistics.KotlinEventTrigger +import org.jetbrains.kotlin.statistics.KotlinStatisticsTrigger class RenameSyntheticDeclarationByReferenceHandler : RenameHandler { override fun isAvailableOnDataContext(dataContext: DataContext): Boolean { @@ -31,7 +31,7 @@ class RenameSyntheticDeclarationByReferenceHandler : RenameHandler { override fun invoke(project: Project, editor: Editor, file: PsiFile, dataContext: DataContext?) { CodeInsightUtils.showErrorHint(project, editor, "Rename is not applicable to synthetic declaration", "Rename", null) - KotlinStatisticsTrigger.trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name) + KotlinStatisticsTrigger.trigger(KotlinEventTrigger.KotlinIdeRefactoringTrigger, this::class.java.name) } override fun invoke(project: Project, elements: Array, dataContext: DataContext?) { diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameSyntheticDeclarationByReferenceHandler.kt.181 b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameSyntheticDeclarationByReferenceHandler.kt.181 index b164c7a4a90..86e291f8afe 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameSyntheticDeclarationByReferenceHandler.kt.181 +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameSyntheticDeclarationByReferenceHandler.kt.181 @@ -17,7 +17,7 @@ import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall import org.jetbrains.kotlin.idea.codeInsight.CodeInsightUtils import org.jetbrains.kotlin.psi.KtSimpleNameExpression import org.jetbrains.kotlin.resolve.calls.tower.isSynthesized -import org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger +import org.jetbrains.kotlin.statistics.KotlinEventTrigger class RenameSyntheticDeclarationByReferenceHandler : RenameHandler { override fun isAvailableOnDataContext(dataContext: DataContext?): Boolean { @@ -32,7 +32,7 @@ class RenameSyntheticDeclarationByReferenceHandler : RenameHandler { override fun invoke(project: Project, editor: Editor, file: PsiFile, dataContext: DataContext?) { CodeInsightUtils.showErrorHint(project, editor, "Rename is not applicable to synthetic declaration", "Rename", null) - KotlinStatisticsTrigger.trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name) + KotlinStatisticsTrigger.trigger(KotlinEventTrigger.KotlinIdeRefactoringTrigger, this::class.java.name) } override fun invoke(project: Project, elements: Array, dataContext: DataContext?) { diff --git a/usage-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/KotlinEventTriggers.kt b/usage-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/KotlinEventTriggers.kt new file mode 100644 index 00000000000..3efc02e5153 --- /dev/null +++ b/usage-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/KotlinEventTriggers.kt @@ -0,0 +1,19 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. 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.statistics + +// Note: along with adding a trigger to this enum you sould also add its GROUP_ID to plugin.xml and get it whitelisted +// (see https://confluence.jetbrains.com/display/FUS/IntelliJ+Reporting+API). +enum class KotlinEventTrigger(groupIdSufix: String) { + KotlinGradleTargetTrigger("gradle.target"), + KotlinMavenTargetTrigger("maven.target"), + KotlinJPSTargetTrigger("jps.target"), + KotlinProjectLibraryUsageTrigger("gradle.library"), + KotlinIdeRefactoringTrigger("ide.action.refactoring"), + KotlinIdeNewFileTemplateTrigger("ide.newFileTempl"); + + val GROUP_ID: String = "kotlin.$groupIdSufix" +} \ No newline at end of file diff --git a/usage-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/ProjectScopeStatsReporters.kt b/usage-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/ProjectScopeStatsReporters.kt index a5556c3ed65..a061f2d94c1 100644 --- a/usage-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/ProjectScopeStatsReporters.kt +++ b/usage-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/ProjectScopeStatsReporters.kt @@ -5,43 +5,10 @@ package org.jetbrains.kotlin.statistics -import com.intellij.ide.plugins.PluginManager -import com.intellij.internal.statistic.service.fus.collectors.ApplicationUsageTriggerCollector -import com.intellij.internal.statistic.service.fus.collectors.FUSApplicationUsageTrigger -import com.intellij.internal.statistic.service.fus.collectors.FUSUsageContext -import com.intellij.openapi.extensions.PluginId - -open class KotlinStatisticsTrigger(private val groupIdSufix: String) : ApplicationUsageTriggerCollector() { - override fun getGroupId() = "statistics.kotlin.$groupIdSufix" - +open class KotlinStatisticsTrigger { companion object { - public fun trigger(clazz: Class, event: String) { - val plugin = PluginManager.getPlugin(PluginId.getId("org.jetbrains.kotlin")) - val version = plugin?.version ?: "undefined" - - FUSApplicationUsageTrigger.getInstance().trigger(clazz, event, FUSUsageContext.create(version)) + public fun trigger(trigger: KotlinEventTrigger, event: String) { + // Not whitelisted for 183 } } -} - -open class KotlinIdeStatisticsTrigger(groupIdSufix: String) : KotlinStatisticsTrigger("ide.$groupIdSufix") - -open class KotlinGradlePluginStatisticsTrigger(groupIdSufix: String) : KotlinStatisticsTrigger("gradle.$groupIdSufix") -open class KotlinMavenPluginStatisticsTrigger(groupIdSufix: String) : KotlinStatisticsTrigger("maven.$groupIdSufix") -open class KotlinJPSPluginStatisticsTrigger(groupIdSufix: String) : KotlinStatisticsTrigger("jps.$groupIdSufix") - -class KotlinVersionTrigger : KotlinGradlePluginStatisticsTrigger("kotlin_version") - -class KotlinTargetTrigger : KotlinGradlePluginStatisticsTrigger("target") - -class KotlinMavenTargetTrigger : KotlinMavenPluginStatisticsTrigger("target") - -class KotlinJPSTargetTrigger : KotlinJPSPluginStatisticsTrigger("target") - -class KotlinProjectLibraryUsageTrigger : KotlinGradlePluginStatisticsTrigger("library") - -open class KotlinIdeActionTrigger(groupIdSufix: String? = null) : KotlinIdeStatisticsTrigger("action" + (if (groupIdSufix != null) ".$groupIdSufix" else "")) - -class KotlinIdeRefactoringTrigger : KotlinIdeActionTrigger("refactoring") - -class KotlinIdeNewFileTemplateTrigger : KotlinIdeStatisticsTrigger("newFileTempl") \ No newline at end of file +} \ No newline at end of file diff --git a/usage-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/ProjectScopeStatsReporters.kt.182 b/usage-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/ProjectScopeStatsReporters.kt.182 index e5183a7a04f..a4156305a0c 100644 --- a/usage-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/ProjectScopeStatsReporters.kt.182 +++ b/usage-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/ProjectScopeStatsReporters.kt.182 @@ -5,32 +5,10 @@ package org.jetbrains.kotlin.statistics -open class KotlinStatisticsTrigger(private val groupIdSufix: String) { +open class KotlinStatisticsTrigger { companion object { - public fun trigger(clazz: Class, event: String) { - // FUS is not working for 182 + public fun trigger(trigger: KotlinEventTrigger, event: String) { + // Not whitelisted for 182 } } -} - -open class KotlinIdeStatisticsTrigger(groupIdSufix: String) : KotlinStatisticsTrigger("ide.$groupIdSufix") - -open class KotlinGradlePluginStatisticsTrigger(groupIdSufix: String) : KotlinStatisticsTrigger("gradle.$groupIdSufix") -open class KotlinMavenPluginStatisticsTrigger(groupIdSufix: String) : KotlinStatisticsTrigger("maven.$groupIdSufix") -open class KotlinJPSPluginStatisticsTrigger(groupIdSufix: String) : KotlinStatisticsTrigger("jps.$groupIdSufix") - -class KotlinVersionTrigger : KotlinGradlePluginStatisticsTrigger("kotlin_version") - -class KotlinTargetTrigger : KotlinGradlePluginStatisticsTrigger("target") - -class KotlinMavenTargetTrigger : KotlinMavenPluginStatisticsTrigger("target") - -class KotlinJPSTargetTrigger : KotlinJPSPluginStatisticsTrigger("target") - -class KotlinProjectLibraryUsageTrigger : KotlinGradlePluginStatisticsTrigger("library") - -open class KotlinIdeActionTrigger(groupIdSufix: String? = null) : KotlinIdeStatisticsTrigger("action" + (if (groupIdSufix != null) ".$groupIdSufix" else "")) - -class KotlinIdeRefactoringTrigger : KotlinIdeActionTrigger("refactoring") - -class KotlinIdeNewFileTemplateTrigger : KotlinIdeStatisticsTrigger("newFileTempl") \ No newline at end of file +} \ No newline at end of file diff --git a/usage-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/ProjectScopeStatsReporters.kt.191 b/usage-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/ProjectScopeStatsReporters.kt.191 index e5183a7a04f..b2952b6f3c0 100644 --- a/usage-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/ProjectScopeStatsReporters.kt.191 +++ b/usage-statistics/src/main/kotlin/org/jetbrains/kotlin/statistics/ProjectScopeStatsReporters.kt.191 @@ -5,32 +5,20 @@ package org.jetbrains.kotlin.statistics -open class KotlinStatisticsTrigger(private val groupIdSufix: String) { +import com.intellij.internal.statistic.service.fus.collectors.FUCounterUsageLogger; +import com.intellij.internal.statistic.eventLog.FeatureUsageData; +import com.intellij.ide.plugins.PluginManager +import com.intellij.openapi.extensions.PluginId +import com.intellij.internal.statistic.service.fus.collectors.FUSUsageContext + + +open class KotlinStatisticsTrigger { companion object { - public fun trigger(clazz: Class, event: String) { - // FUS is not working for 182 + private val VERSION = PluginManager.getPlugin(PluginId.getId("org.jetbrains.kotlin"))?.version ?: "undefined" + + public fun trigger(trigger: KotlinEventTrigger, event: String) { + val context = FeatureUsageData().addFeatureContext(FUSUsageContext.create(VERSION)); + FUCounterUsageLogger.getInstance().logEvent(trigger.GROUP_ID, key, data); } } -} - -open class KotlinIdeStatisticsTrigger(groupIdSufix: String) : KotlinStatisticsTrigger("ide.$groupIdSufix") - -open class KotlinGradlePluginStatisticsTrigger(groupIdSufix: String) : KotlinStatisticsTrigger("gradle.$groupIdSufix") -open class KotlinMavenPluginStatisticsTrigger(groupIdSufix: String) : KotlinStatisticsTrigger("maven.$groupIdSufix") -open class KotlinJPSPluginStatisticsTrigger(groupIdSufix: String) : KotlinStatisticsTrigger("jps.$groupIdSufix") - -class KotlinVersionTrigger : KotlinGradlePluginStatisticsTrigger("kotlin_version") - -class KotlinTargetTrigger : KotlinGradlePluginStatisticsTrigger("target") - -class KotlinMavenTargetTrigger : KotlinMavenPluginStatisticsTrigger("target") - -class KotlinJPSTargetTrigger : KotlinJPSPluginStatisticsTrigger("target") - -class KotlinProjectLibraryUsageTrigger : KotlinGradlePluginStatisticsTrigger("library") - -open class KotlinIdeActionTrigger(groupIdSufix: String? = null) : KotlinIdeStatisticsTrigger("action" + (if (groupIdSufix != null) ".$groupIdSufix" else "")) - -class KotlinIdeRefactoringTrigger : KotlinIdeActionTrigger("refactoring") - -class KotlinIdeNewFileTemplateTrigger : KotlinIdeStatisticsTrigger("newFileTempl") \ No newline at end of file +} \ No newline at end of file