[kotlin] Use ShortenReferencesFacility

^KTIJ-29492

GitOrigin-RevId: 0dd342aca1ed8749ad0130a9acc1b04007b83520
This commit is contained in:
Andrey Cherkasov
2024-09-09 00:56:44 +04:00
committed by intellij-monorepo-bot
parent 35dd77a0ee
commit a229da293f
7 changed files with 13 additions and 30 deletions

View File

@@ -4,9 +4,8 @@ package org.jetbrains.kotlin.idea.k2.codeinsight.fixes
import org.jetbrains.kotlin.analysis.api.KaExperimentalApi
import org.jetbrains.kotlin.analysis.api.fir.diagnostics.KaFirDiagnostic
import org.jetbrains.kotlin.analysis.api.renderer.types.impl.KaTypeRendererForSource
import org.jetbrains.kotlin.idea.base.analysis.api.utils.shortenReferencesInRange
import org.jetbrains.kotlin.idea.codeinsight.api.applicators.fixes.KotlinQuickFixFactory
import org.jetbrains.kotlin.idea.quickfix.ConvertLateinitPropertyToNotNullDelegateFixBase
import org.jetbrains.kotlin.idea.quickfix.ConvertLateinitPropertyToNotNullDelegateFix
import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.psi.KtProperty
import org.jetbrains.kotlin.types.Variance
@@ -32,14 +31,4 @@ internal object ConvertLateinitPropertyToNotNullDelegateFixFactory {
ConvertLateinitPropertyToNotNullDelegateFix(property, renderedType)
)
}
private class ConvertLateinitPropertyToNotNullDelegateFix(
element: KtProperty,
type: String,
) : ConvertLateinitPropertyToNotNullDelegateFixBase(element, type) {
override fun shortenReferences(element: KtProperty) {
shortenReferencesInRange(element)
}
}
}

View File

@@ -4,12 +4,13 @@ package org.jetbrains.kotlin.idea.quickfix
import com.intellij.modcommand.ActionContext
import com.intellij.modcommand.ModPsiUpdater
import com.intellij.modcommand.PsiUpdateModCommandAction
import org.jetbrains.kotlin.idea.base.codeInsight.ShortenReferencesFacility
import org.jetbrains.kotlin.idea.base.resources.KotlinBundle
import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.psi.KtProperty
import org.jetbrains.kotlin.psi.KtPsiFactory
abstract class ConvertLateinitPropertyToNotNullDelegateFixBase(
class ConvertLateinitPropertyToNotNullDelegateFix(
element: KtProperty,
private val type: String
) : PsiUpdateModCommandAction<KtProperty>(element) {
@@ -29,8 +30,6 @@ abstract class ConvertLateinitPropertyToNotNullDelegateFixBase(
)
element.addAfter(propertyDelegate, typeReference)
element.typeReference = null
shortenReferences(element)
ShortenReferencesFacility.getInstance().shorten(element)
}
abstract fun shortenReferences(element: KtProperty)
}

View File

@@ -6,7 +6,6 @@ import com.intellij.codeInsight.intention.IntentionAction
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.diagnostics.Diagnostic
import org.jetbrains.kotlin.idea.caches.resolve.analyze
import org.jetbrains.kotlin.idea.core.ShortenReferences
import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.psi.KtProperty
import org.jetbrains.kotlin.resolve.BindingContext
@@ -21,10 +20,6 @@ internal object ConvertLateinitPropertyToNotNullDelegateFixFactory : KotlinSingl
val type = property.analyze(BodyResolveMode.PARTIAL)[BindingContext.TYPE, typeReference] ?: return null
if (!KotlinBuiltIns.isPrimitiveType(type)) return null
return object : ConvertLateinitPropertyToNotNullDelegateFixBase(property, type.toString()) {
override fun shortenReferences(element: KtProperty) {
ShortenReferences.DEFAULT.process(element)
}
}.asIntention()
return ConvertLateinitPropertyToNotNullDelegateFix(property, type.toString()).asIntention()
}
}

View File

@@ -1,5 +1,5 @@
// "Convert to notNull delegate" "true"
// WITH_STDLIB
<caret>lateinit var x: Boolean
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ConvertLateinitPropertyToNotNullDelegateFixFactory$createAction$1
// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.k2.codeinsight.fixes.ConvertLateinitPropertyToNotNullDelegateFixFactory$ConvertLateinitPropertyToNotNullDelegateFix
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ConvertLateinitPropertyToNotNullDelegateFix
// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ConvertLateinitPropertyToNotNullDelegateFix

View File

@@ -3,5 +3,5 @@ import kotlin.properties.Delegates
// "Convert to notNull delegate" "true"
// WITH_STDLIB
var x by Delegates.notNull<Boolean>()
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ConvertLateinitPropertyToNotNullDelegateFixFactory$createAction$1
// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.k2.codeinsight.fixes.ConvertLateinitPropertyToNotNullDelegateFixFactory$ConvertLateinitPropertyToNotNullDelegateFix
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ConvertLateinitPropertyToNotNullDelegateFix
// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ConvertLateinitPropertyToNotNullDelegateFix

View File

@@ -1,5 +1,5 @@
// "Convert to notNull delegate" "true"
// WITH_STDLIB
<caret>lateinit var x: Int
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ConvertLateinitPropertyToNotNullDelegateFixFactory$createAction$1
// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.k2.codeinsight.fixes.ConvertLateinitPropertyToNotNullDelegateFixFactory$ConvertLateinitPropertyToNotNullDelegateFix
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ConvertLateinitPropertyToNotNullDelegateFix
// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ConvertLateinitPropertyToNotNullDelegateFix

View File

@@ -3,5 +3,5 @@ import kotlin.properties.Delegates
// "Convert to notNull delegate" "true"
// WITH_STDLIB
var x by Delegates.notNull<Int>()
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ConvertLateinitPropertyToNotNullDelegateFixFactory$createAction$1
// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.k2.codeinsight.fixes.ConvertLateinitPropertyToNotNullDelegateFixFactory$ConvertLateinitPropertyToNotNullDelegateFix
// FUS_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ConvertLateinitPropertyToNotNullDelegateFix
// FUS_K2_QUICKFIX_NAME: org.jetbrains.kotlin.idea.quickfix.ConvertLateinitPropertyToNotNullDelegateFix