[FIR] Forbid mixing supertypes with different functional kinds
^KT-61277 Fixed
This commit is contained in:
committed by
Space Team
parent
f674529558
commit
4958196c51
+25
@@ -0,0 +1,25 @@
|
||||
FILE: mixingComposableAndNormalFunctions.kt
|
||||
public abstract class MyClass : R|kotlin/reflect/KSuspendFunction0<kotlin/Unit>|, R|() -> kotlin/Unit| {
|
||||
public constructor(): R|MyClass| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
}
|
||||
public abstract class OurClass : R|@R|org/jetbrains/kotlin/fir/plugin/MyComposable|() some/MyComposableFunction1<kotlin/Int, kotlin/Unit>|, R|() -> kotlin/Unit| {
|
||||
public constructor(): R|OurClass| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
}
|
||||
public abstract class YourClass : R|@R|org/jetbrains/kotlin/fir/plugin/MyComposable|() kotlin/reflect/KFunction1<kotlin/Boolean, kotlin/Unit>|, R|() -> kotlin/Unit| {
|
||||
public constructor(): R|YourClass| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
}
|
||||
public abstract class Their : R|kotlin/reflect/KSuspendFunction1<kotlin/Boolean, kotlin/Unit>|, R|() -> kotlin/Unit| {
|
||||
public constructor(): R|Their| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
}
|
||||
Vendored
+8
@@ -0,0 +1,8 @@
|
||||
import org.jetbrains.kotlin.fir.plugin.MyComposable
|
||||
import kotlin.reflect.*
|
||||
|
||||
abstract class MyClass: <!MIXING_SUSPEND_AND_NON_SUSPEND_SUPERTYPES!>KSuspendFunction0<Unit>, () -> Unit<!>
|
||||
abstract class OurClass: <!MIXING_FUNCTIONAL_KINDS_IN_SUPERTYPES!>@MyComposable (Int) -> Unit, () -> Unit<!>
|
||||
|
||||
abstract class YourClass: @MyComposable KFunction1<Boolean, Unit>, () -> Unit
|
||||
abstract class Their: <!MIXING_SUSPEND_AND_NON_SUSPEND_SUPERTYPES!>KSuspendFunction1<Boolean, Unit>, () -> Unit<!>
|
||||
+6
@@ -39,6 +39,12 @@ public class FirPsiPluginDiagnosticTestGenerated extends AbstractFirPsiPluginDia
|
||||
runTest("plugins/fir-plugin-prototype/testData/diagnostics/checkers/dependencyWithoutAttributePlugin.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("mixingComposableAndNormalFunctions.kt")
|
||||
public void testMixingComposableAndNormalFunctions() throws Exception {
|
||||
runTest("plugins/fir-plugin-prototype/testData/diagnostics/checkers/mixingComposableAndNormalFunctions.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("signedNumbersCheckers.kt")
|
||||
public void testSignedNumbersCheckers() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user