Skip to content

Commit

Permalink
fix: fix line marker leaft psi issue
Browse files Browse the repository at this point in the history
  • Loading branch information
phodal committed Apr 18, 2023
1 parent f5ec8c4 commit 3fbacf3
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 5 deletions.
Expand Up @@ -4,13 +4,17 @@ import cc.unitmesh.devti.DevtiIcons
import cc.unitmesh.devti.runconfig.command.FindBugConfigurationProducer
import com.intellij.execution.lineMarker.ExecutorAction
import com.intellij.execution.lineMarker.RunLineMarkerContributor
import com.intellij.psi.PsiClass

Check warning on line 7 in src/main/kotlin/cc/unitmesh/devti/language/FindBugLineMarkerContributor.kt

View workflow job for this annotation

GitHub Actions / Build

Unused import directive

Unused import directive
import com.intellij.psi.PsiElement
import com.intellij.psi.PsiIdentifier
import com.intellij.psi.PsiMethod

class FindBugLineMarkerContributor : RunLineMarkerContributor() {
override fun getInfo(element: PsiElement): Info? {
if (element !is PsiMethod) return null
if (element !is PsiIdentifier) return null
val parent = element.parent
if (parent !is PsiMethod) return null

val actions = ExecutorAction.getActions(0)
val state = FindBugConfigurationProducer().findConfig(listOf(element)) ?: return null
return Info(
Expand Down
Expand Up @@ -5,6 +5,7 @@ import cc.unitmesh.devti.runconfig.config.FindBugConfigure
import com.intellij.execution.actions.ConfigurationContext
import com.intellij.openapi.util.Ref
import com.intellij.psi.PsiElement
import com.intellij.psi.PsiIdentifier
import com.intellij.psi.PsiMethod

class FindBugConfigurationProducer : BaseLazyRunConfigurationProducer<FindBugConfigure>() {
Expand All @@ -16,12 +17,16 @@ class FindBugConfigurationProducer : BaseLazyRunConfigurationProducer<FindBugCon
elements: List<PsiElement>
): FindBugConfigure? {
if (elements.isEmpty()) return null
val methods = elements.filterIsInstance<PsiMethod>()
if (methods.isEmpty()) return null
val identifiers = elements.filterIsInstance<PsiIdentifier>()
if (identifiers.isEmpty()) return null

val method = methods.first()
val identifier = identifiers.first()

return FindBugConfigure(method.name)
val parent = identifier.parent
if (parent !is PsiMethod) return null


return FindBugConfigure(identifier.text)
}

override fun isConfigurationFromContext(configuration: DtRunConfiguration, context: ConfigurationContext): Boolean {
Expand Down

0 comments on commit 3fbacf3

Please sign in to comment.