[IR] Optimize SymbolTable.allUnbound
This commit is contained in:
@@ -1163,17 +1163,19 @@ inline fun <T> ReferenceSymbolTable.withReferenceScope(owner: IrDeclaration, blo
|
|||||||
}
|
}
|
||||||
|
|
||||||
val SymbolTable.allUnbound: Set<IrSymbol>
|
val SymbolTable.allUnbound: Set<IrSymbol>
|
||||||
get() {
|
get() = buildSet {
|
||||||
val r = mutableSetOf<IrSymbol>()
|
fun addUnbound(symbols: Collection<IrSymbol>) {
|
||||||
r.addAll(unboundClasses)
|
symbols.filterTo(this) { !it.isBound }
|
||||||
r.addAll(unboundConstructors)
|
}
|
||||||
r.addAll(unboundEnumEntries)
|
|
||||||
r.addAll(unboundFields)
|
addUnbound(unboundClasses)
|
||||||
r.addAll(unboundSimpleFunctions)
|
addUnbound(unboundConstructors)
|
||||||
r.addAll(unboundProperties)
|
addUnbound(unboundEnumEntries)
|
||||||
r.addAll(unboundTypeAliases)
|
addUnbound(unboundFields)
|
||||||
r.addAll(unboundTypeParameters)
|
addUnbound(unboundSimpleFunctions)
|
||||||
return r.filter { !it.isBound }.toSet()
|
addUnbound(unboundProperties)
|
||||||
|
addUnbound(unboundTypeAliases)
|
||||||
|
addUnbound(unboundTypeParameters)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun SymbolTable.noUnboundLeft(message: String) {
|
fun SymbolTable.noUnboundLeft(message: String) {
|
||||||
|
|||||||
Reference in New Issue
Block a user