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 c14789f16ca..9fee1a7d199 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 @@ -1163,17 +1163,19 @@ inline fun ReferenceSymbolTable.withReferenceScope(owner: IrDeclaration, blo } val SymbolTable.allUnbound: Set - get() { - val r = mutableSetOf() - r.addAll(unboundClasses) - r.addAll(unboundConstructors) - r.addAll(unboundEnumEntries) - r.addAll(unboundFields) - r.addAll(unboundSimpleFunctions) - r.addAll(unboundProperties) - r.addAll(unboundTypeAliases) - r.addAll(unboundTypeParameters) - return r.filter { !it.isBound }.toSet() + get() = buildSet { + fun addUnbound(symbols: Collection) { + symbols.filterTo(this) { !it.isBound } + } + + addUnbound(unboundClasses) + addUnbound(unboundConstructors) + addUnbound(unboundEnumEntries) + addUnbound(unboundFields) + addUnbound(unboundSimpleFunctions) + addUnbound(unboundProperties) + addUnbound(unboundTypeAliases) + addUnbound(unboundTypeParameters) } fun SymbolTable.noUnboundLeft(message: String) {