diff --git a/compiler/testData/codegen/box/reflection/annotations/localClassLiteral.kt b/compiler/testData/codegen/box/reflection/annotations/localClassLiteral.kt index 6d9531a02ee..7b50dad81a7 100644 --- a/compiler/testData/codegen/box/reflection/annotations/localClassLiteral.kt +++ b/compiler/testData/codegen/box/reflection/annotations/localClassLiteral.kt @@ -4,7 +4,6 @@ package test import kotlin.reflect.KClass -import kotlin.test.assertEquals annotation class Anno(val k1: KClass<*>, val k2: KClass<*>, val k3: KClass<*>) @@ -15,10 +14,14 @@ fun box(): String { class M val fqName = "test.LocalClassLiteralKt\$box\$L" - assertEquals( - "[@test.Anno(k1=class $fqName, k2=class [L$fqName;, k3=class [[L$fqName;)]", - M::class.annotations.toString() - ) + + // JDK 8 and earlier + val expected1 = "[@test.Anno(k1=class $fqName, k2=class [L$fqName;, k3=class [[L$fqName;)]" + // JDK 9 and later + val expected2 = "[@test.Anno(k1=$fqName.class, k2=$fqName[].class, k3=$fqName[][].class)]" + + val actual = M::class.annotations.toString() + if (actual != expected1 && actual != expected2) return "Fail: $actual" return "OK" }