[JS IR] fix cross-module reference of interface default methods

This commit is contained in:
Anton Bannykh
2021-11-30 00:06:16 +03:00
committed by TeamCityServer
parent a9b99a8eea
commit e90ad8b53b
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.ir.backend.js.utils.serialization.JsIrAstSerializer
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
import org.jetbrains.kotlin.ir.types.classifierOrFail
import org.jetbrains.kotlin.ir.util.isInterface
import org.jetbrains.kotlin.ir.util.render
import org.jetbrains.kotlin.js.backend.JsToStringGenerationVisitor
import org.jetbrains.kotlin.js.backend.NoOpSourceLocationConsumer
@@ -249,6 +250,14 @@ class IrModuleToJsTransformerTmp(
computeTag(it)?.let { tag ->
result.definitions += tag
}
if (it is IrClass && it.isInterface) {
it.declarations.forEach {
computeTag(it)?.let { tag ->
result.definitions += tag
}
}
}
}
return result