Migrate all JDK 15 related tests to JDK 17

This commit is contained in:
Dmitriy Novozhilov
2021-09-22 17:07:59 +03:00
committed by TeamCityServer
parent 452dfd6edd
commit ce3562f0e8
68 changed files with 477 additions and 553 deletions
@@ -0,0 +1,60 @@
// FIR_IDENTICAL
// !API_VERSION: 1.5
// !LANGUAGE: +JvmRecordSupport
// SKIP_TXT
// JVM_TARGET: 17
// ENABLE_JVM_PREVIEW
<!NON_DATA_CLASS_JVM_RECORD!>@JvmRecord<!>
class A0
<!NON_DATA_CLASS_JVM_RECORD!>@JvmRecord<!>
class A1 {
constructor()
}
<!NON_DATA_CLASS_JVM_RECORD!>@JvmRecord<!>
class A2()
<!NON_DATA_CLASS_JVM_RECORD!>@JvmRecord<!>
class A3(name: String)
<!NON_DATA_CLASS_JVM_RECORD!>@JvmRecord<!>
class A4(var name: String)
<!NON_DATA_CLASS_JVM_RECORD!>@JvmRecord<!>
class A5(vararg val name: String, y: Int)
@JvmRecord
<!NON_FINAL_JVM_RECORD!>open<!> class A6(val x: String)
@JvmRecord
<!NON_FINAL_JVM_RECORD!>abstract<!> class A7(val x: String)
@JvmRecord
<!NON_FINAL_JVM_RECORD!>sealed<!> class A8(val x: String)
@JvmRecord
<!ENUM_JVM_RECORD!>enum<!> class A9(val x: String) {
X("");
}
<!NON_DATA_CLASS_JVM_RECORD!>@JvmRecord<!>
class A10(
val x: String,
val y: Int,
vararg val z: Double,
)
fun main() {
<!LOCAL_JVM_RECORD!>@JvmRecord<!>
class Local
}
class Outer {
@JvmRecord
<!INNER_JVM_RECORD!>inner<!> class Inner(val name: String)
}
@JvmRecord
data class A11(<!DATA_CLASS_VARARG_PARAMETER, JVM_RECORD_NOT_LAST_VARARG_PARAMETER!>vararg val x: String<!>, val y: Int)
@@ -0,0 +1,23 @@
// !API_VERSION: 1.5
// !LANGUAGE: -JvmRecordSupport
// SKIP_TXT
// FILE: JRecord.java
public record JRecord(int x, CharSequence y) {}
// FILE: main.kt
<!UNSUPPORTED_FEATURE!>@JvmRecord<!>
class MyRec(
val x: String,
val y: Int,
vararg val z: Double,
)
fun foo(jr: JRecord) {
JRecord(<!TOO_MANY_ARGUMENTS!>1<!>, <!TOO_MANY_ARGUMENTS!>""<!>)
jr.<!UNRESOLVED_REFERENCE!>x<!>()
jr.<!UNRESOLVED_REFERENCE!>y<!>()
jr.<!UNRESOLVED_REFERENCE!>x<!>
jr.<!UNRESOLVED_REFERENCE!>y<!>
}
@@ -0,0 +1,23 @@
// !API_VERSION: 1.5
// !LANGUAGE: -JvmRecordSupport
// SKIP_TXT
// FILE: JRecord.java
public record JRecord(int x, CharSequence y) {}
// FILE: main.kt
<!UNSUPPORTED_FEATURE!>@JvmRecord<!>
class MyRec(
val x: String,
val y: Int,
vararg val z: Double,
)
fun foo(jr: JRecord) {
JRecord(1, "")
jr.x()
jr.y()
jr.<!FUNCTION_CALL_EXPECTED!>x<!>
jr.<!FUNCTION_CALL_EXPECTED!>y<!>
}
@@ -0,0 +1,43 @@
// !API_VERSION: 1.5
// !LANGUAGE: +JvmRecordSupport
// SKIP_TXT
// JVM_TARGET: 17
// ENABLE_JVM_PREVIEW
interface I
val i: I = object : I {}
@JvmRecord
data class MyRec1(val name: String) : I by <!DELEGATION_BY_IN_JVM_RECORD!>i<!>
@JvmRecord
data class MyRec2(val name: String) {
<!FIELD_IN_JVM_RECORD!>val x: Int = 0<!>
}
@JvmRecord
data class MyRec3(val name: String) {
<!FIELD_IN_JVM_RECORD!>val y: String
get() = field + "1"<!>
init {
y = ""
}
}
@JvmRecord
data class MyRec4(val name: String) {
<!FIELD_IN_JVM_RECORD!>val z: Int by lazy { 1 }<!>
}
@JvmRecord
data class MyRec5(val name: String) {
val w: String get() = name + "1"
}
@@ -0,0 +1,43 @@
// !API_VERSION: 1.5
// !LANGUAGE: +JvmRecordSupport
// SKIP_TXT
// JVM_TARGET: 17
// ENABLE_JVM_PREVIEW
interface I
val i: I = object : I {}
@JvmRecord
data class MyRec1(val name: String) : <!DELEGATION_BY_IN_JVM_RECORD!>I by i<!>
@JvmRecord
data class MyRec2(val name: String) {
<!FIELD_IN_JVM_RECORD!>val x: Int = 0<!>
}
@JvmRecord
data class MyRec3(val name: String) {
<!FIELD_IN_JVM_RECORD!>val y: String
get() = field + "1"<!>
init {
y = ""
}
}
@JvmRecord
data class MyRec4(val name: String) {
<!FIELD_IN_JVM_RECORD!>val z: Int by lazy { 1 }<!>
}
@JvmRecord
data class MyRec5(val name: String) {
val w: String get() = name + "1"
}
@@ -0,0 +1,17 @@
// !API_VERSION: 1.5
// !LANGUAGE: +JvmRecordSupport
// JVM_TARGET: 17
// ENABLE_JVM_PREVIEW
<!NON_DATA_CLASS_JVM_RECORD!>@JvmRecord<!>
class BasicRecord(val x: String)
@JvmRecord
data class BasicDataRecord(val x: String)
@JvmRecord
data class VarInConstructor(<!JVM_RECORD_NOT_VAL_PARAMETER!>var x: String<!>)
@JvmRecord
<!ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED!>class BasicRecordWithSuperClass<!>(val x: String) : <!ILLEGAL_JAVA_LANG_RECORD_SUPERTYPE!>Record<!>()
@@ -0,0 +1,17 @@
// !API_VERSION: 1.5
// !LANGUAGE: +JvmRecordSupport
// JVM_TARGET: 17
// ENABLE_JVM_PREVIEW
<!NON_DATA_CLASS_JVM_RECORD!>@JvmRecord<!>
class BasicRecord(val x: String)
@JvmRecord
data class BasicDataRecord(val x: String)
@JvmRecord
data class VarInConstructor(<!JVM_RECORD_NOT_VAL_PARAMETER!>var x: String<!>)
@JvmRecord
class BasicRecordWithSuperClass(val x: String) : <!ILLEGAL_JAVA_LANG_RECORD_SUPERTYPE!>Record()<!>
@@ -0,0 +1,38 @@
package
@kotlin.jvm.JvmRecord public final data class BasicDataRecord : java.lang.Record {
public constructor BasicDataRecord(/*0*/ x: kotlin.String)
public final val x: kotlin.String
public final operator /*synthesized*/ fun component1(): kotlin.String
public final /*synthesized*/ fun copy(/*0*/ x: kotlin.String = ...): BasicDataRecord
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}
@kotlin.jvm.JvmRecord public final class BasicRecord : java.lang.Record {
public constructor BasicRecord(/*0*/ x: kotlin.String)
public final val x: kotlin.String
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}
@kotlin.jvm.JvmRecord public final class BasicRecordWithSuperClass : java.lang.Record {
public constructor BasicRecordWithSuperClass(/*0*/ x: kotlin.String)
public final val x: kotlin.String
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}
@kotlin.jvm.JvmRecord public final data class VarInConstructor : java.lang.Record {
public constructor VarInConstructor(/*0*/ x: kotlin.String)
public final var x: kotlin.String
public final operator /*synthesized*/ fun component1(): kotlin.String
public final /*synthesized*/ fun copy(/*0*/ x: kotlin.String = ...): VarInConstructor
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}
@@ -0,0 +1,18 @@
// !API_VERSION: 1.5
// !LANGUAGE: +JvmRecordSupport
// FILE: MyRecord.java
public record MyRecord(int x, CharSequence y) {
}
// FILE: main.kt
fun foo(mr: MyRecord) {
MyRecord(<!TOO_MANY_ARGUMENTS!>1<!>, <!TOO_MANY_ARGUMENTS!>""<!>)
mr.<!UNRESOLVED_REFERENCE!>x<!>()
mr.<!UNRESOLVED_REFERENCE!>y<!>()
mr.<!UNRESOLVED_REFERENCE!>x<!>
mr.<!UNRESOLVED_REFERENCE!>y<!>
}
@@ -0,0 +1,18 @@
// !API_VERSION: 1.5
// !LANGUAGE: +JvmRecordSupport
// FILE: MyRecord.java
public record MyRecord(int x, CharSequence y) {
}
// FILE: main.kt
fun foo(mr: MyRecord) {
MyRecord(1, "")
mr.x()
mr.y()
mr.x
mr.y
}
@@ -0,0 +1,12 @@
package
public fun foo(/*0*/ mr: MyRecord): kotlin.Unit
/*record*/ public final class MyRecord : java.lang.Record {
public constructor MyRecord(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.CharSequence!)
public abstract override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun toString(): kotlin.String
/*record component*/ public open fun x(): kotlin.Int
/*record component*/ public open fun y(): kotlin.CharSequence!
}
@@ -0,0 +1,26 @@
// !API_VERSION: 1.5
// !LANGUAGE: +JvmRecordSupport
// JVM_TARGET: 17
// ENABLE_JVM_PREVIEW
abstract class Abstract
interface I
@JvmRecord
data class <!JVM_RECORD_EXTENDS_CLASS!>A1<!>(val x: String) : Abstract(), I
@JvmRecord
data class <!JVM_RECORD_EXTENDS_CLASS!>A2<!>(val x: String) : Any(), I
@JvmRecord
data class A3(val x: String) : <!ILLEGAL_JAVA_LANG_RECORD_SUPERTYPE!>Record<!>(), I
@JvmRecord
data class A4(val x: String) : <!ILLEGAL_JAVA_LANG_RECORD_SUPERTYPE!>java.lang.Record<!>(), I
@JvmRecord
data class A5(val x: String) : I
data class A6(val x: String) : <!ILLEGAL_JAVA_LANG_RECORD_SUPERTYPE!>Record<!>(), I
data class A7(val x: String) : <!ILLEGAL_JAVA_LANG_RECORD_SUPERTYPE!>java.lang.Record<!>(), I
@@ -0,0 +1,26 @@
// !API_VERSION: 1.5
// !LANGUAGE: +JvmRecordSupport
// JVM_TARGET: 17
// ENABLE_JVM_PREVIEW
abstract class Abstract
interface I
@JvmRecord
data class <!JVM_RECORD_EXTENDS_CLASS!>A1<!>(val x: String) : Abstract(), I
@JvmRecord
data class <!JVM_RECORD_EXTENDS_CLASS!>A2<!>(val x: String) : Any(), I
@JvmRecord
data class A3(val x: String) : <!ILLEGAL_JAVA_LANG_RECORD_SUPERTYPE!>Record()<!>, I
@JvmRecord
data class A4(val x: String) : <!ILLEGAL_JAVA_LANG_RECORD_SUPERTYPE!>java.lang.Record()<!>, I
@JvmRecord
data class A5(val x: String) : I
data class A6(val x: String) : <!ILLEGAL_JAVA_LANG_RECORD_SUPERTYPE!>Record()<!>, I
data class A7(val x: String) : <!ILLEGAL_JAVA_LANG_RECORD_SUPERTYPE!>java.lang.Record()<!>, I
@@ -0,0 +1,84 @@
package
@kotlin.jvm.JvmRecord public final data class A1 : Abstract, I, java.lang.Record {
public constructor A1(/*0*/ x: kotlin.String)
public final val x: kotlin.String
public final operator /*synthesized*/ fun component1(): kotlin.String
public final /*synthesized*/ fun copy(/*0*/ x: kotlin.String = ...): A1
public open override /*3*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*3*/ /*synthesized*/ fun hashCode(): kotlin.Int
public open override /*3*/ /*synthesized*/ fun toString(): kotlin.String
}
@kotlin.jvm.JvmRecord public final data class A2 : kotlin.Any, I, java.lang.Record {
public constructor A2(/*0*/ x: kotlin.String)
public final val x: kotlin.String
public final operator /*synthesized*/ fun component1(): kotlin.String
public final /*synthesized*/ fun copy(/*0*/ x: kotlin.String = ...): A2
public open override /*3*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*3*/ /*synthesized*/ fun hashCode(): kotlin.Int
public open override /*3*/ /*synthesized*/ fun toString(): kotlin.String
}
@kotlin.jvm.JvmRecord public final data class A3 : java.lang.Record, I {
public constructor A3(/*0*/ x: kotlin.String)
public final val x: kotlin.String
public final operator /*synthesized*/ fun component1(): kotlin.String
public final /*synthesized*/ fun copy(/*0*/ x: kotlin.String = ...): A3
public open override /*2*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*synthesized*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*synthesized*/ fun toString(): kotlin.String
}
@kotlin.jvm.JvmRecord public final data class A4 : java.lang.Record, I {
public constructor A4(/*0*/ x: kotlin.String)
public final val x: kotlin.String
public final operator /*synthesized*/ fun component1(): kotlin.String
public final /*synthesized*/ fun copy(/*0*/ x: kotlin.String = ...): A4
public open override /*2*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*synthesized*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*synthesized*/ fun toString(): kotlin.String
}
@kotlin.jvm.JvmRecord public final data class A5 : I, java.lang.Record {
public constructor A5(/*0*/ x: kotlin.String)
public final val x: kotlin.String
public final operator /*synthesized*/ fun component1(): kotlin.String
public final /*synthesized*/ fun copy(/*0*/ x: kotlin.String = ...): A5
public open override /*2*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*synthesized*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*synthesized*/ fun toString(): kotlin.String
}
public final data class A6 : java.lang.Record, I {
public constructor A6(/*0*/ x: kotlin.String)
public final val x: kotlin.String
public final operator /*synthesized*/ fun component1(): kotlin.String
public final /*synthesized*/ fun copy(/*0*/ x: kotlin.String = ...): A6
public open override /*2*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*synthesized*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*synthesized*/ fun toString(): kotlin.String
}
public final data class A7 : java.lang.Record, I {
public constructor A7(/*0*/ x: kotlin.String)
public final val x: kotlin.String
public final operator /*synthesized*/ fun component1(): kotlin.String
public final /*synthesized*/ fun copy(/*0*/ x: kotlin.String = ...): A7
public open override /*2*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*synthesized*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*synthesized*/ fun toString(): kotlin.String
}
public abstract class Abstract {
public constructor Abstract()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface I {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}