From 87006036be01c479585fd6e4a5148e5cc6a88e0d Mon Sep 17 00:00:00 2001 From: Roman Artemev Date: Thu, 26 Mar 2020 18:13:56 +0300 Subject: [PATCH] [IR] Forbid unbound type parameters --- .../jetbrains/kotlin/ir/util/ExternalDependenciesGenerator.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/ExternalDependenciesGenerator.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/ExternalDependenciesGenerator.kt index c67ed02616f..525cceaa561 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/ExternalDependenciesGenerator.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/ExternalDependenciesGenerator.kt @@ -31,6 +31,8 @@ class ExternalDependenciesGenerator(val symbolTable: SymbolTable, private val ir /* Deserializing a reference may lead to new unbound references, so we loop until none are left. */ + require(symbolTable.unboundTypeParameters.isEmpty()) { "Unbound type parameters are forbidden" } + lateinit var unbound: List do { unbound = symbolTable.allUnbound @@ -57,7 +59,6 @@ private val SymbolTable.allUnbound: List r.addAll(unboundFields) r.addAll(unboundSimpleFunctions) r.addAll(unboundProperties) - r.addAll(unboundTypeParameters) r.addAll(unboundTypeAliases) return r }