Fix WrapWithSafeLetCallFix ignore extension method
Related to KT-17726
This commit is contained in:
committed by
Mikhail Glukhikh
parent
bd73916d99
commit
c8e58ce9ab
@@ -21,12 +21,14 @@ import com.intellij.openapi.editor.Editor
|
||||
import com.intellij.openapi.project.Project
|
||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||
import org.jetbrains.kotlin.diagnostics.Errors
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||
import org.jetbrains.kotlin.idea.core.KotlinNameSuggester
|
||||
import org.jetbrains.kotlin.idea.core.NewDeclarationNameValidator
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
import org.jetbrains.kotlin.psi.psiUtil.createSmartPointer
|
||||
import org.jetbrains.kotlin.psi.psiUtil.getLastParentOfTypeInRow
|
||||
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
||||
import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall
|
||||
import org.jetbrains.kotlin.types.typeUtil.isNullabilityMismatch
|
||||
|
||||
class WrapWithSafeLetCallFix(
|
||||
@@ -57,6 +59,12 @@ class WrapWithSafeLetCallFix(
|
||||
object UnsafeFactory : KotlinSingleIntentionActionFactory() {
|
||||
override fun createAction(diagnostic: Diagnostic): IntentionAction? {
|
||||
val element = diagnostic.psiElement
|
||||
|
||||
if (element is KtNameReferenceExpression) {
|
||||
val resolvedCall = element.getResolvedCall(element.analyze())
|
||||
if (resolvedCall?.call?.callType != Call.CallType.INVOKE) return null
|
||||
}
|
||||
|
||||
val expression = element.getParentOfType<KtExpression>(true) ?: return null
|
||||
|
||||
val parent = element.parent
|
||||
|
||||
Reference in New Issue
Block a user