Add @JvmRecord annotation and relevant diagnostics

^KT-43677 In Progress
This commit is contained in:
Denis.Zharkov
2020-11-25 12:54:40 +03:00
parent 059e2aab7a
commit 4f5db241ea
13 changed files with 173 additions and 5 deletions
@@ -113,6 +113,14 @@ public expect annotation class JvmWildcard()
@OptionalExpectation
public expect annotation class JvmInline()
/**
* Instructs compiler to mark the class as a record and generate relevant toString/equals/hashCode methods
*/
@Target(AnnotationTarget.CLASS)
@MustBeDocumented
@OptionalExpectation
public expect annotation class JvmRecord
/**
* Marks the JVM backing field of the annotated property as `volatile`, meaning that writes to this field
* are immediately made visible to other threads.
@@ -157,4 +165,5 @@ public expect annotation class Synchronized()
@MustBeDocumented
@SinceKotlin("1.2")
@OptionalExpectation
internal expect annotation class JvmPackageName(val name: String)
internal expect annotation class JvmPackageName(val name: String)