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
@@ -1,9 +1,6 @@
package a
import java.lang.annotation.*
Retention(RetentionPolicy.RUNTIME)
annotation class Ann
annotation(retention = AnnotationRetention.RUNTIME) class Ann
interface Tr {
Ann
@@ -1,8 +1,5 @@
package constants
import java.lang.annotation.Retention
import java.lang.annotation.RetentionPolicy
public val b: Byte = 100
public val s: Short = 20000
public val i: Int = 2000000
@@ -14,5 +11,4 @@ public val c: Char = '\u03c0' // pi symbol
public val str: String = ":)"
@Retention(RetentionPolicy.RUNTIME)
public annotation class AnnotationClass(public val value: String)
public annotation(retention = AnnotationRetention.RUNTIME) class AnnotationClass(public val value: String)
@@ -1,5 +1,3 @@
import java.lang.annotation.Retention
import java.lang.annotation.RetentionPolicy
import a.*
Ann(i, s, f, d, l, b, bool, c, str)
@@ -8,8 +6,7 @@ class MyClass1
Ann(i2, s2, f2, d2, l2, b2, bool2, c2, str2)
class MyClass2
Retention(RetentionPolicy.RUNTIME)
annotation class Ann(
annotation(retention = AnnotationRetention.RUNTIME) class Ann(
val i: Int,
val s: Short,
val f: Float,