mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[devkit] IJPL-115541 Companion object in AnAction inheritors is not marked with warning
GitOrigin-RevId: 7f73a01b01ea46de903b40843891ed1cb77b21fb
This commit is contained in:
committed by
intellij-monorepo-bot
parent
91355ffd71
commit
2639e7a1c2
+11
-1
@@ -5,9 +5,11 @@ import com.intellij.codeInspection.LocalInspectionTool
|
||||
import com.intellij.codeInspection.ProblemHighlightType
|
||||
import com.intellij.codeInspection.ProblemsHolder
|
||||
import com.intellij.psi.PsiElementVisitor
|
||||
import com.intellij.psi.util.InheritanceUtil
|
||||
import org.jetbrains.idea.devkit.inspections.DevKitInspectionUtil
|
||||
import org.jetbrains.idea.devkit.inspections.ExtensionUtil
|
||||
import org.jetbrains.idea.devkit.kotlin.DevKitKotlinBundle
|
||||
import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
||||
import org.jetbrains.kotlin.asJava.toLightClass
|
||||
import org.jetbrains.kotlin.lexer.KtTokens
|
||||
import org.jetbrains.kotlin.psi.KtClass
|
||||
@@ -28,7 +30,7 @@ internal class CompanionObjectInExtensionInspection : LocalInspectionTool() {
|
||||
val ktLightClass = companionObject.getStrictParentOfType<KtClass>()?.toLightClass() ?: return
|
||||
|
||||
if (!ExtensionUtil.isExtensionPointImplementationCandidate(ktLightClass)) return
|
||||
if (!ExtensionUtil.isInstantiatedExtension(ktLightClass) { ExtensionUtil.hasServiceBeanFqn(it) }) return
|
||||
if (!isExtension(ktLightClass) && !isAnAction(ktLightClass)) return
|
||||
|
||||
val anchor = companionObject.modifierList?.getModifier(KtTokens.COMPANION_KEYWORD) ?: return
|
||||
|
||||
@@ -54,6 +56,14 @@ internal class CompanionObjectInExtensionInspection : LocalInspectionTool() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun isAnAction(ktLightClass: KtLightClass): Boolean {
|
||||
return InheritanceUtil.isInheritor(ktLightClass, "com.intellij.openapi.actionSystem.AnAction")
|
||||
}
|
||||
|
||||
private fun isExtension(ktLightClass: KtLightClass): Boolean {
|
||||
return ExtensionUtil.isInstantiatedExtension(ktLightClass) { ExtensionUtil.hasServiceBeanFqn(it) }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user