[Test] Migrate AbstractDiagnosticsWithJdk15Test to new infrastructure
This commit is contained in:
committed by
TeamCityServer
parent
02fb11a2cd
commit
a9f913a97f
+56
@@ -0,0 +1,56 @@
|
||||
// !API_VERSION: 1.5
|
||||
// !LANGUAGE: +JvmRecordSupport
|
||||
// SKIP_TXT
|
||||
// JVM_TARGET: 15
|
||||
// ENABLE_JVM_PREVIEW
|
||||
|
||||
@JvmRecord
|
||||
class A0
|
||||
|
||||
@JvmRecord
|
||||
class A1 {
|
||||
constructor()
|
||||
}
|
||||
|
||||
@JvmRecord
|
||||
class A2()
|
||||
|
||||
@JvmRecord
|
||||
class A3(name: String)
|
||||
|
||||
@JvmRecord
|
||||
class A4(var name: String)
|
||||
|
||||
@JvmRecord
|
||||
class A5(vararg val name: String, y: Int)
|
||||
|
||||
@JvmRecord
|
||||
open class A6(val x: String)
|
||||
|
||||
@JvmRecord
|
||||
abstract class A7(val x: String)
|
||||
|
||||
@JvmRecord
|
||||
sealed class A8(val x: String)
|
||||
|
||||
@JvmRecord
|
||||
enum class A9(val x: String) {
|
||||
X("");
|
||||
}
|
||||
|
||||
@JvmRecord
|
||||
class A10(
|
||||
val x: String,
|
||||
val y: Int,
|
||||
vararg val z: Double,
|
||||
)
|
||||
|
||||
fun main() {
|
||||
@JvmRecord
|
||||
class Local
|
||||
}
|
||||
|
||||
class Outer {
|
||||
@JvmRecord
|
||||
inner class Inner(val name: String)
|
||||
}
|
||||
+23
@@ -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
|
||||
|
||||
@JvmRecord
|
||||
class MyRec(
|
||||
val x: String,
|
||||
val y: Int,
|
||||
vararg val z: Double,
|
||||
)
|
||||
|
||||
fun foo(jr: JRecord) {
|
||||
<!INAPPLICABLE_CANDIDATE!>JRecord<!>(1, "")
|
||||
|
||||
jr.<!UNRESOLVED_REFERENCE!>x<!>()
|
||||
jr.<!UNRESOLVED_REFERENCE!>y<!>()
|
||||
|
||||
jr.<!UNRESOLVED_REFERENCE!>x<!>
|
||||
jr.<!UNRESOLVED_REFERENCE!>y<!>
|
||||
}
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
// !API_VERSION: 1.5
|
||||
// !LANGUAGE: +JvmRecordSupport
|
||||
// SKIP_TXT
|
||||
// JVM_TARGET: 15
|
||||
// ENABLE_JVM_PREVIEW
|
||||
|
||||
interface I
|
||||
|
||||
val i: I = object : I {}
|
||||
|
||||
@JvmRecord
|
||||
data class MyRec1(val name: String) : I by i
|
||||
|
||||
@JvmRecord
|
||||
data class MyRec2(val name: String) {
|
||||
val x: Int = 0
|
||||
}
|
||||
|
||||
@JvmRecord
|
||||
data class MyRec3(val name: String) {
|
||||
val y: String
|
||||
get() = field + "1"
|
||||
|
||||
init {
|
||||
y = ""
|
||||
}
|
||||
}
|
||||
|
||||
@JvmRecord
|
||||
data class MyRec4(val name: String) {
|
||||
val z: Int by lazy { 1 }
|
||||
}
|
||||
|
||||
@JvmRecord
|
||||
data class MyRec5(val name: String) {
|
||||
val w: String get() = name + "1"
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Vendored
+14
@@ -0,0 +1,14 @@
|
||||
// !API_VERSION: 1.5
|
||||
// !LANGUAGE: +JvmRecordSupport
|
||||
// JVM_TARGET: 15
|
||||
// ENABLE_JVM_PREVIEW
|
||||
|
||||
@JvmRecord
|
||||
class BasicRecord(val x: String)
|
||||
|
||||
@JvmRecord
|
||||
data class BasicDataRecord(val x: String)
|
||||
|
||||
@JvmRecord
|
||||
class BasicRecordWithSuperClass(val x: String) : Record()
|
||||
|
||||
+18
@@ -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) {
|
||||
<!INAPPLICABLE_CANDIDATE!>MyRecord<!>(1, "")
|
||||
|
||||
mr.<!UNRESOLVED_REFERENCE!>x<!>()
|
||||
mr.<!UNRESOLVED_REFERENCE!>y<!>()
|
||||
|
||||
mr.<!UNRESOLVED_REFERENCE!>x<!>
|
||||
mr.<!UNRESOLVED_REFERENCE!>y<!>
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
// !API_VERSION: 1.5
|
||||
// !LANGUAGE: +JvmRecordSupport
|
||||
// JVM_TARGET: 15
|
||||
// ENABLE_JVM_PREVIEW
|
||||
|
||||
abstract class Abstract
|
||||
interface I
|
||||
|
||||
@JvmRecord
|
||||
data class A1(val x: String) : Abstract(), I
|
||||
|
||||
@JvmRecord
|
||||
data class A2(val x: String) : Any(), I
|
||||
|
||||
@JvmRecord
|
||||
data class A3(val x: String) : Record(), I
|
||||
|
||||
@JvmRecord
|
||||
data class A4(val x: String) : java.lang.Record(), I
|
||||
|
||||
@JvmRecord
|
||||
data class A5(val x: String) : I
|
||||
|
||||
data class A6(val x: String) : Record(), I
|
||||
|
||||
data class A7(val x: String) : java.lang.Record(), I
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
||||
// ISSUE: KT-41215, KT-43551
|
||||
|
||||
// FILE: Base.java
|
||||
public sealed class Base permits A, B {}
|
||||
|
||||
// FILE: A.java
|
||||
public final class A extends Base {}
|
||||
|
||||
// FILE: B.java
|
||||
public sealed class B extends Base permits B.C, B.D {
|
||||
public static final class C implements B {}
|
||||
|
||||
public static non-sealed class D extends B {}
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
fun test_ok_1(base: Base) {
|
||||
val x = when (base) {
|
||||
is A -> 1
|
||||
is B -> 2
|
||||
}
|
||||
}
|
||||
|
||||
fun test_ok_2(base: Base) {
|
||||
val x = when (base) {
|
||||
is A -> 1
|
||||
is B.C -> 2
|
||||
is B.D -> 3
|
||||
}
|
||||
}
|
||||
|
||||
fun test_error_1(base: Base) {
|
||||
val x = when (base) {
|
||||
is A -> 1
|
||||
}
|
||||
}
|
||||
|
||||
fun test_error_2(base: Base) {
|
||||
val x = when (base) {
|
||||
is A -> 1
|
||||
is B.C -> 2
|
||||
}
|
||||
}
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE
|
||||
// ISSUE: KT-41215, KT-43551
|
||||
|
||||
// FILE: Base.java
|
||||
public sealed interface Base permits A, B, E {}
|
||||
|
||||
// FILE: A.java
|
||||
public non-sealed interface A extends Base {}
|
||||
|
||||
// FILE: B.java
|
||||
public sealed interface B extends Base permits B.C, B.D {
|
||||
public static final class C implements B {}
|
||||
|
||||
public static non-sealed interface D extends B {}
|
||||
}
|
||||
|
||||
// FILE: E.java
|
||||
public enum E implements Base {
|
||||
First, Second
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
fun test_ok_1(base: Base) {
|
||||
val x = when (base) {
|
||||
is A -> 1
|
||||
is B -> 2
|
||||
is E -> 3
|
||||
}
|
||||
}
|
||||
|
||||
fun test_ok_2(base: Base) {
|
||||
val x = when (base) {
|
||||
is A -> 1
|
||||
is B.C -> 2
|
||||
is B.D -> 3
|
||||
E.First -> 4
|
||||
E.Second -> 5
|
||||
}
|
||||
}
|
||||
|
||||
fun test_error_1(base: Base) {
|
||||
val x = when (base) {
|
||||
is A -> 1
|
||||
is B -> 2
|
||||
}
|
||||
}
|
||||
|
||||
fun test_error_2(base: Base) {
|
||||
val x = when (base) {
|
||||
is A -> 1
|
||||
is B.C -> 2
|
||||
is B.D -> 3
|
||||
E.Second -> 5
|
||||
}
|
||||
}
|
||||
|
||||
fun test_error_3(base: Base) {
|
||||
val x = when (base) {
|
||||
is A -> 1
|
||||
is B.C -> 2
|
||||
E.First -> 4
|
||||
E.Second -> 5
|
||||
}
|
||||
}
|
||||
Vendored
+11
@@ -0,0 +1,11 @@
|
||||
// ISSUE: KT-41215
|
||||
|
||||
// FILE: Base.java
|
||||
public sealed class Base permits A, B {}
|
||||
|
||||
// FILE: A.java
|
||||
public final class A extends Base {}
|
||||
|
||||
// FILE: B.kt
|
||||
|
||||
class B : Base()
|
||||
compiler/testData/diagnostics/tests/testsWithJava15/sealedClasses/kotlinInheritsJavaInterface.fir.kt
Vendored
+11
@@ -0,0 +1,11 @@
|
||||
// ISSUE: KT-41215
|
||||
|
||||
// FILE: Base.java
|
||||
public sealed interface Base permits A, B {}
|
||||
|
||||
// FILE: A.java
|
||||
public final class A extends Base {}
|
||||
|
||||
// FILE: B.kt
|
||||
|
||||
class B : Base
|
||||
Reference in New Issue
Block a user