[FIR] KT-58623: Unify FirInlineDeclarationChecker

> Condition 'isSuspendFunctionType' is always false when reached

The change in the native tests is needed, because K2
doesn't support disabling old language features

^KT-58623 Fixed
This commit is contained in:
Nikolay Lunyak
2023-05-23 09:38:40 +03:00
committed by Space Team
parent 75c0304671
commit 83f2c2e1f0
15 changed files with 114 additions and 134 deletions
@@ -1,5 +1,5 @@
// IGNORE_BACKEND_K2: JVM_IR, JS_IR
// IGNORE_BACKEND_K2_MULTI_MODULE: JVM_IR JVM_IR_SERIALIZE
// IGNORE_BACKEND_K2: JVM_IR, JS_IR, NATIVE
// IGNORE_BACKEND_K2_MULTI_MODULE: JVM_IR JVM_IR_SERIALIZE NATIVE
// !LANGUAGE: -ProhibitSuperCallsFromPublicInline
// FILE: 1.kt
@@ -1,5 +1,5 @@
// IGNORE_BACKEND_K2: JVM_IR, JS_IR
// IGNORE_BACKEND_K2_MULTI_MODULE: JVM_IR JVM_IR_SERIALIZE
// IGNORE_BACKEND_K2: JVM_IR, JS_IR, NATIVE
// IGNORE_BACKEND_K2_MULTI_MODULE: JVM_IR JVM_IR_SERIALIZE NATIVE
// !LANGUAGE: -ProhibitSuperCallsFromPublicInline
// FILE: 1.kt
@@ -1,5 +1,5 @@
// IGNORE_BACKEND_K2: JVM_IR, JS_IR
// IGNORE_BACKEND_K2_MULTI_MODULE: JVM_IR JVM_IR_SERIALIZE
// IGNORE_BACKEND_K2: JVM_IR, JS_IR, NATIVE
// IGNORE_BACKEND_K2_MULTI_MODULE: JVM_IR JVM_IR_SERIALIZE NATIVE
// !LANGUAGE: -ProhibitSuperCallsFromPublicInline
// FILE: 1.kt
@@ -11,13 +11,13 @@ open class ProtectedInsideInlineError : ProtectedInsideInlineParent() {
protected var protectedVar = 0
protected fun protectedFun() = 0
inline fun publicInlineUserFun() {
<!UNRESOLVED_REFERENCE!>println<!>(protectedVar + protectedParentVar)
protectedFun()
protectedParentFun()
<!NOTHING_TO_INLINE!>inline<!> fun publicInlineUserFun() {
<!UNRESOLVED_REFERENCE!>println<!>(<!PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR!>protectedVar<!> + <!PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR!>protectedParentVar<!>)
<!PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR!>protectedFun<!>()
<!PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR!>protectedParentFun<!>()
}
inline var publicInlineUserVal: Int
get() = protectedVar + protectedFun() + protectedParentVar + protectedParentFun()
set(value) { protectedVar + protectedFun() + protectedParentVar + protectedParentFun() }
get() = <!PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR!>protectedVar<!> + <!PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR!>protectedFun<!>() + <!PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR!>protectedParentVar<!> + <!PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR!>protectedParentFun<!>()
set(value) { <!PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR!>protectedVar<!> + <!PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR!>protectedFun<!>() + <!PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR!>protectedParentVar<!> + <!PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR!>protectedParentFun<!>() }
}