FILE: DeepCopyIrTree.kt public abstract interface IrType : R|kotlin/Any| { } public abstract interface TypeRemapper : R|kotlin/Any| { public abstract fun enterScope(irTypeParametersContainer: R|IrTypeParametersContainer|): R|kotlin/Unit| public abstract fun remapType(type: R|IrType|): R|IrType| public abstract fun leaveScope(): R|kotlin/Unit| } public abstract interface IrTypeParametersContainer : R|IrDeclaration|, R|IrDeclarationParent| { public abstract var typeParameters: R|kotlin/collections/List| public get(): R|kotlin/collections/List| public set(value: R|kotlin/collections/List|): R|kotlin/Unit| } public abstract interface IrDeclaration : R|kotlin/Any| { } public abstract interface IrTypeParameter : R|IrDeclaration| { public abstract val superTypes: R|kotlin/collections/MutableList| public get(): R|kotlin/collections/MutableList| } public abstract interface IrDeclarationParent : R|kotlin/Any| { } public final class DeepCopyIrTreeWithSymbols : R|kotlin/Any| { public constructor(typeRemapper: R|TypeRemapper|): R|DeepCopyIrTreeWithSymbols| { super() } private final val typeRemapper: R|TypeRemapper| = R|/typeRemapper| private get(): R|TypeRemapper| private final fun copyTypeParameter(declaration: R|IrTypeParameter|): R|IrTypeParameter| { ^copyTypeParameter R|/declaration| } public final fun R|IrTypeParametersContainer|.copyTypeParametersFrom(other: R|IrTypeParametersContainer|): R|kotlin/Unit| { this@R|/DeepCopyIrTreeWithSymbols.copyTypeParametersFrom|.R|/IrTypeParametersContainer.typeParameters| = R|/other|.R|/IrTypeParametersContainer.typeParameters|.R|kotlin/collections/map|( = map@fun (it: R|IrTypeParameter|): R|IrTypeParameter| { ^ this@R|/DeepCopyIrTreeWithSymbols|.R|/DeepCopyIrTreeWithSymbols.copyTypeParameter|(R|/it|) } ) this@R|/DeepCopyIrTreeWithSymbols|.R|/DeepCopyIrTreeWithSymbols.typeRemapper|.R|/withinScope|(this@R|/DeepCopyIrTreeWithSymbols.copyTypeParametersFrom|, = withinScope@fun (): R|kotlin/Unit| { lval : R|kotlin/collections/Iterator>| = this@R|/DeepCopyIrTreeWithSymbols.copyTypeParametersFrom|.R|/IrTypeParametersContainer.typeParameters|.R|kotlin/collections/zip|(R|/other|.R|/IrTypeParametersContainer.typeParameters|).R|FakeOverride>|>|() while(R|/|.R|kotlin/collections/Iterator.hasNext|()) { lval : R|kotlin/Pair| = R|/|.R|FakeOverride|>|() lval thisTypeParameter: R|IrTypeParameter| = R|/|.R|FakeOverride|() lval otherTypeParameter: R|IrTypeParameter| = R|/|.R|FakeOverride|() R|/otherTypeParameter|.R|/IrTypeParameter.superTypes|.R|kotlin/collections/mapTo||>(R|/thisTypeParameter|.R|/IrTypeParameter.superTypes|, = mapTo@fun (it: R|IrType|): R|IrType| { ^ this@R|/DeepCopyIrTreeWithSymbols|.R|/DeepCopyIrTreeWithSymbols.typeRemapper|.R|/TypeRemapper.remapType|(R|/it|) } ) } } ) } } public final inline fun R|TypeRemapper|.withinScope(irTypeParametersContainer: R|IrTypeParametersContainer|, fn: R|() -> T|): R|T| { this@R|/withinScope|.R|/TypeRemapper.enterScope|(R|/irTypeParametersContainer|) lval result: R|T| = R|/fn|.R|FakeOverride|() this@R|/withinScope|.R|/TypeRemapper.leaveScope|() ^withinScope R|/result| }