Annotations have now retention of "RUNTIME" by default. Java retention is generated as given by kotlin annotation. Annotation rendering changed.
Annotation arguments with default values are rendered as ... if renderDefaultAnnotationArguments is true. Tests: java retention does not taken into account by Descriptor comparator. Java retentinon changed to kotlin retention in some tests + one new test with java retention added. More accurate tests for intentions in byte code (visibility controlled).
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
package test
|
||||
|
||||
data class My(val x: Int)
|
||||
@@ -0,0 +1,9 @@
|
||||
package test
|
||||
|
||||
kotlin.data() internal final class My {
|
||||
/*primary*/ public constructor My(/*0*/ x: kotlin.Int)
|
||||
internal final val x: kotlin.Int
|
||||
internal final fun <get-x>(): kotlin.Int
|
||||
internal final /*synthesized*/ fun component1(): kotlin.Int
|
||||
public final /*synthesized*/ fun copy(/*0*/ x: kotlin.Int = ...): test.My
|
||||
}
|
||||
@@ -2,6 +2,4 @@
|
||||
//SKIP_IN_RUNTIME_TEST
|
||||
package test
|
||||
|
||||
import java.lang.annotation.*
|
||||
|
||||
Retention(RetentionPolicy.RUNTIME) annotation class Anno
|
||||
annotation(retention = AnnotationRetention.RUNTIME) class Anno
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
package test
|
||||
|
||||
java.lang.annotation.Retention(value = RetentionPolicy.RUNTIME) kotlin.annotation.annotation() internal final annotation class Anno : kotlin.Annotation {
|
||||
kotlin.annotation.annotation(retention = AnnotationRetention.RUNTIME) internal final annotation class Anno : kotlin.Annotation {
|
||||
/*primary*/ public constructor Anno()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user