[klib] Add an option to write out header klibs

The header klib is supposed to only contain the public abi of the module
similar to jvm-abi-gen. It is intended to be used as a dependency for other
klib compilations instead of the full klib for compilation avoidance.

^KT-60807
This commit is contained in:
Johan Bay
2023-05-09 14:29:21 +02:00
committed by Space Team
parent 829e0675f4
commit 0a612e4268
90 changed files with 1374 additions and 76 deletions
@@ -0,0 +1,4 @@
package lib
inline fun <reified T> safeCall(x: Any?, fn: (T) -> T): T? =
if (x is T) fn(x) else null
@@ -0,0 +1,13 @@
package app
import lib.*
fun runAppAndReturnOk(): String {
val a = safeCall<Int>(10) { it * it }
if (a != 100) error("a is '$a', but is expected to be '100'")
val b = safeCall<Int>(null) { it * it }
if (b != null) error("b is '$b', but is expected to be 'null'")
return "OK"
}