[FIR2IR] Adapt IrActualizer to HMPP modules

Previously it collected actual declaration only from platform module
This commit is contained in:
Dmitriy Novozhilov
2023-02-10 11:09:46 +02:00
committed by Space Team
parent d4bb740a62
commit 30ea4b6b53
4 changed files with 86 additions and 2 deletions
@@ -33,7 +33,10 @@ internal class ExpectActualCollector(private val mainFragment: IrModuleFragment,
val allActualDeclarations = mutableSetOf<IrDeclaration>()
val typeAliasMap = mutableMapOf<FqName, FqName>() // It's used to link members from expect class that have typealias actual
ActualClassifiersCollector(actualClassifiers, allActualDeclarations, typeAliasMap).visitModuleFragment(mainFragment, false)
val fragmentsWithActuals = (dependentFragments.drop(1) + mainFragment)
for (fragment in fragmentsWithActuals) {
ActualClassifiersCollector(actualClassifiers, allActualDeclarations, typeAliasMap).visitModuleFragment(fragment, false)
}
val linkCollector = ClassifiersLinkCollector(this, actualClassifiers)
dependentFragments.forEach { linkCollector.visitModuleFragment(it) }
@@ -187,4 +190,4 @@ internal class ExpectActualCollector(private val mainFragment: IrModuleFragment,
element.acceptChildrenVoid(this)
}
}
}
}