Introduce @FirIncompatiblePluginApi

This commit is contained in:
Leonid Startsev
2022-07-22 20:29:46 +02:00
committed by Space
parent 467ff30aac
commit 89329a0e1b
15 changed files with 62 additions and 98 deletions
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.android.synthetic.descriptors.ContainerOptionsProxy
import org.jetbrains.kotlin.android.synthetic.res.AndroidSyntheticFunction
import org.jetbrains.kotlin.android.synthetic.res.AndroidSyntheticProperty
import org.jetbrains.kotlin.backend.common.IrElementTransformerVoidWithContext
import org.jetbrains.kotlin.backend.common.extensions.FirIncompatiblePluginAPI
import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension
import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
import org.jetbrains.kotlin.backend.common.ir.addDispatchReceiver
@@ -120,7 +121,7 @@ private class AndroidIrTransformer(val extension: AndroidIrExtension, val plugin
}
// NOTE: sparse array version intentionally not implemented; this plugin is deprecated
@Suppress("DEPRECATION") // TODO: check that it still works with FIR
@OptIn(FirIncompatiblePluginAPI::class) // TODO: check that it still works with FIR
private val mapFactory = pluginContext.referenceFunctions(FqName("kotlin.collections.mutableMapOf"))
.single { it.owner.valueParameters.isEmpty() }
private val mapGet = pluginContext.irBuiltIns.mapClass.owner.functions