IDEA-305867 added hint parameter to com.intellij.codeInsight.hints.codeVision.CodeVisionProviderBase.logClickToFUS for more verbose logging

GitOrigin-RevId: 9e3744e649b1e2ec202aa9779b9085acd325c069
This commit is contained in:
Petr Makhnev
2022-11-14 05:50:19 +00:00
committed by intellij-monorepo-bot
parent bd7b35416c
commit 5d9d5042e0
3 changed files with 10 additions and 6 deletions
@@ -41,7 +41,7 @@ class JavaInheritorsCodeVisionProvider : InheritorsCodeVisionProvider() {
return null
}
override fun logClickToFUS(element: PsiElement) {
override fun logClickToFUS(element: PsiElement, hint: String) {
val location = if (element is PsiClass) JavaCodeVisionUsageCollector.CLASS_LOCATION else JavaCodeVisionUsageCollector.METHOD_LOCATION
JavaCodeVisionUsageCollector.IMPLEMENTATION_CLICKED_EVENT_ID.log(element.project, location)
}
@@ -21,7 +21,7 @@ class JavaReferencesCodeVisionProvider : ReferencesCodeVisionProvider() {
override fun getHint(element: PsiElement, file: PsiFile): String? = JavaTelescope.usagesHint(element as PsiMember, file)
override fun logClickToFUS(element: PsiElement) {
override fun logClickToFUS(element: PsiElement, hint: String) {
JavaCodeVisionUsageCollector.USAGES_CLICKED_EVENT_ID.log(element.project)
}
@@ -34,7 +34,10 @@ abstract class CodeVisionProviderBase : DaemonBoundCodeVisionProvider {
*/
abstract fun getHint(element: PsiElement, file: PsiFile): String?
open fun logClickToFUS(element: PsiElement) {}
/**
* @param hint result of [getHint]
*/
open fun logClickToFUS(element: PsiElement, hint: String) {}
override fun computeForEditor(editor: Editor, file: PsiFile): List<Pair<TextRange, CodeVisionEntry>> {
if (!acceptsFile(file)) return emptyList()
@@ -52,7 +55,7 @@ abstract class CodeVisionProviderBase : DaemonBoundCodeVisionProvider {
if (!InlayHintsUtils.isFirstInLine(element)) continue
val hint = getHint(element, file)
if (hint == null) continue
val handler = ClickHandler(element)
val handler = ClickHandler(element, hint)
val range = InlayHintsUtils.getTextRangeWithoutLeadingCommentsAndWhitespaces(element)
lenses.add(range to ClickableTextCodeVisionEntry(hint, id, handler))
}
@@ -60,14 +63,15 @@ abstract class CodeVisionProviderBase : DaemonBoundCodeVisionProvider {
}
private inner class ClickHandler(
element: PsiElement
element: PsiElement,
private val hint: String,
) : (MouseEvent?, Editor) -> Unit {
private val elementPointer = SmartPointerManager.createPointer(element)
override fun invoke(event: MouseEvent?, editor: Editor) {
if (isInlaySettingsEditor(editor)) return
val element = elementPointer.element ?: return
logClickToFUS(element)
logClickToFUS(element, hint)
handleClick(editor, element, event)
}
}