FIR: keep nullability when serializing suspend function types

No clue where to put the test for that since diagnostic tests, even
multi-module ones, never touch the metadata serializer. So the test is
a bytecode text one pretending to be about nullability annotations even
though it also affects what resolution in another module will do.
This commit is contained in:
pyos
2022-12-02 10:02:06 +01:00
committed by Denis.Zharkov
parent ec891474b0
commit 923837f26b
4 changed files with 41 additions and 1 deletions
@@ -0,0 +1,11 @@
// MODULE: lib
// FILE: 1.kt
interface I {
fun foo(x: (suspend () -> Unit)?): (suspend () -> Unit)?
}
// MODULE: main(lib)
// FILE: 2.kt
class C : I {
override fun foo(x: (suspend () -> Unit)?) = x
}
@@ -0,0 +1,13 @@
Module: lib
@kotlin.Metadata
public interface I {
// source: '1.kt'
public abstract @org.jetbrains.annotations.Nullable method foo(@org.jetbrains.annotations.Nullable p0: kotlin.jvm.functions.Function1): kotlin.jvm.functions.Function1
}
Module: main
@kotlin.Metadata
public final class C {
// source: '2.kt'
public method <init>(): void
public @org.jetbrains.annotations.Nullable method foo(@org.jetbrains.annotations.Nullable p0: kotlin.jvm.functions.Function1): kotlin.jvm.functions.Function1
}