[FIR] Extract extension functional type from an annotated functional type during deserialization
^KT-57140 Fixed
This commit is contained in:
committed by
Space Team
parent
8ca7b32577
commit
336b6ba9f0
+7
-7
@@ -7,20 +7,20 @@ FILE: dependencyWithoutFunctionalKindPlugin.kt
|
||||
}
|
||||
public final fun test_1(block: R|() -> kotlin/Unit|, composableBlock: R|@R|org/jetbrains/kotlin/fir/plugin/MyComposable|() some/MyComposableFunction0<kotlin/Unit>|, suspendBlock: R|suspend () -> kotlin/Unit|): R|kotlin/Unit| {
|
||||
R|org/jetbrains/kotlin/fir/plugin/consumeComposableFunction|(R|<local>/block|)
|
||||
R|org/jetbrains/kotlin/fir/plugin/consumeComposableFunction<Inapplicable(INAPPLICABLE): org/jetbrains/kotlin/fir/plugin/consumeComposableFunction>#|(R|<local>/composableBlock|)
|
||||
R|org/jetbrains/kotlin/fir/plugin/consumeComposableFunction|(R|<local>/composableBlock|)
|
||||
R|org/jetbrains/kotlin/fir/plugin/consumeComposableFunction<Inapplicable(INAPPLICABLE): org/jetbrains/kotlin/fir/plugin/consumeComposableFunction>#|(R|<local>/suspendBlock|)
|
||||
}
|
||||
public final fun test_2(): R|kotlin/Unit| {
|
||||
lval block: R|() -> kotlin/Unit| = R|org/jetbrains/kotlin/fir/plugin/produceComposableFunction|()
|
||||
R|/consumeRegularFunction|(R|<local>/block|)
|
||||
R|/consumeSuspendFunction|(R|<local>/block|)
|
||||
lval block: R|@R|org/jetbrains/kotlin/fir/plugin/MyComposable|() some/MyComposableFunction0<kotlin/Unit>| = R|org/jetbrains/kotlin/fir/plugin/produceComposableFunction|()
|
||||
R|/consumeRegularFunction<Inapplicable(INAPPLICABLE): /consumeRegularFunction>#|(R|<local>/block|)
|
||||
R|/consumeSuspendFunction<Inapplicable(INAPPLICABLE): /consumeSuspendFunction>#|(R|<local>/block|)
|
||||
R|/consumeOurComposableFunction|(R|<local>/block|)
|
||||
R|org/jetbrains/kotlin/fir/plugin/consumeComposableFunction|(R|<local>/block|)
|
||||
}
|
||||
public final fun test_3(): R|kotlin/Unit| {
|
||||
lval block: R|() -> kotlin/Unit| = R|org/jetbrains/kotlin/fir/plugin/produceBoxedComposableFunction|().R|SubstitutionOverride<org/jetbrains/kotlin/fir/plugin/Box.value: R|() -> kotlin/Unit|>|
|
||||
R|/consumeRegularFunction|(R|<local>/block|)
|
||||
R|/consumeSuspendFunction|(R|<local>/block|)
|
||||
lval block: R|@R|org/jetbrains/kotlin/fir/plugin/MyComposable|() some/MyComposableFunction0<kotlin/Unit>| = R|org/jetbrains/kotlin/fir/plugin/produceBoxedComposableFunction|().R|SubstitutionOverride<org/jetbrains/kotlin/fir/plugin/Box.value: R|@R|org/jetbrains/kotlin/fir/plugin/MyComposable|() some/MyComposableFunction0<kotlin/Unit>|>|
|
||||
R|/consumeRegularFunction<Inapplicable(INAPPLICABLE): /consumeRegularFunction>#|(R|<local>/block|)
|
||||
R|/consumeSuspendFunction<Inapplicable(INAPPLICABLE): /consumeSuspendFunction>#|(R|<local>/block|)
|
||||
R|/consumeOurComposableFunction|(R|<local>/block|)
|
||||
R|org/jetbrains/kotlin/fir/plugin/consumeComposableFunction|(R|<local>/block|)
|
||||
}
|
||||
|
||||
+5
-5
@@ -10,22 +10,22 @@ fun test_1(
|
||||
suspendBlock: suspend () -> Unit,
|
||||
) {
|
||||
consumeComposableFunction(block)
|
||||
consumeComposableFunction(<!ARGUMENT_TYPE_MISMATCH!>composableBlock<!>)
|
||||
consumeComposableFunction(composableBlock)
|
||||
consumeComposableFunction(<!ARGUMENT_TYPE_MISMATCH!>suspendBlock<!>) // should be error
|
||||
}
|
||||
|
||||
fun test_2() {
|
||||
val block = produceComposableFunction()
|
||||
consumeRegularFunction(block) // should be error
|
||||
consumeSuspendFunction(block) // should be error
|
||||
consumeRegularFunction(<!ARGUMENT_TYPE_MISMATCH!>block<!>) // should be error
|
||||
consumeSuspendFunction(<!ARGUMENT_TYPE_MISMATCH!>block<!>) // should be error
|
||||
consumeOurComposableFunction(block)
|
||||
consumeComposableFunction(block)
|
||||
}
|
||||
|
||||
fun test_3() {
|
||||
val block = produceBoxedComposableFunction().value
|
||||
consumeRegularFunction(block) // should be error
|
||||
consumeSuspendFunction(block) // should be error
|
||||
consumeRegularFunction(<!ARGUMENT_TYPE_MISMATCH!>block<!>) // should be error
|
||||
consumeSuspendFunction(<!ARGUMENT_TYPE_MISMATCH!>block<!>) // should be error
|
||||
consumeOurComposableFunction(block)
|
||||
consumeComposableFunction(block)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user