[ObjCExport] Implement initial sorting and ordering for ObjC translation

^KT-65237
This commit is contained in:
Sebastian Sellmair
2024-02-01 14:29:58 +01:00
committed by Space Team
parent 27fa3ebfb3
commit 32da1b70f5
14 changed files with 307 additions and 13 deletions
@@ -83,11 +83,13 @@ class ObjCExportHeaderGeneratorTest(private val generator: HeaderGenerator) {
}
@Test
@TodoAnalysisApi // Early translate of forward declarations
fun `test - classImplementingInterface`() {
doTest(headersTestDataDir.resolve("classImplementingInterface"))
}
@Test
@TodoAnalysisApi
fun `test - interfaceImplementingInterface`() {
doTest(headersTestDataDir.resolve("interfaceImplementingInterface"))
}
@@ -176,16 +178,26 @@ class ObjCExportHeaderGeneratorTest(private val generator: HeaderGenerator) {
}
@Test
@TodoAnalysisApi // Early translate of forward declarations
fun `test - classWithUnresolvedSuperTypeGenerics`() {
doTest(headersTestDataDir.resolve("classWithUnresolvedSuperTypeGenerics"))
}
@Test
@TodoAnalysisApi
fun `test - topLevelFunctionWithNumberReturn`() {
doTest(headersTestDataDir.resolve("topLevelFunctionWithNumberReturn"))
}
@Test
fun `test - classWithManyMembers`() {
doTest(headersTestDataDir.resolve("classWithManyMembers"))
}
@Test
fun `test - manyClassesAndInterfaces`() {
doTest(headersTestDataDir.resolve("manyClassesAndInterfaces"))
}
private fun doTest(root: File, configuration: Configuration = Configuration()) {
if (!root.isDirectory) fail("Expected ${root.absolutePath} to be directory")
val generatedHeaders = generator.generateHeaders(root, configuration).toString()