IR: add IrFactory to IrDeclaration, use in deep copy

This commit is contained in:
Alexander Udalov
2020-07-14 13:48:16 +02:00
parent 305288aa82
commit f359f36ed9
10 changed files with 37 additions and 20 deletions
@@ -25,6 +25,9 @@ abstract class AbstractFir2IrLazyDeclaration<F : FirMemberDeclaration, D : IrSym
val fir: F,
open val symbol: Fir2IrBindableSymbol<*, D>
) : IrElementBase(startOffset, endOffset), IrDeclaration, IrDeclarationParent, Fir2IrComponents by components {
override val factory: IrFactory
get() = components.irFactory
internal fun prepareTypeParameters() {
typeParameters = fir.typeParameters.mapIndexedNotNull { index, typeParameter ->
if (typeParameter !is FirTypeParameter) return@mapIndexedNotNull null