[Fir2IR] Don't build overrides for expect classes.

We don't need them except for checking.
And checking doesn't work in any reasonable way anyway.

^KT-65249 Fixed
This commit is contained in:
Pavel Kunyavskiy
2024-02-09 12:47:01 +01:00
committed by Space Team
parent baaaf4567e
commit 8d725753f8
65 changed files with 133 additions and 488 deletions
@@ -193,8 +193,16 @@ private fun IrFakeOverrideBuilder.buildForAll(
element.acceptChildrenVoid(this)
}
private fun isIgnoredClass(declaration: IrClass) : Boolean {
return when {
declaration.isExpect -> true
declaration.metadata is MetadataSource.CodeFragment -> true
else -> false
}
}
override fun visitClass(declaration: IrClass) {
if (declaration.metadata !is MetadataSource.CodeFragment) {
if (!isIgnoredClass(declaration)) {
buildFakeOverrides(declaration)
}
declaration.acceptChildrenVoid(this)