Compare commits

...

3 Commits

Author SHA1 Message Date
Vadim Brilyantov
ab57c348cc Change 191 idea version to 191.4738.6 2019-01-30 18:10:55 +03:00
Vadim Brilyantov
caf6382cbb Move usage statistics to idea source root 2019-01-30 17:35:30 +03:00
Vadim Brilyantov
0cab21b885 Implement statistics for the new API for intellij 191 2019-01-30 17:07:05 +03:00
29 changed files with 133 additions and 220 deletions

View File

@@ -1,4 +1,4 @@
versions.intellijSdk=191.4212.41
versions.intellijSdk=191.4738.6
versions.androidBuildTools=r23.0.1
versions.idea.NodeJS=181.3494.12
versions.jar.asm-all=7.0

View File

@@ -17,7 +17,6 @@ dependencies {
compile(project(":j2k"))
compile(project(":idea:ide-common"))
compile(project(":idea:idea-jps-common"))
compile(project(":usage-statistics"))
compile(project(":plugins:android-extensions-compiler"))
compile(project(":kotlin-scripting-compiler"))
compile(commonDep("org.jetbrains.kotlinx", "kotlinx-coroutines-core")) { isTransitive = false }

View File

@@ -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.statistics.KotlinStatisticsTrigger
import org.jetbrains.kotlin.statistics.KotlinTargetTrigger
import org.jetbrains.kotlin.idea.util.PsiPrecedences
import org.jetbrains.kotlin.idea.statistics.KotlinEventTrigger
import org.jetbrains.kotlin.idea.statistics.KotlinStatisticsTrigger
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<ModuleData>.isResolved
by NotNullableCopyableDataNodeUserDataProperty(Key.create<Boolean>("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"
)

View File

@@ -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.KotlinStatisticsTrigger
import org.jetbrains.kotlin.idea.statistics.KotlinEventTrigger
import org.jetbrains.kotlin.idea.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

View File

@@ -72,11 +72,4 @@ The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio.
<nonBlockingContextChecker implementation="org.jetbrains.kotlin.idea.inspections.blockingCallsDetection.CoroutineNonBlockingContextChecker"/>
</extensions>
<extensions defaultExtensionNs="com.intellij">
<statistics.applicationUsagesCollector implementation="org.jetbrains.kotlin.statistics.KotlinTargetTrigger"/>
<statistics.applicationUsagesCollector implementation="org.jetbrains.kotlin.statistics.KotlinMavenTargetTrigger"/>
<statistics.applicationUsagesCollector implementation="org.jetbrains.kotlin.statistics.KotlinJPSTargetTrigger"/>
<statistics.applicationUsagesCollector implementation="org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger"/>
<statistics.applicationUsagesCollector implementation="org.jetbrains.kotlin.statistics.KotlinIdeNewFileTemplateTrigger"/>
</extensions>
</idea-plugin>

View File

@@ -13,7 +13,7 @@ The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio.
<version>@snapshot@</version>
<vendor url="http://www.jetbrains.com">JetBrains</vendor>
<idea-version since-build="191.2767" until-build="191.*"/>
<idea-version since-build="191.4738.6" until-build="191.*"/>
<depends>com.intellij.modules.platform</depends>
@@ -71,4 +71,13 @@ The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio.
<extensions defaultExtensionNs="com.intellij.codeInsight">
<nonBlockingContextChecker implementation="org.jetbrains.kotlin.idea.inspections.blockingCallsDetection.CoroutineNonBlockingContextChecker"/>
</extensions>
<extensions defaultExtensionNs="com.intellij">
<statistics.counterUsagesCollector group_id="kotlin.gradle.target" version="1"/>
<statistics.counterUsagesCollector group_id="kotlin.maven.target" version="1"/>
<statistics.counterUsagesCollector group_id="kotlin.jps.target" version="1"/>
<statistics.counterUsagesCollector group_id="kotlin.gradle.library" version="1"/>
<statistics.counterUsagesCollector group_id="kotlin.ide.action.refactoring" version="1"/>
<statistics.counterUsagesCollector group_id="kotlin.ide.newFileTempl" version="1"/>
</extensions>
</idea-plugin>

View File

@@ -71,12 +71,4 @@ The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio.
<extensions defaultExtensionNs="com.intellij.jvm">
<declarationSearcher language="kotlin" implementationClass="org.jetbrains.kotlin.idea.jvm.KotlinDeclarationSearcher"/>
</extensions>
<extensions defaultExtensionNs="com.intellij">
<statistics.applicationUsagesCollector implementation="org.jetbrains.kotlin.statistics.KotlinTargetTrigger"/>
<statistics.applicationUsagesCollector implementation="org.jetbrains.kotlin.statistics.KotlinMavenTargetTrigger"/>
<statistics.applicationUsagesCollector implementation="org.jetbrains.kotlin.statistics.KotlinJPSTargetTrigger"/>
<statistics.applicationUsagesCollector implementation="org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger"/>
<statistics.applicationUsagesCollector implementation="org.jetbrains.kotlin.statistics.KotlinIdeNewFileTemplateTrigger"/>
</extensions>
</idea-plugin>

View File

@@ -71,12 +71,4 @@ The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio.
<extensions defaultExtensionNs="com.intellij.jvm">
<declarationSearcher language="kotlin" implementationClass="org.jetbrains.kotlin.idea.jvm.KotlinDeclarationSearcher"/>
</extensions>
<extensions defaultExtensionNs="com.intellij">
<statistics.applicationUsagesCollector implementation="org.jetbrains.kotlin.statistics.KotlinTargetTrigger"/>
<statistics.applicationUsagesCollector implementation="org.jetbrains.kotlin.statistics.KotlinMavenTargetTrigger"/>
<statistics.applicationUsagesCollector implementation="org.jetbrains.kotlin.statistics.KotlinJPSTargetTrigger"/>
<statistics.applicationUsagesCollector implementation="org.jetbrains.kotlin.statistics.KotlinIdeRefactoringTrigger"/>
<statistics.applicationUsagesCollector implementation="org.jetbrains.kotlin.statistics.KotlinIdeNewFileTemplateTrigger"/>
</extensions>
</idea-plugin>

View File

@@ -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.KotlinStatisticsTrigger
import org.jetbrains.kotlin.statistics.KotlinIdeNewFileTemplateTrigger
import org.jetbrains.kotlin.idea.statistics.KotlinEventTrigger
import org.jetbrains.kotlin.idea.statistics.KotlinStatisticsTrigger
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)
}

View File

@@ -15,9 +15,8 @@ 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.KotlinStatisticsTrigger
import org.jetbrains.kotlin.idea.statistics.KotlinEventTrigger
import org.jetbrains.kotlin.idea.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
)
}

View File

@@ -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.idea.statistics.KotlinEventTrigger
import org.jetbrains.kotlin.idea.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<out PsiElement>, 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)
}
}

View File

@@ -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.idea.statistics.KotlinEventTrigger
import org.jetbrains.kotlin.idea.statistics.KotlinStatisticsTrigger
val PUSH_MEMBERS_DOWN = "Push Members Down"
@@ -91,11 +91,11 @@ class KotlinPushDownHandler : AbstractPullPushMembersHandler(
override fun invoke(project: Project, elements: Array<out PsiElement>, 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)
}
}

View File

@@ -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.idea.statistics.KotlinEventTrigger
import org.jetbrains.kotlin.idea.statistics.KotlinStatisticsTrigger
class JavaMemberByKotlinReferenceInplaceRenameHandler : MemberInplaceRenameHandler() {
class Renamer(
@@ -61,12 +61,12 @@ class JavaMemberByKotlinReferenceInplaceRenameHandler : MemberInplaceRenameHandl
override fun invoke(project: Project, elements: Array<out PsiElement>, 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)
}
}

View File

@@ -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.idea.statistics.KotlinEventTrigger
import org.jetbrains.kotlin.idea.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 }

View File

@@ -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.idea.statistics.KotlinEventTrigger
import org.jetbrains.kotlin.idea.statistics.KotlinStatisticsTrigger
class KotlinDirectoryAsPackageRenameHandler : DirectoryAsPackageRenameHandler() {
override fun isIdentifier(name: String, project: Project): Boolean = name.quoteIfNeeded().isIdentifier()
override fun invoke(project: Project, elements: Array<out PsiElement>, 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)
}
}

View File

@@ -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.idea.statistics.KotlinEventTrigger
import org.jetbrains.kotlin.idea.statistics.KotlinStatisticsTrigger
class RenameKotlinFileProcessor : RenamePsiFileProcessor() {
class FileRenamingPsiClassWrapper(
@@ -69,7 +69,7 @@ class RenameKotlinFileProcessor : RenamePsiFileProcessor() {
override fun findReferences(element: PsiElement): MutableCollection<PsiReference> {
return super.findReferences(element).also {
KotlinStatisticsTrigger.trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
KotlinStatisticsTrigger.trigger(KotlinEventTrigger.KotlinIdeRefactoringTrigger, this::class.java.name)
}
}
}

View File

@@ -30,8 +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.KotlinStatisticsTrigger
import org.jetbrains.kotlin.idea.statistics.KotlinEventTrigger
import org.jetbrains.kotlin.idea.statistics.KotlinStatisticsTrigger
class RenameKotlinFileProcessor : RenamePsiFileProcessor() {
class FileRenamingPsiClassWrapper(
@@ -68,7 +68,7 @@ class RenameKotlinFileProcessor : RenamePsiFileProcessor() {
}
override fun findReferences(element: PsiElement): MutableCollection<PsiReference> {
return super.findReferences(element).also {
KotlinStatisticsTrigger.trigger(KotlinIdeRefactoringTrigger::class.java, this::class.java.name)
KotlinStatisticsTrigger.trigger(KotlinEventTrigger.KotlinIdeRefactoringTrigger, this::class.java.name)
}
}
}

View File

@@ -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.idea.statistics.KotlinEventTrigger
import org.jetbrains.kotlin.idea.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<PsiReference> {
KotlinStatisticsTrigger.trigger(KotlinIdeRefactoringTrigger::class.java, this.javaClass.simpleName)
KotlinStatisticsTrigger.trigger(KotlinEventTrigger.KotlinIdeRefactoringTrigger, this.javaClass.simpleName)
val searchParameters = KotlinReferencesSearchParameters(
element,

View File

@@ -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.idea.statistics.KotlinEventTrigger
import org.jetbrains.kotlin.idea.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<out PsiElement>, dataContext: DataContext?) {

View File

@@ -5,7 +5,7 @@
package org.jetbrains.kotlin.idea.refactoring.rename
import org.jetbrains.kotlin.statistics.KotlinStatisticsTrigger
import org.jetbrains.kotlin.idea.statistics.KotlinStatisticsTrigger
import com.intellij.openapi.actionSystem.CommonDataKeys
import com.intellij.openapi.actionSystem.DataContext
import com.intellij.openapi.editor.Editor
@@ -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.idea.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<out PsiElement>, dataContext: DataContext?) {

View File

@@ -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.idea.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"
}

View File

@@ -0,0 +1,14 @@
/*
* 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.idea.statistics
open class KotlinStatisticsTrigger {
companion object {
public fun trigger(trigger: KotlinEventTrigger, event: String) {
// Not whitelisted for 183
}
}
}

View File

@@ -0,0 +1,14 @@
/*
* Copyright 2010-2018 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.idea.statistics
open class KotlinStatisticsTrigger {
companion object {
public fun trigger(trigger: KotlinEventTrigger, event: String) {
// Not whitelisted for 182
}
}
}

View File

@@ -0,0 +1,24 @@
/*
* Copyright 2010-2018 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.idea.statistics
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 {
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, event, context);
}
}
}

View File

@@ -184,7 +184,6 @@ include ":kotlin-build-common",
":libraries:tools:mutability-annotations-compat",
":include:kotlin-compiler",
":plugins:jvm-abi-gen",
":usage-statistics",
// plugin markers:
':kotlin-gradle-plugin:plugin-marker',
@@ -351,7 +350,6 @@ project(':pill:generate-all-tests').projectDir = "$rootDir/plugins/pill/generate
project(':kotlin-imports-dumper-compiler-plugin').projectDir = "$rootDir/plugins/imports-dumper" as File
project(':libraries:kotlin-prepush-hook').projectDir = "$rootDir/libraries/tools/kotlin-prepush-hook" as File
project(':plugins:jvm-abi-gen').projectDir = "$rootDir/plugins/jvm-abi-gen" as File
project(':usage-statistics').projectDir = "$rootDir/usage-statistics" as File
// plugin markers:
project(':kotlin-gradle-plugin:plugin-marker').projectDir = file("$rootDir/libraries/tools/kotlin-gradle-plugin/plugin-marker")

View File

@@ -1,21 +0,0 @@
plugins {
kotlin("jvm")
id("jps-compatible")
}
jvmTarget = "1.6"
dependencies {
compile(intellijDep()) {
includeJars("platform-api", "platform-impl", "extensions", rootProject = rootProject)
isTransitive = false
}
}
sourceSets {
"main" { projectDefault() }
"test" {}
}
ideaPlugin()

View File

@@ -1,47 +0,0 @@
/*
* Copyright 2010-2018 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
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"
companion object {
public fun trigger(clazz: Class<out KotlinStatisticsTrigger>, event: String) {
val plugin = PluginManager.getPlugin(PluginId.getId("org.jetbrains.kotlin"))
val version = plugin?.version ?: "undefined"
FUSApplicationUsageTrigger.getInstance().trigger(clazz, event, FUSUsageContext.create(version))
}
}
}
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")

View File

@@ -1,36 +0,0 @@
/*
* Copyright 2010-2018 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
open class KotlinStatisticsTrigger(private val groupIdSufix: String) {
companion object {
public fun trigger(clazz: Class<out KotlinStatisticsTrigger>, event: String) {
// FUS is not working 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")

View File

@@ -1,36 +0,0 @@
/*
* Copyright 2010-2018 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
open class KotlinStatisticsTrigger(private val groupIdSufix: String) {
companion object {
public fun trigger(clazz: Class<out KotlinStatisticsTrigger>, event: String) {
// FUS is not working 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")