Ignore open modifier on top-level suspend function when generating light classes
#KT-21642: Fixed
This commit is contained in:
@@ -242,6 +242,7 @@ public class FunctionCodegen {
|
||||
functionDescriptor.isSuspend() &&
|
||||
functionDescriptor.getModality() != Modality.ABSTRACT && isOverridable(functionDescriptor) &&
|
||||
!isInterface(functionDescriptor.getContainingDeclaration()) &&
|
||||
!(functionDescriptor.getContainingDeclaration() instanceof PackageFragmentDescriptor) &&
|
||||
origin.getOriginKind() != JvmDeclarationOriginKind.CLASS_MEMBER_DELEGATION_TO_DEFAULT_IMPL;
|
||||
|
||||
if (isOpenSuspendInClass) {
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
<error descr="[WRONG_MODIFIER_TARGET] Modifier 'open' is not applicable to 'top level function'"><info descr="null">open</info></error> <warning descr="[EXPERIMENTAL_FEATURE_WARNING] The feature \"coroutines\" is experimental (see: https://kotlinlang.org/docs/diagnostics/experimental-coroutines)"><info descr="null">suspend</info></warning> fun <info descr="null">f</info>() {}
|
||||
+6
@@ -121,6 +121,12 @@ public class HighlightingTestGenerated extends AbstractHighlightingTest {
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("TopLevelOpenSuspendFun.kt")
|
||||
public void testTopLevelOpenSuspendFun() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/highlighter/TopLevelOpenSuspendFun.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("TypeAlias.kt")
|
||||
public void testTypeAlias() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/highlighter/TypeAlias.kt");
|
||||
|
||||
Reference in New Issue
Block a user