Support loading Java records
^KT-43677 In Progress
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
// 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,11 @@
|
||||
package test
|
||||
|
||||
public final class GenericRecord</*0*/ T : kotlin.Any!, /*1*/ E : kotlin.Any!> : java.lang.Record {
|
||||
public constructor GenericRecord</*0*/ T : kotlin.Any!, /*1*/ E : kotlin.Any!>(/*0*/ x: T!, /*1*/ y: E!)
|
||||
private final val x: T!
|
||||
private final val y: E!
|
||||
public open fun x(): T!
|
||||
public open fun y(): E!
|
||||
public open fun y(/*0*/ p0: E!): E!
|
||||
public open fun z(): kotlin.Double
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package test
|
||||
|
||||
/*record*/ public final class GenericRecord</*0*/ T : kotlin.Any!, /*1*/ E : kotlin.Any!> : java.lang.Record {
|
||||
public constructor GenericRecord</*0*/ T : kotlin.Any!, /*1*/ E : kotlin.Any!>(/*0*/ x: T!, /*1*/ y: E!)
|
||||
private final val x: T!
|
||||
private final val y: E!
|
||||
/*record component*/ public open fun x(): T!
|
||||
/*record component*/ public open fun y(): E!
|
||||
public open fun y(/*0*/ p0: E!): E!
|
||||
public open fun z(): kotlin.Double
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package test;
|
||||
public record GenericRecord<T, E>(T x, E y) {
|
||||
public E y() { return y; }
|
||||
public E y(E n) { return y; }
|
||||
public double z() { return 0.0; }
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package test
|
||||
|
||||
/*record*/ public final class GenericRecord</*0*/ T : kotlin.Any!, /*1*/ E : kotlin.Any!> : java.lang.Record {
|
||||
public constructor GenericRecord</*0*/ T : kotlin.Any!, /*1*/ E : kotlin.Any!>(/*0*/ x: T!, /*1*/ y: E!)
|
||||
/*record component*/ public open fun x(): T!
|
||||
/*record component*/ public open fun y(): E!
|
||||
public open fun y(/*0*/ n: E!): E!
|
||||
public open fun z(): kotlin.Double
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package test
|
||||
|
||||
public final class SimpleRecord : java.lang.Record {
|
||||
public constructor SimpleRecord(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.CharSequence!)
|
||||
private final val x: kotlin.Int
|
||||
private final val y: kotlin.CharSequence!
|
||||
public open fun x(): kotlin.Int
|
||||
public open fun y(): kotlin.CharSequence!
|
||||
public open fun y(/*0*/ p0: kotlin.Int): kotlin.CharSequence!
|
||||
public open fun z(): kotlin.Double
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package test
|
||||
|
||||
/*record*/ public final class SimpleRecord : java.lang.Record {
|
||||
public constructor SimpleRecord(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.CharSequence!)
|
||||
private final val x: kotlin.Int
|
||||
private final val y: kotlin.CharSequence!
|
||||
/*record component*/ public open fun x(): kotlin.Int
|
||||
/*record component*/ public open fun y(): kotlin.CharSequence!
|
||||
public open fun y(/*0*/ p0: kotlin.Int): kotlin.CharSequence!
|
||||
public open fun z(): kotlin.Double
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package test;
|
||||
public record SimpleRecord(int x, CharSequence y) {
|
||||
public CharSequence y() { return y; }
|
||||
public CharSequence y(int n) { return y; }
|
||||
public double z() { return 0.0; }
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package test
|
||||
|
||||
/*record*/ public final class SimpleRecord : java.lang.Record {
|
||||
public constructor SimpleRecord(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.CharSequence!)
|
||||
/*record component*/ public open fun x(): kotlin.Int
|
||||
/*record component*/ public open fun y(): kotlin.CharSequence!
|
||||
public open fun y(/*0*/ n: kotlin.Int): kotlin.CharSequence!
|
||||
public open fun z(): kotlin.Double
|
||||
}
|
||||
Reference in New Issue
Block a user