Resolve to descriptor: call safe version in background (~ isApplicable) #KT-12261 Fixed
Also #KT-11010 Fixed Also #KT-12881 Fixed Also #KT-16162 Fixed
This commit is contained in:
+3
-3
@@ -32,7 +32,7 @@ import org.jetbrains.kotlin.asJava.toLightClass
|
||||
import org.jetbrains.kotlin.asJava.toLightMethods
|
||||
import org.jetbrains.kotlin.descriptors.MemberDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.Modality
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptor
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny
|
||||
import org.jetbrains.kotlin.idea.inspections.AbstractKotlinInspection
|
||||
import org.jetbrains.kotlin.idea.spring.isAnnotatedWith
|
||||
import org.jetbrains.kotlin.lexer.KtTokens
|
||||
@@ -40,7 +40,6 @@ import org.jetbrains.kotlin.psi.*
|
||||
import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject
|
||||
import org.jetbrains.kotlin.psi.psiUtil.isInheritable
|
||||
import org.jetbrains.kotlin.psi.psiUtil.isOverridable
|
||||
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
||||
|
||||
class KotlinFinalClassOrFunSpringInspection : AbstractKotlinInspection() {
|
||||
class QuickFix<T: KtModifierListOwner>(private val element: T) : LocalQuickFix {
|
||||
@@ -87,9 +86,10 @@ class KotlinFinalClassOrFunSpringInspection : AbstractKotlinInspection() {
|
||||
is KtClass -> if (isInheritable()) return true
|
||||
is KtObjectDeclaration -> return false
|
||||
is KtNamedFunction -> if (isOverridable()) return true
|
||||
else -> return true
|
||||
}
|
||||
|
||||
val descriptor = resolveToDescriptor(BodyResolveMode.PARTIAL) as? MemberDescriptor
|
||||
val descriptor = resolveToDescriptorIfAny() as? MemberDescriptor
|
||||
return descriptor?.modality != Modality.FINAL
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user