Refactoring: Extract registerWithElementsUnwrapped() function
This commit is contained in:
+16
-4
@@ -17,11 +17,9 @@
|
|||||||
package org.jetbrains.kotlin.idea.inspections
|
package org.jetbrains.kotlin.idea.inspections
|
||||||
|
|
||||||
import com.intellij.codeHighlighting.HighlightDisplayLevel
|
import com.intellij.codeHighlighting.HighlightDisplayLevel
|
||||||
import com.intellij.codeInspection.CustomSuppressableInspectionTool
|
import com.intellij.codeInspection.*
|
||||||
import com.intellij.codeInspection.LocalInspectionTool
|
|
||||||
import com.intellij.codeInspection.SuppressIntentionAction
|
|
||||||
import com.intellij.codeInspection.SuppressManager
|
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
|
import org.jetbrains.kotlin.asJava.unwrapped
|
||||||
import org.jetbrains.kotlin.caches.resolve.KotlinCacheService
|
import org.jetbrains.kotlin.caches.resolve.KotlinCacheService
|
||||||
import org.jetbrains.kotlin.diagnostics.Severity
|
import org.jetbrains.kotlin.diagnostics.Severity
|
||||||
import org.jetbrains.kotlin.idea.highlighter.createSuppressWarningActions
|
import org.jetbrains.kotlin.idea.highlighter.createSuppressWarningActions
|
||||||
@@ -64,3 +62,17 @@ private fun toSeverity(highlightDisplayLevel: HighlightDisplayLevel): Severity
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Suppress("unused")
|
||||||
|
fun Array<ProblemDescriptor>.registerWithElementsUnwrapped(holder: ProblemsHolder, isOnTheFly: Boolean) {
|
||||||
|
forEach {
|
||||||
|
@Suppress("UNCHECKED_CAST")
|
||||||
|
val descriptor = holder.manager.createProblemDescriptor(
|
||||||
|
it.psiElement.unwrapped ?: it.psiElement,
|
||||||
|
it.descriptionTemplate,
|
||||||
|
isOnTheFly,
|
||||||
|
it.fixes as? Array<LocalQuickFix> ?: LocalQuickFix.EMPTY_ARRAY,
|
||||||
|
it.highlightType
|
||||||
|
)
|
||||||
|
holder.registerProblem(descriptor)
|
||||||
|
}
|
||||||
|
}
|
||||||
+2
-12
@@ -16,12 +16,12 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.spring.inspections
|
package org.jetbrains.kotlin.idea.spring.inspections
|
||||||
|
|
||||||
import com.intellij.codeInspection.LocalQuickFix
|
|
||||||
import com.intellij.codeInspection.ProblemsHolder
|
import com.intellij.codeInspection.ProblemsHolder
|
||||||
import com.intellij.psi.PsiElementVisitor
|
import com.intellij.psi.PsiElementVisitor
|
||||||
import com.intellij.spring.model.highlighting.config.SpringFacetCodeInspection
|
import com.intellij.spring.model.highlighting.config.SpringFacetCodeInspection
|
||||||
import org.jetbrains.kotlin.asJava.toLightClass
|
import org.jetbrains.kotlin.asJava.toLightClass
|
||||||
import org.jetbrains.kotlin.idea.inspections.AbstractKotlinInspection
|
import org.jetbrains.kotlin.idea.inspections.AbstractKotlinInspection
|
||||||
|
import org.jetbrains.kotlin.idea.inspections.registerWithElementsUnwrapped
|
||||||
import org.jetbrains.kotlin.psi.KtClassOrObject
|
import org.jetbrains.kotlin.psi.KtClassOrObject
|
||||||
import org.jetbrains.kotlin.psi.KtVisitorVoid
|
import org.jetbrains.kotlin.psi.KtVisitorVoid
|
||||||
|
|
||||||
@@ -36,17 +36,7 @@ class KotlinSpringFacetCodeInspection : AbstractKotlinInspection() {
|
|||||||
return object: KtVisitorVoid() {
|
return object: KtVisitorVoid() {
|
||||||
override fun visitClassOrObject(classOrObject: KtClassOrObject) {
|
override fun visitClassOrObject(classOrObject: KtClassOrObject) {
|
||||||
val lightClass = classOrObject.toLightClass() ?: return
|
val lightClass = classOrObject.toLightClass() ?: return
|
||||||
javaInspection.checkClass(lightClass, holder.manager, isOnTheFly)?.forEach {
|
javaInspection.checkClass(lightClass, holder.manager, isOnTheFly)?.registerWithElementsUnwrapped(holder, isOnTheFly)
|
||||||
@Suppress("UNCHECKED_CAST")
|
|
||||||
val descriptor = holder.manager.createProblemDescriptor(
|
|
||||||
classOrObject.nameIdentifier ?: classOrObject,
|
|
||||||
it.descriptionTemplate,
|
|
||||||
isOnTheFly,
|
|
||||||
it.fixes as Array<LocalQuickFix>,
|
|
||||||
it.highlightType
|
|
||||||
)
|
|
||||||
holder.registerProblem(descriptor)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-13
@@ -16,13 +16,12 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.spring.inspections
|
package org.jetbrains.kotlin.idea.spring.inspections
|
||||||
|
|
||||||
import com.intellij.codeInspection.LocalQuickFix
|
|
||||||
import com.intellij.codeInspection.ProblemsHolder
|
import com.intellij.codeInspection.ProblemsHolder
|
||||||
import com.intellij.psi.PsiElementVisitor
|
import com.intellij.psi.PsiElementVisitor
|
||||||
import com.intellij.spring.model.highlighting.SpringJavaAutowiredMembersInspection
|
import com.intellij.spring.model.highlighting.SpringJavaAutowiredMembersInspection
|
||||||
import org.jetbrains.kotlin.asJava.toLightClass
|
import org.jetbrains.kotlin.asJava.toLightClass
|
||||||
import org.jetbrains.kotlin.asJava.unwrapped
|
|
||||||
import org.jetbrains.kotlin.idea.inspections.AbstractKotlinInspection
|
import org.jetbrains.kotlin.idea.inspections.AbstractKotlinInspection
|
||||||
|
import org.jetbrains.kotlin.idea.inspections.registerWithElementsUnwrapped
|
||||||
import org.jetbrains.kotlin.psi.KtClassOrObject
|
import org.jetbrains.kotlin.psi.KtClassOrObject
|
||||||
import org.jetbrains.kotlin.psi.KtVisitorVoid
|
import org.jetbrains.kotlin.psi.KtVisitorVoid
|
||||||
|
|
||||||
@@ -37,17 +36,7 @@ class SpringKotlinAutowiredMembersInspection : AbstractKotlinInspection() {
|
|||||||
return object: KtVisitorVoid() {
|
return object: KtVisitorVoid() {
|
||||||
override fun visitClassOrObject(classOrObject: KtClassOrObject) {
|
override fun visitClassOrObject(classOrObject: KtClassOrObject) {
|
||||||
val lightClass = classOrObject.toLightClass() ?: return
|
val lightClass = classOrObject.toLightClass() ?: return
|
||||||
javaInspection.checkClass(lightClass, holder.manager, isOnTheFly)?.forEach {
|
javaInspection.checkClass(lightClass, holder.manager, isOnTheFly)?.registerWithElementsUnwrapped(holder, isOnTheFly)
|
||||||
@Suppress("UNCHECKED_CAST")
|
|
||||||
val descriptor = holder.manager.createProblemDescriptor(
|
|
||||||
it.psiElement.unwrapped ?: it.psiElement,
|
|
||||||
it.descriptionTemplate,
|
|
||||||
isOnTheFly,
|
|
||||||
it.fixes as? Array<LocalQuickFix> ?: LocalQuickFix.EMPTY_ARRAY,
|
|
||||||
it.highlightType
|
|
||||||
)
|
|
||||||
holder.registerProblem(descriptor)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user