Files
Stanislav Ruban 2de0e4b8d2 [FIR][checkers] Respect ClassKind.INTERFACE in FirRegularClass.canHaveAbstractDeclaration
A Kotlin interface can have abstract members regardless of its modality. However, this invariant was previously ignored by FIR checkers. As a result, false-positive `ABSTRACT_<MEMBER>_IN_NON_ABSTRACT_CLASS` errors were being reported in explicitly non-abstract interfaces.

This commit makes a relevant FIR utility used by relevant FIR checkers aware of the aforementioned invariant.

#KT-66260 Fixed
2024-03-04 12:00:18 +00:00

40 lines
1.2 KiB
Plaintext
Vendored

FILE: OpenInterface.kt
public open interface OpenInterface : R|kotlin/Any| {
public abstract fun defaultModalityFuncWithoutBody(): R|kotlin/Unit|
public open fun defaultModalityFuncWithBody(): R|kotlin/Unit| {
}
public abstract fun abstractFunc(): R|kotlin/Unit|
public open fun openFunc(): R|kotlin/Unit| {
}
public abstract val defaultModalityValWithoutGetter: R|kotlin/Any|
public get(): R|kotlin/Any|
public open val defaultModalityValWithGetter: R|kotlin/Any|
public get(): R|kotlin/Any| {
^ Int(42)
}
public abstract val abstractVal: R|kotlin/Any|
public get(): R|kotlin/Any|
public open val openVal: R|kotlin/Any|
public get(): R|kotlin/Any| {
^ Int(42)
}
public abstract val abstractValWithGetter: R|kotlin/Any|
public get(): R|kotlin/Any| {
^ Int(42)
}
public abstract var abstractValWithSetter: R|kotlin/Any|
public get(): R|kotlin/Any|
public set(value: R|kotlin/Any|): R|kotlin/Unit| {
}
}