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:
Mikhail Glukhikh
2015-07-03 12:11:08 +03:00
parent 4a27b4d614
commit 609d696202
68 changed files with 214 additions and 242 deletions
@@ -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,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()
}