in intellij/src/main/kotlin/motif/intellij/provider/ScopeHierarchyLineMarkerProvider.kt [82:101]
override fun navigate(event: MouseEvent?, element: PsiElement?) {
val toolWindow: ToolWindow =
ToolWindowManager.getInstance(project).getToolWindow(TOOL_WINDOW_ID) ?: return
if (element is PsiClass) {
toolWindow.activate {
project.getService(MotifService::class.java).onSelectedAncestorScope(element)
}
} else if (element is PsiMethod) {
if (element.returnType is PsiClassReferenceType) {
val returnElementClass: PsiClass =
(element.returnType as PsiClassReferenceType).resolve() ?: return
toolWindow.activate {
project.getService(MotifService::class.java).onSelectedAncestorScope(returnElementClass)
}
}
}
project
.getService(AnalyticsService::class.java)
.logEvent(MotifAnalyticsActions.ANCESTOR_GUTTER_CLICK)
}