diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeclarationStubGenerator.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeclarationStubGenerator.kt index 2656903e9a1..05b6df34606 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeclarationStubGenerator.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/DeclarationStubGenerator.kt @@ -54,7 +54,6 @@ class DeclarationStubGenerator( fun setIrProviders(value: List) { irProviders_ = value - irProviders_.filterIsInstance().forEach { it.declarationStubGenerator = this } } val typeTranslator = diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt index 58ad95760c0..4bacc12561f 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/SymbolTable.kt @@ -37,14 +37,8 @@ interface IrProvider { fun getDeclaration(symbol: IrSymbol): IrDeclaration? } -/** - * Extension of [IrProvider] which always produces inheritors of [IrLazyDeclarationBase]. - * Thus, it needs [declarationStubGenerator] to be able to produce IR declarations. - */ -interface LazyIrProvider : IrProvider { - var declarationStubGenerator: DeclarationStubGenerator - - override fun getDeclaration(symbol: IrSymbol): IrLazyDeclarationBase? +interface IrExtensionGenerator { + fun declare(symbol: IrSymbol): IrDeclaration? = null } interface IrDeserializer : IrProvider { @@ -968,4 +962,4 @@ val SymbolTable.allUnbound: List r.addAll(unboundTypeAliases) r.addAll(unboundTypeParameters) return r.filter { !it.isBound } - } \ No newline at end of file + }