mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-04 17:20:55 +07:00
[kotlin] KTIJ-29028 class inlined
GitOrigin-RevId: b2ab96f49055f6685416a5194b392153785cbd58
This commit is contained in:
committed by
intellij-monorepo-bot
parent
1d363ca4fd
commit
abd0559ea9
@@ -8,7 +8,6 @@ import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
|
||||
import org.jetbrains.kotlin.analysis.api.diagnostics.KtDiagnosticWithPsi
|
||||
import org.jetbrains.kotlin.idea.codeinsight.api.classic.quickfixes.QuickFixesPsiBasedFactory
|
||||
import org.jetbrains.kotlin.miniStdLib.annotations.PrivateForInline
|
||||
import kotlin.reflect.KClass
|
||||
|
||||
class KotlinQuickFixesList @ForKtQuickFixesListBuilder constructor(
|
||||
@@ -47,25 +46,17 @@ class KtQuickFixesListBuilder private constructor() {
|
||||
MutableList<KotlinQuickFixFactory<out KtDiagnosticWithPsi<*>>>,
|
||||
>()
|
||||
|
||||
@OptIn(PrivateForInline::class)
|
||||
fun <DIAGNOSTIC_PSI : PsiElement, DIAGNOSTIC : KtDiagnosticWithPsi<DIAGNOSTIC_PSI>> registerPsiQuickFixes(
|
||||
diagnosticClass: KClass<DIAGNOSTIC>,
|
||||
vararg quickFixFactories: QuickFixesPsiBasedFactory<in DIAGNOSTIC_PSI>
|
||||
vararg factories: QuickFixesPsiBasedFactory<in DIAGNOSTIC_PSI>,
|
||||
) {
|
||||
for (quickFixFactory in quickFixFactories) {
|
||||
registerPsiQuickFix(diagnosticClass, quickFixFactory)
|
||||
for (factory in factories) {
|
||||
registerFactory(diagnosticClass) { diagnostic: DIAGNOSTIC ->
|
||||
factory.createQuickFix(diagnostic.psi)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@PrivateForInline
|
||||
fun <DIAGNOSTIC_PSI : PsiElement, DIAGNOSTIC : KtDiagnosticWithPsi<DIAGNOSTIC_PSI>> registerPsiQuickFix(
|
||||
diagnosticClass: KClass<DIAGNOSTIC>,
|
||||
quickFixFactory: QuickFixesPsiBasedFactory<in DIAGNOSTIC_PSI>
|
||||
) {
|
||||
quickFixes.getOrPut(diagnosticClass) { mutableListOf() }
|
||||
.add(KotlinQuickFixesPsiBasedFactory(quickFixFactory))
|
||||
}
|
||||
|
||||
fun <DIAGNOSTIC : KtDiagnosticWithPsi<*>> registerApplicators(
|
||||
quickFixFactories: Collection<KotlinDiagnosticFixFactory<out DIAGNOSTIC>>
|
||||
) {
|
||||
@@ -100,15 +91,6 @@ class KtQuickFixesListBuilder private constructor() {
|
||||
}
|
||||
}
|
||||
|
||||
private class KotlinQuickFixesPsiBasedFactory(
|
||||
private val delegate: QuickFixesPsiBasedFactory<*>,
|
||||
) : KotlinQuickFixFactory<KtDiagnosticWithPsi<*>> {
|
||||
|
||||
context(KtAnalysisSession)
|
||||
override fun createQuickFixes(diagnostic: KtDiagnosticWithPsi<*>): List<CommonIntentionAction> =
|
||||
delegate.createQuickFix(diagnostic.psi)
|
||||
}
|
||||
|
||||
private class KotlinApplicatorBasedFactory<DIAGNOSTIC : KtDiagnosticWithPsi<*>>(
|
||||
private val delegate: KotlinDiagnosticFixFactory<DIAGNOSTIC>,
|
||||
) : KotlinQuickFixFactory<DIAGNOSTIC> {
|
||||
|
||||
Reference in New Issue
Block a user