Box inline class return value in covariant override of suspend fun
This commit is contained in:
@@ -88,7 +88,7 @@ class KotlinTypeMapper @JvmOverloads constructor(
|
||||
private val isIrBackend: Boolean = false,
|
||||
private val typePreprocessor: ((KotlinType) -> KotlinType?)? = null,
|
||||
private val namePreprocessor: ((ClassDescriptor) -> String?)? = null
|
||||
): KotlinTypeMapperBase() {
|
||||
) : KotlinTypeMapperBase() {
|
||||
private val isReleaseCoroutines = languageVersionSettings.supportsFeature(LanguageFeature.ReleaseCoroutines)
|
||||
|
||||
private val typeMappingConfiguration = object : TypeMappingConfiguration<Type> {
|
||||
@@ -269,10 +269,6 @@ class KotlinTypeMapper @JvmOverloads constructor(
|
||||
}
|
||||
}
|
||||
|
||||
private fun mapInlineClassType(kotlinType: KotlinType): Type {
|
||||
return mapInlineClassType(kotlinType, TypeMappingMode.DEFAULT, typeMappingConfiguration)
|
||||
}
|
||||
|
||||
private fun writeGenericType(
|
||||
type: KotlinType,
|
||||
asmType: Type,
|
||||
@@ -367,14 +363,37 @@ class KotlinTypeMapper @JvmOverloads constructor(
|
||||
?: functionDescriptor.returnType!!
|
||||
|
||||
private fun getActualReturnTypeForSuspendFunctionWithInlineClassReturnTypeHack(functionDescriptor: FunctionDescriptor): KotlinType? {
|
||||
val originalSuspendFunctionForJvmView = functionDescriptor.unwrapInitialDescriptorForSuspendFunction()
|
||||
if (originalSuspendFunctionForJvmView === functionDescriptor) return null
|
||||
val originalReturnType = originalSuspendFunctionForJvmView.returnType!!
|
||||
// For each suspend function, we have a corresponding JVM view function that has an extra continuation parameter,
|
||||
// and, more importantly, returns 'kotlin.Any' (so that it can return as a reference value or a special COROUTINE_SUSPENDED object).
|
||||
// This also causes boxing of primitives and inline class values.
|
||||
// If we have a function returning an inline class value that is mapped to a reference type, we want to avoid boxing.
|
||||
// However, we have to do that consistently both on declaration site and on call site in case of covariant overrides.
|
||||
|
||||
if (!functionDescriptor.isSuspend) return null
|
||||
|
||||
val originalSuspendFunction = functionDescriptor.unwrapInitialDescriptorForSuspendFunction()
|
||||
val originalReturnType = originalSuspendFunction.returnType!!
|
||||
if (!originalReturnType.isInlineClassType()) return null
|
||||
val jvmReturnType = mapType(originalReturnType)
|
||||
return if (AsmUtil.isPrimitive(jvmReturnType)) null else originalReturnType
|
||||
|
||||
if (!originalReturnType.isInlineClassTypeSafeToKeepUnboxedOnSuspendFunReturn()) {
|
||||
return originalSuspendFunction.module.builtIns.nullableAnyType
|
||||
}
|
||||
|
||||
// NB JVM view of a Kotlin function overrides JVM views of corresponding overridden functions
|
||||
val originalOverridden = getAllOverriddenDeclarations(functionDescriptor).map {
|
||||
it.unwrapInitialDescriptorForSuspendFunction().original
|
||||
}
|
||||
if (originalOverridden.any { !it.returnType!!.isInlineClassTypeSafeToKeepUnboxedOnSuspendFunReturn() }) {
|
||||
return originalSuspendFunction.module.builtIns.nullableAnyType
|
||||
}
|
||||
|
||||
return originalReturnType
|
||||
}
|
||||
|
||||
private fun KotlinType.isInlineClassTypeSafeToKeepUnboxedOnSuspendFunReturn(): Boolean =
|
||||
isInlineClassType() && !AsmUtil.isPrimitive(mapType(this)) && (!isMarkedNullable || !isNullableUnderlyingType())
|
||||
|
||||
|
||||
@JvmOverloads
|
||||
fun mapToCallableMethod(
|
||||
descriptor: FunctionDescriptor,
|
||||
@@ -806,13 +825,13 @@ class KotlinTypeMapper @JvmOverloads constructor(
|
||||
}
|
||||
} else {
|
||||
val directMember = DescriptorUtils.getDirectMember(f)
|
||||
val thisIfNeeded: KotlinType? = when {
|
||||
kind == OwnerKind.DEFAULT_IMPLS -> {
|
||||
val thisIfNeeded: KotlinType? = when (kind) {
|
||||
OwnerKind.DEFAULT_IMPLS -> {
|
||||
val receiverTypeAndTypeParameters = patchTypeParametersForDefaultImplMethod(directMember)
|
||||
writeFormalTypeParameters(receiverTypeAndTypeParameters.typeParameters + directMember.typeParameters, sw)
|
||||
receiverTypeAndTypeParameters.receiverType
|
||||
}
|
||||
kind == OwnerKind.ERASED_INLINE_CLASS -> {
|
||||
OwnerKind.ERASED_INLINE_CLASS -> {
|
||||
writeFormalTypeParameters(directMember.typeParameters, sw)
|
||||
(directMember.containingDeclaration as ClassDescriptor).defaultType
|
||||
}
|
||||
|
||||
Generated
+115
@@ -7161,10 +7161,125 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/bridgeGenerationNonInline.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFun.kt")
|
||||
public void testCovariantOverrideSuspendFun() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFun.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_Any.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_Any() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_Any.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_Int.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_Int() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_Int.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_NullableAny.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_NullableAny() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_NullableAny.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_NullableAny_null.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_NullableAny_null() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_NullableAny_null.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_NullableInt.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_NullableInt() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_NullableInt.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_NullableInt_null.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_NullableInt_null() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_NullableInt_null.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFun_Any.kt")
|
||||
public void testCovariantOverrideSuspendFun_Any() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFun_Any.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFun_Int.kt")
|
||||
public void testCovariantOverrideSuspendFun_Int() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFun_Int.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun.kt")
|
||||
public void testGenericOverrideSuspendFun() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_Any.kt")
|
||||
public void testGenericOverrideSuspendFun_Any() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_Any.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_Any_NullableInlineClassUpperBound.kt")
|
||||
public void testGenericOverrideSuspendFun_Any_NullableInlineClassUpperBound() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_Any_NullableInlineClassUpperBound.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_Int.kt")
|
||||
public void testGenericOverrideSuspendFun_Int() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_Int.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_NullableAny.kt")
|
||||
public void testGenericOverrideSuspendFun_NullableAny() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_NullableAny.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_NullableAny_null.kt")
|
||||
public void testGenericOverrideSuspendFun_NullableAny_null() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_NullableAny_null.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_NullableInt.kt")
|
||||
public void testGenericOverrideSuspendFun_NullableInt() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_NullableInt.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_NullableInt_null.kt")
|
||||
public void testGenericOverrideSuspendFun_NullableInt_null() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_NullableInt_null.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("interfaceDelegateWithInlineClass.kt")
|
||||
public void testInterfaceDelegateWithInlineClass_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/interfaceDelegateWithInlineClass.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun.kt")
|
||||
public void testOverrideSuspendFun_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Any.kt")
|
||||
public void testOverrideSuspendFun_Any_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Any.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Any_itf.kt")
|
||||
public void testOverrideSuspendFun_Any_itf_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Any_itf.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Any_this.kt")
|
||||
public void testOverrideSuspendFun_Any_this_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Any_this.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Int.kt")
|
||||
public void testOverrideSuspendFun_Int_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Int.kt", "kotlin.coroutines");
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/codegen/box/coroutines/intLikeVarSpilling")
|
||||
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// WITH_RUNTIME
|
||||
// WITH_COROUTINES
|
||||
|
||||
import helpers.*
|
||||
import kotlin.coroutines.*
|
||||
|
||||
fun builder(c: suspend () -> Unit) {
|
||||
c.startCoroutine(EmptyContinuation)
|
||||
}
|
||||
|
||||
@Suppress("UNSUPPORTED_FEATURE")
|
||||
inline class IC(val s: String)
|
||||
|
||||
interface IBar {
|
||||
suspend fun bar(): Any
|
||||
}
|
||||
|
||||
class Test() : IBar {
|
||||
|
||||
override suspend fun bar(): IC = IC("OK")
|
||||
|
||||
suspend fun test1(): String {
|
||||
val b: IBar = this
|
||||
return (b.bar() as IC).s
|
||||
}
|
||||
|
||||
suspend fun test2(): String = bar().s
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
var result = "FAIL 1"
|
||||
builder {
|
||||
result = Test().test1()
|
||||
}
|
||||
if (result != "OK") return "FAIL 1 $result"
|
||||
|
||||
result = "FAIL2 "
|
||||
builder {
|
||||
result = Test().test2()
|
||||
}
|
||||
if (result != "OK") return "FAIL 2 $result"
|
||||
|
||||
return result
|
||||
}
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// WITH_RUNTIME
|
||||
// WITH_COROUTINES
|
||||
|
||||
import helpers.*
|
||||
import kotlin.coroutines.*
|
||||
|
||||
fun builder(c: suspend () -> Unit) {
|
||||
c.startCoroutine(EmptyContinuation)
|
||||
}
|
||||
|
||||
@Suppress("UNSUPPORTED_FEATURE")
|
||||
inline class IC(val s: String)
|
||||
|
||||
interface IBar {
|
||||
suspend fun bar(): IC?
|
||||
}
|
||||
|
||||
class Test() : IBar {
|
||||
|
||||
override suspend fun bar(): IC = IC("OK")
|
||||
|
||||
suspend fun test1(): String {
|
||||
val b: IBar = this
|
||||
return b.bar()!!.s
|
||||
}
|
||||
|
||||
suspend fun test2(): String {
|
||||
return bar().s
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
var result = "FAIL"
|
||||
builder {
|
||||
result = Test().test1()
|
||||
}
|
||||
if (result != "OK") return "FAIL 1 $result"
|
||||
|
||||
result = "FAIL2"
|
||||
builder {
|
||||
result = Test().test2()
|
||||
}
|
||||
if (result != "OK") return "FAIL 2 $result"
|
||||
|
||||
return result
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// WITH_RUNTIME
|
||||
// WITH_COROUTINES
|
||||
|
||||
import helpers.*
|
||||
import kotlin.coroutines.*
|
||||
|
||||
fun builder(c: suspend () -> Unit) {
|
||||
c.startCoroutine(EmptyContinuation)
|
||||
}
|
||||
|
||||
@Suppress("UNSUPPORTED_FEATURE")
|
||||
inline class IC(val s: Any)
|
||||
|
||||
interface IBar {
|
||||
suspend fun bar(): IC?
|
||||
}
|
||||
|
||||
class Test() : IBar {
|
||||
override suspend fun bar(): IC = IC("OK")
|
||||
|
||||
suspend fun test1(): String {
|
||||
val b: IBar = this
|
||||
return b.bar()!!.s as String
|
||||
}
|
||||
|
||||
suspend fun test2(): String {
|
||||
return bar()!!.s as String
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
var result = "FAIL"
|
||||
builder {
|
||||
result = Test().test1()
|
||||
}
|
||||
if (result != "OK") return "FAIL 1 $result"
|
||||
|
||||
result = "FAIL2"
|
||||
builder {
|
||||
result = Test().test2()
|
||||
}
|
||||
if (result != "OK") return "FAIL 2 $result"
|
||||
|
||||
return result
|
||||
}
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// WITH_RUNTIME
|
||||
// WITH_COROUTINES
|
||||
|
||||
import helpers.*
|
||||
import kotlin.coroutines.*
|
||||
|
||||
fun builder(c: suspend () -> Unit) {
|
||||
c.startCoroutine(EmptyContinuation)
|
||||
}
|
||||
|
||||
@Suppress("UNSUPPORTED_FEATURE")
|
||||
inline class IC(val s: Int)
|
||||
|
||||
interface IBar {
|
||||
suspend fun bar(): IC?
|
||||
}
|
||||
|
||||
fun Int.toResultString() =
|
||||
if (this == 42) "OK" else "!!! $this"
|
||||
|
||||
class Test() : IBar {
|
||||
override suspend fun bar(): IC = IC(42)
|
||||
|
||||
suspend fun test1(): String {
|
||||
val b: IBar = this
|
||||
return b.bar()!!.s.toResultString()
|
||||
}
|
||||
|
||||
suspend fun test2(): String {
|
||||
return bar()!!.s.toResultString()
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
var result = "FAIL"
|
||||
builder {
|
||||
result = Test().test1()
|
||||
}
|
||||
if (result != "OK") return "FAIL 1 $result"
|
||||
|
||||
result = "FAIL2"
|
||||
builder {
|
||||
result = Test().test2()
|
||||
}
|
||||
if (result != "OK") return "FAIL 2 $result"
|
||||
|
||||
return result
|
||||
}
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// WITH_RUNTIME
|
||||
// WITH_COROUTINES
|
||||
|
||||
import helpers.*
|
||||
import kotlin.coroutines.*
|
||||
|
||||
fun builder(c: suspend () -> Unit) {
|
||||
c.startCoroutine(EmptyContinuation)
|
||||
}
|
||||
|
||||
@Suppress("UNSUPPORTED_FEATURE")
|
||||
inline class IC(val s: Any?)
|
||||
|
||||
interface IBar {
|
||||
suspend fun bar(): IC?
|
||||
}
|
||||
|
||||
class Test() : IBar {
|
||||
override suspend fun bar(): IC = IC("OK")
|
||||
|
||||
suspend fun test1(): String {
|
||||
val b: IBar = this
|
||||
return b.bar()!!.s as String
|
||||
}
|
||||
|
||||
suspend fun test2(): String = bar().s as String
|
||||
}
|
||||
|
||||
|
||||
fun box(): String {
|
||||
var result = "FAIL"
|
||||
builder {
|
||||
result = Test().test1()
|
||||
}
|
||||
if (result != "OK") return "FAIL 1 $result"
|
||||
|
||||
result = "FAIL2"
|
||||
builder {
|
||||
result = Test().test2()
|
||||
}
|
||||
if (result != "OK") return "FAIL 2 $result"
|
||||
|
||||
return result
|
||||
}
|
||||
+56
@@ -0,0 +1,56 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// WITH_RUNTIME
|
||||
// WITH_COROUTINES
|
||||
|
||||
import helpers.*
|
||||
import kotlin.coroutines.*
|
||||
|
||||
fun builder(c: suspend () -> Unit) {
|
||||
c.startCoroutine(EmptyContinuation)
|
||||
}
|
||||
|
||||
@Suppress("UNSUPPORTED_FEATURE")
|
||||
inline class IC(val s: Any?)
|
||||
|
||||
interface IBar {
|
||||
suspend fun bar(): IC?
|
||||
}
|
||||
|
||||
class Test1() : IBar {
|
||||
override suspend fun bar(): IC {
|
||||
return IC(null)
|
||||
}
|
||||
|
||||
suspend fun test(): Any? {
|
||||
val b: IBar = this
|
||||
return b.bar()!!.s
|
||||
}
|
||||
}
|
||||
|
||||
class Test2() : IBar {
|
||||
override suspend fun bar(): IC {
|
||||
return IC(null)
|
||||
}
|
||||
|
||||
suspend fun test(): IC {
|
||||
val b: IBar = this
|
||||
return b.bar()!!
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fun box(): String {
|
||||
var result: Any? = "FAIL 1"
|
||||
builder {
|
||||
result = Test1().test()
|
||||
}
|
||||
if (result != null) return "FAIL 1 $result"
|
||||
|
||||
result = "FAIL 2"
|
||||
builder {
|
||||
result = Test2().test()
|
||||
}
|
||||
if (result != IC(null)) return "FAIL 2 $result"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// WITH_RUNTIME
|
||||
// WITH_COROUTINES
|
||||
|
||||
import helpers.*
|
||||
import kotlin.coroutines.*
|
||||
|
||||
fun builder(c: suspend () -> Unit) {
|
||||
c.startCoroutine(EmptyContinuation)
|
||||
}
|
||||
|
||||
@Suppress("UNSUPPORTED_FEATURE")
|
||||
inline class IC(val s: Int?)
|
||||
|
||||
interface IBar {
|
||||
suspend fun bar(): IC?
|
||||
}
|
||||
|
||||
fun Int?.toResultString() =
|
||||
if (this == 42) "OK" else "!!! $this"
|
||||
|
||||
class Test() : IBar {
|
||||
override suspend fun bar(): IC = IC(42)
|
||||
|
||||
suspend fun test1(): String {
|
||||
val b: IBar = this
|
||||
return b.bar()!!.s.toResultString()
|
||||
}
|
||||
|
||||
suspend fun test2(): String {
|
||||
return bar()!!.s.toResultString()
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
var result = "FAIL"
|
||||
builder {
|
||||
result = Test().test1()
|
||||
}
|
||||
if (result != "OK") return "FAIL 1 $result"
|
||||
|
||||
result = "FAIL2"
|
||||
builder {
|
||||
result = Test().test2()
|
||||
}
|
||||
if (result != "OK") return "FAIL 2 $result"
|
||||
|
||||
return result
|
||||
}
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// WITH_RUNTIME
|
||||
// WITH_COROUTINES
|
||||
|
||||
import helpers.*
|
||||
import kotlin.coroutines.*
|
||||
|
||||
fun builder(c: suspend () -> Unit) {
|
||||
c.startCoroutine(EmptyContinuation)
|
||||
}
|
||||
|
||||
@Suppress("UNSUPPORTED_FEATURE")
|
||||
inline class IC(val s: Int?)
|
||||
|
||||
interface IBar {
|
||||
suspend fun bar(): IC?
|
||||
}
|
||||
|
||||
fun Int?.toResultString() =
|
||||
if (this == null) "OK" else "!!! $this"
|
||||
|
||||
class Test() : IBar {
|
||||
override suspend fun bar(): IC = IC(null)
|
||||
|
||||
suspend fun test1(): String {
|
||||
val b: IBar = this
|
||||
return b.bar()!!.s.toResultString()
|
||||
}
|
||||
|
||||
suspend fun test2(): String {
|
||||
return bar()!!.s.toResultString()
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
var result = "FAIL"
|
||||
builder {
|
||||
result = Test().test1()
|
||||
}
|
||||
if (result != "OK") return "FAIL 1 $result"
|
||||
|
||||
result = "FAIL2"
|
||||
builder {
|
||||
result = Test().test2()
|
||||
}
|
||||
if (result != "OK") return "FAIL 2 $result"
|
||||
|
||||
return result
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// WITH_RUNTIME
|
||||
// WITH_COROUTINES
|
||||
|
||||
import helpers.*
|
||||
import kotlin.coroutines.*
|
||||
|
||||
fun builder(c: suspend () -> Unit) {
|
||||
c.startCoroutine(EmptyContinuation)
|
||||
}
|
||||
|
||||
@Suppress("UNSUPPORTED_FEATURE")
|
||||
inline class IC(val s: Any)
|
||||
|
||||
interface IBar {
|
||||
suspend fun bar(): Any
|
||||
}
|
||||
|
||||
class Test() : IBar {
|
||||
|
||||
override suspend fun bar(): IC = IC("OK")
|
||||
|
||||
suspend fun test1(): String {
|
||||
val b: IBar = this
|
||||
return (b.bar() as IC).s as String
|
||||
}
|
||||
|
||||
suspend fun test2(): String = bar().s as String
|
||||
}
|
||||
|
||||
|
||||
fun box(): String {
|
||||
var result = "FAIL 1"
|
||||
builder {
|
||||
result = Test().test1()
|
||||
}
|
||||
if (result != "OK") return "FAIL 1 $result"
|
||||
|
||||
result = "FAIL2 "
|
||||
builder {
|
||||
result = Test().test2()
|
||||
}
|
||||
if (result != "OK") return "FAIL 2 $result"
|
||||
|
||||
return result
|
||||
}
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// WITH_RUNTIME
|
||||
// WITH_COROUTINES
|
||||
|
||||
import helpers.*
|
||||
import kotlin.coroutines.*
|
||||
|
||||
fun builder(c: suspend () -> Unit) {
|
||||
c.startCoroutine(EmptyContinuation)
|
||||
}
|
||||
|
||||
@Suppress("UNSUPPORTED_FEATURE")
|
||||
inline class IC(val s: Int)
|
||||
|
||||
interface IBar {
|
||||
suspend fun bar(): Any
|
||||
}
|
||||
|
||||
class Test() : IBar {
|
||||
override suspend fun bar(): IC = IC(42)
|
||||
|
||||
suspend fun test1(): Int {
|
||||
val b: IBar = this
|
||||
return (b.bar() as IC).s
|
||||
}
|
||||
|
||||
suspend fun test2(): Int {
|
||||
val b: IBar = this
|
||||
return (b.bar() as IC).s
|
||||
}
|
||||
}
|
||||
|
||||
fun Int.toBoxResult() =
|
||||
if (this == 42) "OK" else toString()
|
||||
|
||||
fun box(): String {
|
||||
var result: String = "FAIL"
|
||||
builder {
|
||||
result = Test().test1().toBoxResult()
|
||||
}
|
||||
if (result != "OK") return "FAIL 1 $result"
|
||||
|
||||
result = "FAIL2"
|
||||
builder {
|
||||
result = Test().test2().toBoxResult()
|
||||
}
|
||||
if (result != "OK") return "FAIL 2 $result"
|
||||
|
||||
return result as String
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// WITH_RUNTIME
|
||||
// WITH_COROUTINES
|
||||
|
||||
import helpers.*
|
||||
import kotlin.coroutines.*
|
||||
|
||||
inline class IC(val s: String)
|
||||
|
||||
interface Base<T> {
|
||||
suspend fun generic(): T
|
||||
}
|
||||
|
||||
class Derived : Base<IC> {
|
||||
override suspend fun generic(): IC = suspendCoroutine { it.resume(IC("OK")) }
|
||||
}
|
||||
|
||||
fun builder(c: suspend () -> Unit) {
|
||||
c.startCoroutine(EmptyContinuation)
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
var res: String? = null
|
||||
builder {
|
||||
val base: Base<*> = Derived()
|
||||
res = (base.generic() as IC).s
|
||||
}
|
||||
return res!!
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// WITH_RUNTIME
|
||||
// WITH_COROUTINES
|
||||
|
||||
import helpers.*
|
||||
import kotlin.coroutines.*
|
||||
|
||||
inline class IC(val s: Any)
|
||||
|
||||
interface Base<T> {
|
||||
suspend fun generic(): T
|
||||
}
|
||||
|
||||
class Derived : Base<IC> {
|
||||
override suspend fun generic(): IC = suspendCoroutine { it.resume(IC("OK")) }
|
||||
}
|
||||
|
||||
fun builder(c: suspend () -> Unit) {
|
||||
c.startCoroutine(EmptyContinuation)
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
var res: String? = null
|
||||
builder {
|
||||
val base: Base<*> = Derived()
|
||||
res = (base.generic() as IC).s as String
|
||||
}
|
||||
return res!!
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// WITH_RUNTIME
|
||||
// WITH_COROUTINES
|
||||
|
||||
import helpers.*
|
||||
import kotlin.coroutines.*
|
||||
|
||||
inline class IC(val s: Any)
|
||||
|
||||
interface Base<T : IC?> {
|
||||
suspend fun generic(): T
|
||||
}
|
||||
|
||||
class Derived : Base<IC> {
|
||||
override suspend fun generic(): IC = suspendCoroutine { it.resume(IC("OK")) }
|
||||
}
|
||||
|
||||
fun builder(c: suspend () -> Unit) {
|
||||
c.startCoroutine(EmptyContinuation)
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
var res: String? = null
|
||||
builder {
|
||||
val base: Base<*> = Derived()
|
||||
res = base.generic()!!.s as String
|
||||
}
|
||||
return res!!
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// WITH_RUNTIME
|
||||
// WITH_COROUTINES
|
||||
|
||||
import helpers.*
|
||||
import kotlin.coroutines.*
|
||||
|
||||
inline class IC(val s: Int)
|
||||
|
||||
fun Int.toResultString() =
|
||||
if (this == 42) "OK" else "!! $this"
|
||||
|
||||
interface Base<T> {
|
||||
suspend fun generic(): T
|
||||
}
|
||||
|
||||
class Derived : Base<IC> {
|
||||
override suspend fun generic(): IC = suspendCoroutine { it.resume(IC(42)) }
|
||||
}
|
||||
|
||||
fun builder(c: suspend () -> Unit) {
|
||||
c.startCoroutine(EmptyContinuation)
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
var res: String? = null
|
||||
builder {
|
||||
val base: Base<*> = Derived()
|
||||
res = (base.generic() as IC).s.toResultString()
|
||||
}
|
||||
return res!!
|
||||
}
|
||||
Vendored
+29
@@ -0,0 +1,29 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// WITH_RUNTIME
|
||||
// WITH_COROUTINES
|
||||
|
||||
import helpers.*
|
||||
import kotlin.coroutines.*
|
||||
|
||||
inline class IC(val s: Any?)
|
||||
|
||||
interface Base<T> {
|
||||
suspend fun generic(): T
|
||||
}
|
||||
|
||||
class Derived : Base<IC> {
|
||||
override suspend fun generic(): IC = suspendCoroutine { it.resume(IC("OK")) }
|
||||
}
|
||||
|
||||
fun builder(c: suspend () -> Unit) {
|
||||
c.startCoroutine(EmptyContinuation)
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
var res: String? = null
|
||||
builder {
|
||||
val base: Base<*> = Derived()
|
||||
res = (base.generic() as IC).s as String
|
||||
}
|
||||
return res!!
|
||||
}
|
||||
compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_NullableAny_null.kt
Vendored
+32
@@ -0,0 +1,32 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// WITH_RUNTIME
|
||||
// WITH_COROUTINES
|
||||
|
||||
import helpers.*
|
||||
import kotlin.coroutines.*
|
||||
|
||||
inline class IC(val s: Any?)
|
||||
|
||||
interface Base<T> {
|
||||
suspend fun generic(): T
|
||||
}
|
||||
|
||||
class Derived : Base<IC> {
|
||||
override suspend fun generic(): IC = suspendCoroutine { it.resume(IC(null)) }
|
||||
}
|
||||
|
||||
fun Any?.toResultString(): String =
|
||||
if (this == null) "OK" else "!! $this"
|
||||
|
||||
fun builder(c: suspend () -> Unit) {
|
||||
c.startCoroutine(EmptyContinuation)
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
var res: String? = null
|
||||
builder {
|
||||
val base: Base<*> = Derived()
|
||||
res = (base.generic() as IC).s.toResultString()
|
||||
}
|
||||
return res!!
|
||||
}
|
||||
Vendored
+32
@@ -0,0 +1,32 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// WITH_RUNTIME
|
||||
// WITH_COROUTINES
|
||||
|
||||
import helpers.*
|
||||
import kotlin.coroutines.*
|
||||
|
||||
inline class IC(val s: Int?)
|
||||
|
||||
fun Int?.toResultString() =
|
||||
if (this == 42) "OK" else "!! $this"
|
||||
|
||||
interface Base<T> {
|
||||
suspend fun generic(): T
|
||||
}
|
||||
|
||||
class Derived : Base<IC> {
|
||||
override suspend fun generic(): IC = suspendCoroutine { it.resume(IC(42)) }
|
||||
}
|
||||
|
||||
fun builder(c: suspend () -> Unit) {
|
||||
c.startCoroutine(EmptyContinuation)
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
var res: String? = null
|
||||
builder {
|
||||
val base: Base<*> = Derived()
|
||||
res = (base.generic() as IC).s.toResultString()
|
||||
}
|
||||
return res!!
|
||||
}
|
||||
compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_NullableInt_null.kt
Vendored
+32
@@ -0,0 +1,32 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// WITH_RUNTIME
|
||||
// WITH_COROUTINES
|
||||
|
||||
import helpers.*
|
||||
import kotlin.coroutines.*
|
||||
|
||||
inline class IC(val s: Int?)
|
||||
|
||||
fun Int?.toResultString() =
|
||||
if (this == null) "OK" else "!! $this"
|
||||
|
||||
interface Base<T> {
|
||||
suspend fun generic(): T
|
||||
}
|
||||
|
||||
class Derived : Base<IC> {
|
||||
override suspend fun generic(): IC = suspendCoroutine { it.resume(IC(null)) }
|
||||
}
|
||||
|
||||
fun builder(c: suspend () -> Unit) {
|
||||
c.startCoroutine(EmptyContinuation)
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
var res: String? = null
|
||||
builder {
|
||||
val base: Base<*> = Derived()
|
||||
res = (base.generic() as IC).s.toResultString()
|
||||
}
|
||||
return res!!
|
||||
}
|
||||
+110
@@ -0,0 +1,110 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// WITH_RUNTIME
|
||||
// WITH_COROUTINES
|
||||
// COMMON_COROUTINES_TEST
|
||||
|
||||
import helpers.*
|
||||
import COROUTINES_PACKAGE.*
|
||||
import COROUTINES_PACKAGE.intrinsics.*
|
||||
|
||||
fun builder(c: suspend () -> Unit) {
|
||||
c.startCoroutine(EmptyContinuation)
|
||||
}
|
||||
|
||||
@Suppress("UNSUPPORTED_FEATURE")
|
||||
inline class IC(val s: String)
|
||||
|
||||
interface IBar {
|
||||
suspend fun bar(): IC
|
||||
}
|
||||
|
||||
class Test1() : IBar {
|
||||
|
||||
suspend fun <T> foo(value: T): T {
|
||||
return suspendCoroutineUninterceptedOrReturn {
|
||||
it.resume(value)
|
||||
COROUTINE_SUSPENDED
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun qux(ss: IC): IC = IC(ss.s)
|
||||
|
||||
suspend fun <T> quz(t: T): T = t
|
||||
|
||||
override suspend fun bar(): IC {
|
||||
return foo(qux(quz(IC("OK"))))
|
||||
}
|
||||
|
||||
suspend fun test(): String {
|
||||
val b: IBar = this
|
||||
return b.bar().s
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class Test2 : IBar {
|
||||
|
||||
suspend fun foo(value: IC): IC {
|
||||
return suspendCoroutineUninterceptedOrReturn {
|
||||
it.resume(value)
|
||||
COROUTINE_SUSPENDED
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun qux(s: String): IC = IC(s)
|
||||
|
||||
suspend fun quz(): String = "OK"
|
||||
|
||||
override suspend fun bar(): IC {
|
||||
return foo(qux(quz()))
|
||||
}
|
||||
|
||||
suspend fun test(): String {
|
||||
val b: IBar = this
|
||||
return b.bar().s
|
||||
}
|
||||
}
|
||||
|
||||
class Test3 : IBar {
|
||||
suspend fun <T> foo(value: T): T {
|
||||
return suspendCoroutineUninterceptedOrReturn {
|
||||
it.resume(value)
|
||||
COROUTINE_SUSPENDED
|
||||
}
|
||||
}
|
||||
|
||||
override suspend fun bar(): IC {
|
||||
return foo(IC("OK"))
|
||||
}
|
||||
|
||||
suspend fun test(): String {
|
||||
val b: IBar = this
|
||||
return b.bar().s
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
|
||||
var result = "FAIL"
|
||||
builder {
|
||||
result = Test1().test()
|
||||
}
|
||||
|
||||
if (result != "OK") return "FAIL 1 $result"
|
||||
|
||||
result = "FAIL2"
|
||||
|
||||
builder {
|
||||
result = Test2().test()
|
||||
}
|
||||
|
||||
if (result != "OK") return "FAIL 2 $result"
|
||||
|
||||
result = "FAIL 3"
|
||||
|
||||
builder {
|
||||
result = Test3().test()
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
+104
@@ -0,0 +1,104 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// WITH_RUNTIME
|
||||
// WITH_COROUTINES
|
||||
// COMMON_COROUTINES_TEST
|
||||
|
||||
import helpers.*
|
||||
import COROUTINES_PACKAGE.*
|
||||
import COROUTINES_PACKAGE.intrinsics.*
|
||||
|
||||
fun builder(c: suspend () -> Unit) {
|
||||
c.startCoroutine(EmptyContinuation)
|
||||
}
|
||||
|
||||
@Suppress("UNSUPPORTED_FEATURE")
|
||||
inline class IC(val s: Any)
|
||||
|
||||
interface IBar {
|
||||
suspend fun bar(): IC
|
||||
}
|
||||
|
||||
class Test1() : IBar {
|
||||
|
||||
suspend fun <T> foo(value: T): T {
|
||||
return suspendCoroutineUninterceptedOrReturn {
|
||||
it.resume(value)
|
||||
COROUTINE_SUSPENDED
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun qux(ss: IC): IC = IC(ss.s)
|
||||
|
||||
suspend fun <T> quz(t: T): T = t
|
||||
|
||||
override suspend fun bar(): IC {
|
||||
return foo(qux(quz(IC("OK"))))
|
||||
}
|
||||
|
||||
suspend fun test(): Any {
|
||||
val b: IBar = this
|
||||
return b.bar().s
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class Test2 : IBar {
|
||||
|
||||
suspend fun foo(value: IC): IC {
|
||||
return suspendCoroutineUninterceptedOrReturn {
|
||||
it.resume(value)
|
||||
COROUTINE_SUSPENDED
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun qux(s: String): IC = IC(s)
|
||||
|
||||
suspend fun quz(): String = "OK"
|
||||
|
||||
override suspend fun bar(): IC {
|
||||
return foo(qux(quz()))
|
||||
}
|
||||
|
||||
suspend fun test(): Any {
|
||||
val b: IBar = this
|
||||
return b.bar().s
|
||||
}
|
||||
}
|
||||
|
||||
class Test3 : IBar {
|
||||
suspend fun <T> foo(value: T): T {
|
||||
return suspendCoroutineUninterceptedOrReturn {
|
||||
it.resume(value)
|
||||
COROUTINE_SUSPENDED
|
||||
}
|
||||
}
|
||||
|
||||
override suspend fun bar(): IC {
|
||||
return foo(IC("OK"))
|
||||
}
|
||||
|
||||
suspend fun test(): Any {
|
||||
val b: IBar = this
|
||||
return b.bar().s
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
var result: Any = "FAIL1"
|
||||
builder {
|
||||
result = Test1().test()
|
||||
}
|
||||
if (result != "OK") return "FAIL 1 $result"
|
||||
|
||||
result = "FAIL2"
|
||||
builder {
|
||||
result = Test2().test()
|
||||
}
|
||||
if (result != "OK") return "FAIL 2 $result"
|
||||
|
||||
result = "FAIL 3"
|
||||
builder {
|
||||
result = Test3().test()
|
||||
}
|
||||
return result as String
|
||||
}
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// WITH_RUNTIME
|
||||
// WITH_COROUTINES
|
||||
// COMMON_COROUTINES_TEST
|
||||
|
||||
import helpers.*
|
||||
import COROUTINES_PACKAGE.*
|
||||
import COROUTINES_PACKAGE.intrinsics.*
|
||||
|
||||
fun builder(c: suspend () -> Unit) {
|
||||
c.startCoroutine(EmptyContinuation)
|
||||
}
|
||||
|
||||
@Suppress("UNSUPPORTED_FEATURE")
|
||||
inline class IC(val s: Any)
|
||||
|
||||
interface IBar {
|
||||
suspend fun bar(): IC
|
||||
}
|
||||
|
||||
class Test0() : IBar {
|
||||
override suspend fun bar(): IC = IC("OK")
|
||||
|
||||
suspend fun test(): Any {
|
||||
val b: IBar = this
|
||||
return b.bar().s
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
var result: Any = "FAIL"
|
||||
builder {
|
||||
result = Test0().test()
|
||||
}
|
||||
if (result != "OK") return "FAIL 0 $result"
|
||||
|
||||
return result as String
|
||||
}
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// WITH_RUNTIME
|
||||
// WITH_COROUTINES
|
||||
// COMMON_COROUTINES_TEST
|
||||
|
||||
import helpers.*
|
||||
import COROUTINES_PACKAGE.*
|
||||
import COROUTINES_PACKAGE.intrinsics.*
|
||||
|
||||
fun builder(c: suspend () -> Unit) {
|
||||
c.startCoroutine(EmptyContinuation)
|
||||
}
|
||||
|
||||
@Suppress("UNSUPPORTED_FEATURE")
|
||||
inline class IC(val s: Any)
|
||||
|
||||
interface IBar {
|
||||
suspend fun bar(): IC
|
||||
}
|
||||
|
||||
class Test0() : IBar {
|
||||
override suspend fun bar(): IC = IC("OK")
|
||||
|
||||
suspend fun test(): Any {
|
||||
return bar().s
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
var result: Any = "FAIL"
|
||||
builder {
|
||||
result = Test0().test()
|
||||
}
|
||||
if (result != "OK") return "FAIL 0 $result"
|
||||
|
||||
return result as String
|
||||
}
|
||||
+113
@@ -0,0 +1,113 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// WITH_RUNTIME
|
||||
// WITH_COROUTINES
|
||||
// COMMON_COROUTINES_TEST
|
||||
|
||||
import helpers.*
|
||||
import COROUTINES_PACKAGE.*
|
||||
import COROUTINES_PACKAGE.intrinsics.*
|
||||
|
||||
fun builder(c: suspend () -> Unit) {
|
||||
c.startCoroutine(EmptyContinuation)
|
||||
}
|
||||
|
||||
@Suppress("UNSUPPORTED_FEATURE")
|
||||
inline class IC(val s: Int)
|
||||
|
||||
interface IBar {
|
||||
suspend fun bar(): IC
|
||||
}
|
||||
|
||||
class Test1() : IBar {
|
||||
|
||||
suspend fun <T> foo(value: T): T {
|
||||
return suspendCoroutineUninterceptedOrReturn {
|
||||
it.resume(value)
|
||||
COROUTINE_SUSPENDED
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun qux(ss: IC): IC = IC(ss.s)
|
||||
|
||||
suspend fun <T> quz(t: T): T = t
|
||||
|
||||
override suspend fun bar(): IC {
|
||||
return foo(qux(quz(IC(42))))
|
||||
}
|
||||
|
||||
suspend fun test(): Int {
|
||||
val b: IBar = this
|
||||
return b.bar().s
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class Test2 : IBar {
|
||||
|
||||
suspend fun foo(value: IC): IC {
|
||||
return suspendCoroutineUninterceptedOrReturn {
|
||||
it.resume(value)
|
||||
COROUTINE_SUSPENDED
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun qux(s: Int): IC = IC(s)
|
||||
|
||||
suspend fun quz(): Int = 42
|
||||
|
||||
override suspend fun bar(): IC {
|
||||
return foo(qux(quz()))
|
||||
}
|
||||
|
||||
suspend fun test(): Int {
|
||||
val b: IBar = this
|
||||
return b.bar().s
|
||||
}
|
||||
}
|
||||
|
||||
class Test3 : IBar {
|
||||
suspend fun <T> foo(value: T): T {
|
||||
return suspendCoroutineUninterceptedOrReturn {
|
||||
it.resume(value)
|
||||
COROUTINE_SUSPENDED
|
||||
}
|
||||
}
|
||||
|
||||
override suspend fun bar(): IC {
|
||||
return foo(IC(42))
|
||||
}
|
||||
|
||||
suspend fun test(): Int {
|
||||
val b: IBar = this
|
||||
return b.bar().s
|
||||
}
|
||||
}
|
||||
|
||||
fun Int.toBoxResult() =
|
||||
if (this == 42) "OK" else toString()
|
||||
|
||||
fun box(): String {
|
||||
|
||||
var result: String = "FAIL"
|
||||
builder {
|
||||
result = Test1().test().toBoxResult()
|
||||
}
|
||||
|
||||
if (result != "OK") return "FAIL 1 $result"
|
||||
|
||||
result = "FAIL2"
|
||||
|
||||
builder {
|
||||
result = Test2().test().toBoxResult()
|
||||
}
|
||||
|
||||
if (result != "OK") return "FAIL 2 $result"
|
||||
|
||||
result = "FAIL 3"
|
||||
|
||||
builder {
|
||||
result = Test3().test().toBoxResult()
|
||||
}
|
||||
|
||||
return result as String
|
||||
}
|
||||
+140
@@ -7921,6 +7921,96 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/bridgeGenerationNonInline.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFun.kt")
|
||||
public void testCovariantOverrideSuspendFun() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFun.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_Any.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_Any() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_Any.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_Int.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_Int() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_Int.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_NullableAny.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_NullableAny() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_NullableAny.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_NullableAny_null.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_NullableAny_null() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_NullableAny_null.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_NullableInt.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_NullableInt() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_NullableInt.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_NullableInt_null.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_NullableInt_null() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_NullableInt_null.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFun_Any.kt")
|
||||
public void testCovariantOverrideSuspendFun_Any() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFun_Any.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFun_Int.kt")
|
||||
public void testCovariantOverrideSuspendFun_Int() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFun_Int.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun.kt")
|
||||
public void testGenericOverrideSuspendFun() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_Any.kt")
|
||||
public void testGenericOverrideSuspendFun_Any() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_Any.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_Any_NullableInlineClassUpperBound.kt")
|
||||
public void testGenericOverrideSuspendFun_Any_NullableInlineClassUpperBound() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_Any_NullableInlineClassUpperBound.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_Int.kt")
|
||||
public void testGenericOverrideSuspendFun_Int() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_Int.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_NullableAny.kt")
|
||||
public void testGenericOverrideSuspendFun_NullableAny() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_NullableAny.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_NullableAny_null.kt")
|
||||
public void testGenericOverrideSuspendFun_NullableAny_null() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_NullableAny_null.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_NullableInt.kt")
|
||||
public void testGenericOverrideSuspendFun_NullableInt() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_NullableInt.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_NullableInt_null.kt")
|
||||
public void testGenericOverrideSuspendFun_NullableInt_null() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_NullableInt_null.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("interfaceDelegateWithInlineClass.kt")
|
||||
public void testInterfaceDelegateWithInlineClass_1_2() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/interfaceDelegateWithInlineClass.kt", "kotlin.coroutines.experimental");
|
||||
@@ -7930,6 +8020,56 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
||||
public void testInterfaceDelegateWithInlineClass_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/interfaceDelegateWithInlineClass.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun.kt")
|
||||
public void testOverrideSuspendFun_1_2() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun.kt", "kotlin.coroutines.experimental");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun.kt")
|
||||
public void testOverrideSuspendFun_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Any.kt")
|
||||
public void testOverrideSuspendFun_Any_1_2() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Any.kt", "kotlin.coroutines.experimental");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Any.kt")
|
||||
public void testOverrideSuspendFun_Any_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Any.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Any_itf.kt")
|
||||
public void testOverrideSuspendFun_Any_itf_1_2() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Any_itf.kt", "kotlin.coroutines.experimental");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Any_itf.kt")
|
||||
public void testOverrideSuspendFun_Any_itf_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Any_itf.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Any_this.kt")
|
||||
public void testOverrideSuspendFun_Any_this_1_2() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Any_this.kt", "kotlin.coroutines.experimental");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Any_this.kt")
|
||||
public void testOverrideSuspendFun_Any_this_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Any_this.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Int.kt")
|
||||
public void testOverrideSuspendFun_Int_1_2() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Int.kt", "kotlin.coroutines.experimental");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Int.kt")
|
||||
public void testOverrideSuspendFun_Int_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Int.kt", "kotlin.coroutines");
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/codegen/box/coroutines/intLikeVarSpilling")
|
||||
|
||||
+140
@@ -7921,6 +7921,96 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/bridgeGenerationNonInline.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFun.kt")
|
||||
public void testCovariantOverrideSuspendFun() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFun.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_Any.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_Any() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_Any.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_Int.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_Int() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_Int.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_NullableAny.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_NullableAny() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_NullableAny.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_NullableAny_null.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_NullableAny_null() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_NullableAny_null.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_NullableInt.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_NullableInt() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_NullableInt.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_NullableInt_null.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_NullableInt_null() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_NullableInt_null.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFun_Any.kt")
|
||||
public void testCovariantOverrideSuspendFun_Any() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFun_Any.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFun_Int.kt")
|
||||
public void testCovariantOverrideSuspendFun_Int() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFun_Int.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun.kt")
|
||||
public void testGenericOverrideSuspendFun() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_Any.kt")
|
||||
public void testGenericOverrideSuspendFun_Any() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_Any.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_Any_NullableInlineClassUpperBound.kt")
|
||||
public void testGenericOverrideSuspendFun_Any_NullableInlineClassUpperBound() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_Any_NullableInlineClassUpperBound.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_Int.kt")
|
||||
public void testGenericOverrideSuspendFun_Int() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_Int.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_NullableAny.kt")
|
||||
public void testGenericOverrideSuspendFun_NullableAny() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_NullableAny.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_NullableAny_null.kt")
|
||||
public void testGenericOverrideSuspendFun_NullableAny_null() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_NullableAny_null.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_NullableInt.kt")
|
||||
public void testGenericOverrideSuspendFun_NullableInt() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_NullableInt.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_NullableInt_null.kt")
|
||||
public void testGenericOverrideSuspendFun_NullableInt_null() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_NullableInt_null.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("interfaceDelegateWithInlineClass.kt")
|
||||
public void testInterfaceDelegateWithInlineClass_1_2() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/interfaceDelegateWithInlineClass.kt", "kotlin.coroutines.experimental");
|
||||
@@ -7930,6 +8020,56 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
|
||||
public void testInterfaceDelegateWithInlineClass_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/interfaceDelegateWithInlineClass.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun.kt")
|
||||
public void testOverrideSuspendFun_1_2() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun.kt", "kotlin.coroutines.experimental");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun.kt")
|
||||
public void testOverrideSuspendFun_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Any.kt")
|
||||
public void testOverrideSuspendFun_Any_1_2() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Any.kt", "kotlin.coroutines.experimental");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Any.kt")
|
||||
public void testOverrideSuspendFun_Any_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Any.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Any_itf.kt")
|
||||
public void testOverrideSuspendFun_Any_itf_1_2() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Any_itf.kt", "kotlin.coroutines.experimental");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Any_itf.kt")
|
||||
public void testOverrideSuspendFun_Any_itf_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Any_itf.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Any_this.kt")
|
||||
public void testOverrideSuspendFun_Any_this_1_2() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Any_this.kt", "kotlin.coroutines.experimental");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Any_this.kt")
|
||||
public void testOverrideSuspendFun_Any_this_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Any_this.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Int.kt")
|
||||
public void testOverrideSuspendFun_Int_1_2() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Int.kt", "kotlin.coroutines.experimental");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Int.kt")
|
||||
public void testOverrideSuspendFun_Int_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Int.kt", "kotlin.coroutines");
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/codegen/box/coroutines/intLikeVarSpilling")
|
||||
|
||||
+115
@@ -7161,10 +7161,125 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/bridgeGenerationNonInline.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFun.kt")
|
||||
public void testCovariantOverrideSuspendFun() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFun.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_Any.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_Any() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_Any.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_Int.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_Int() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_Int.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_NullableAny.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_NullableAny() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_NullableAny.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_NullableAny_null.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_NullableAny_null() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_NullableAny_null.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_NullableInt.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_NullableInt() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_NullableInt.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_NullableInt_null.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_NullableInt_null() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_NullableInt_null.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFun_Any.kt")
|
||||
public void testCovariantOverrideSuspendFun_Any() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFun_Any.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFun_Int.kt")
|
||||
public void testCovariantOverrideSuspendFun_Int() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFun_Int.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun.kt")
|
||||
public void testGenericOverrideSuspendFun() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_Any.kt")
|
||||
public void testGenericOverrideSuspendFun_Any() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_Any.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_Any_NullableInlineClassUpperBound.kt")
|
||||
public void testGenericOverrideSuspendFun_Any_NullableInlineClassUpperBound() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_Any_NullableInlineClassUpperBound.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_Int.kt")
|
||||
public void testGenericOverrideSuspendFun_Int() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_Int.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_NullableAny.kt")
|
||||
public void testGenericOverrideSuspendFun_NullableAny() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_NullableAny.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_NullableAny_null.kt")
|
||||
public void testGenericOverrideSuspendFun_NullableAny_null() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_NullableAny_null.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_NullableInt.kt")
|
||||
public void testGenericOverrideSuspendFun_NullableInt() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_NullableInt.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_NullableInt_null.kt")
|
||||
public void testGenericOverrideSuspendFun_NullableInt_null() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_NullableInt_null.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("interfaceDelegateWithInlineClass.kt")
|
||||
public void testInterfaceDelegateWithInlineClass_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/interfaceDelegateWithInlineClass.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun.kt")
|
||||
public void testOverrideSuspendFun_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Any.kt")
|
||||
public void testOverrideSuspendFun_Any_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Any.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Any_itf.kt")
|
||||
public void testOverrideSuspendFun_Any_itf_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Any_itf.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Any_this.kt")
|
||||
public void testOverrideSuspendFun_Any_this_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Any_this.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Int.kt")
|
||||
public void testOverrideSuspendFun_Int_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Int.kt", "kotlin.coroutines");
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/codegen/box/coroutines/intLikeVarSpilling")
|
||||
|
||||
Generated
+115
@@ -6091,10 +6091,125 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/bridgeGenerationNonInline.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFun.kt")
|
||||
public void testCovariantOverrideSuspendFun() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFun.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_Any.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_Any() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_Any.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_Int.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_Int() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_Int.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_NullableAny.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_NullableAny() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_NullableAny.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_NullableAny_null.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_NullableAny_null() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_NullableAny_null.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_NullableInt.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_NullableInt() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_NullableInt.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_NullableInt_null.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_NullableInt_null() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_NullableInt_null.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFun_Any.kt")
|
||||
public void testCovariantOverrideSuspendFun_Any() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFun_Any.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFun_Int.kt")
|
||||
public void testCovariantOverrideSuspendFun_Int() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFun_Int.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun.kt")
|
||||
public void testGenericOverrideSuspendFun() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_Any.kt")
|
||||
public void testGenericOverrideSuspendFun_Any() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_Any.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_Any_NullableInlineClassUpperBound.kt")
|
||||
public void testGenericOverrideSuspendFun_Any_NullableInlineClassUpperBound() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_Any_NullableInlineClassUpperBound.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_Int.kt")
|
||||
public void testGenericOverrideSuspendFun_Int() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_Int.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_NullableAny.kt")
|
||||
public void testGenericOverrideSuspendFun_NullableAny() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_NullableAny.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_NullableAny_null.kt")
|
||||
public void testGenericOverrideSuspendFun_NullableAny_null() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_NullableAny_null.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_NullableInt.kt")
|
||||
public void testGenericOverrideSuspendFun_NullableInt() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_NullableInt.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_NullableInt_null.kt")
|
||||
public void testGenericOverrideSuspendFun_NullableInt_null() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_NullableInt_null.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("interfaceDelegateWithInlineClass.kt")
|
||||
public void testInterfaceDelegateWithInlineClass_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/interfaceDelegateWithInlineClass.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun.kt")
|
||||
public void testOverrideSuspendFun_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Any.kt")
|
||||
public void testOverrideSuspendFun_Any_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Any.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Any_itf.kt")
|
||||
public void testOverrideSuspendFun_Any_itf_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Any_itf.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Any_this.kt")
|
||||
public void testOverrideSuspendFun_Any_this_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Any_this.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Int.kt")
|
||||
public void testOverrideSuspendFun_Int_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Int.kt", "kotlin.coroutines");
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/codegen/box/coroutines/intLikeVarSpilling")
|
||||
|
||||
+115
@@ -6091,10 +6091,125 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/bridgeGenerationNonInline.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFun.kt")
|
||||
public void testCovariantOverrideSuspendFun() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFun.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_Any.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_Any() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_Any.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_Int.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_Int() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_Int.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_NullableAny.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_NullableAny() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_NullableAny.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_NullableAny_null.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_NullableAny_null() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_NullableAny_null.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_NullableInt.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_NullableInt() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_NullableInt.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFunWithNullableInlineClass_NullableInt_null.kt")
|
||||
public void testCovariantOverrideSuspendFunWithNullableInlineClass_NullableInt_null() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFunWithNullableInlineClass_NullableInt_null.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFun_Any.kt")
|
||||
public void testCovariantOverrideSuspendFun_Any() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFun_Any.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideSuspendFun_Int.kt")
|
||||
public void testCovariantOverrideSuspendFun_Int() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/covariantOverrideSuspendFun_Int.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun.kt")
|
||||
public void testGenericOverrideSuspendFun() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_Any.kt")
|
||||
public void testGenericOverrideSuspendFun_Any() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_Any.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_Any_NullableInlineClassUpperBound.kt")
|
||||
public void testGenericOverrideSuspendFun_Any_NullableInlineClassUpperBound() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_Any_NullableInlineClassUpperBound.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_Int.kt")
|
||||
public void testGenericOverrideSuspendFun_Int() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_Int.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_NullableAny.kt")
|
||||
public void testGenericOverrideSuspendFun_NullableAny() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_NullableAny.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_NullableAny_null.kt")
|
||||
public void testGenericOverrideSuspendFun_NullableAny_null() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_NullableAny_null.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_NullableInt.kt")
|
||||
public void testGenericOverrideSuspendFun_NullableInt() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_NullableInt.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSuspendFun_NullableInt_null.kt")
|
||||
public void testGenericOverrideSuspendFun_NullableInt_null() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/coroutines/inlineClasses/genericOverrideSuspendFun_NullableInt_null.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("interfaceDelegateWithInlineClass.kt")
|
||||
public void testInterfaceDelegateWithInlineClass_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/interfaceDelegateWithInlineClass.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun.kt")
|
||||
public void testOverrideSuspendFun_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Any.kt")
|
||||
public void testOverrideSuspendFun_Any_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Any.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Any_itf.kt")
|
||||
public void testOverrideSuspendFun_Any_itf_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Any_itf.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Any_this.kt")
|
||||
public void testOverrideSuspendFun_Any_this_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Any_this.kt", "kotlin.coroutines");
|
||||
}
|
||||
|
||||
@TestMetadata("overrideSuspendFun_Int.kt")
|
||||
public void testOverrideSuspendFun_Int_1_3() throws Exception {
|
||||
runTestWithPackageReplacement("compiler/testData/codegen/box/coroutines/inlineClasses/overrideSuspendFun_Int.kt", "kotlin.coroutines");
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/codegen/box/coroutines/intLikeVarSpilling")
|
||||
|
||||
Reference in New Issue
Block a user