Add language feature for suspend functions in fun interfaces
Since in 1.5 JVM_IR is enabled by default and supports suspend functions in fun interfaces, it is safe to enable the feature by default as well.
This commit is contained in:
+5
-1
@@ -6,6 +6,7 @@
|
||||
package org.jetbrains.kotlin.resolve.checkers
|
||||
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.kotlin.config.LanguageFeature
|
||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
||||
@@ -60,7 +61,10 @@ class FunInterfaceDeclarationChecker : DeclarationChecker {
|
||||
) {
|
||||
val ktFunction = abstractMember.source.getPsi() as? KtNamedFunction
|
||||
|
||||
if (abstractMember.isSuspend) {
|
||||
if (abstractMember.isSuspend &&
|
||||
!(context.languageVersionSettings.supportsFeature(LanguageFeature.SuspendFunctionsInFunInterfaces) &&
|
||||
context.languageVersionSettings.supportsFeature(LanguageFeature.JvmIrEnabledByDefault))
|
||||
) {
|
||||
val reportOn = ktFunction?.modifierList?.getModifier(KtTokens.SUSPEND_KEYWORD) ?: funInterfaceKeyword
|
||||
context.trace.report(Errors.FUN_INTERFACE_WITH_SUSPEND_FUNCTION.on(reportOn))
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user