From 326a130ab816a9cdb4ea0beffeb3eada16bcc6b3 Mon Sep 17 00:00:00 2001 From: Oleksandr Karpovich Date: Mon, 4 Oct 2021 11:06:49 +0200 Subject: [PATCH] web: add compiler test case for type nullable params (#1227) Co-authored-by: Oleksandr Karpovich --- .../ComposableWithNullableTypeParameter.kt | 27 +++++++++++++++++++ .../passing/ComposableWithTypeParams.kt | 8 ++++++ 2 files changed, 35 insertions(+) create mode 100644 web/compose-compiler-integration/testcases/failing/ComposableWithNullableTypeParameter.kt diff --git a/web/compose-compiler-integration/testcases/failing/ComposableWithNullableTypeParameter.kt b/web/compose-compiler-integration/testcases/failing/ComposableWithNullableTypeParameter.kt new file mode 100644 index 00000000..636e2ebc --- /dev/null +++ b/web/compose-compiler-integration/testcases/failing/ComposableWithNullableTypeParameter.kt @@ -0,0 +1,27 @@ +// @Module:Main + +// https://github.com/JetBrains/compose-jb/issues/1226 + +import kotlin.reflect.KProperty +import androidx.compose.runtime.Composable + +@Composable +fun MySelect( + options: List, + onChange: (T?) -> Unit +) { + +} + +fun main() { + callComposable { + MySelect( + options = emptyList(), + onChange = {} + ) + } +} + +fun callComposable(content: @Composable () -> Unit) { + // does nothing +} diff --git a/web/compose-compiler-integration/testcases/passing/ComposableWithTypeParams.kt b/web/compose-compiler-integration/testcases/passing/ComposableWithTypeParams.kt index e3ecb6ee..74ebf82a 100644 --- a/web/compose-compiler-integration/testcases/passing/ComposableWithTypeParams.kt +++ b/web/compose-compiler-integration/testcases/passing/ComposableWithTypeParams.kt @@ -9,6 +9,7 @@ fun main() { FooTakesTypedComposableLambda { "text" } FooTakesTypedComposableLambda2(10) { it + 100 } FooTakesTypedExtesionComposableLambda("text", Any()) { } + MySelect(emptyList(), {}) } } @@ -34,3 +35,10 @@ fun FooTakesTypedComposableLambda2(t: T, composable: @Composable (T) -> T) { fun FooTakesTypedExtesionComposableLambda(t: T, k: K, composable: @Composable T.(K) -> R) { t.composable(k) } + +@Composable +fun MySelect( + options: List, + onChange: (T) -> Unit +) { +}