[JS IR] fix cross-module reference of interface default methods
This commit is contained in:
committed by
TeamCityServer
parent
a9b99a8eea
commit
e90ad8b53b
+9
@@ -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.declarations.*
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
|
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
|
||||||
import org.jetbrains.kotlin.ir.types.classifierOrFail
|
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.ir.util.render
|
||||||
import org.jetbrains.kotlin.js.backend.JsToStringGenerationVisitor
|
import org.jetbrains.kotlin.js.backend.JsToStringGenerationVisitor
|
||||||
import org.jetbrains.kotlin.js.backend.NoOpSourceLocationConsumer
|
import org.jetbrains.kotlin.js.backend.NoOpSourceLocationConsumer
|
||||||
@@ -249,6 +250,14 @@ class IrModuleToJsTransformerTmp(
|
|||||||
computeTag(it)?.let { tag ->
|
computeTag(it)?.let { tag ->
|
||||||
result.definitions += tag
|
result.definitions += tag
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (it is IrClass && it.isInterface) {
|
||||||
|
it.declarations.forEach {
|
||||||
|
computeTag(it)?.let { tag ->
|
||||||
|
result.definitions += tag
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|||||||
Reference in New Issue
Block a user