Recursive annotations are now possible for properties / functions / classes / primary constructors #EA-66984 Fixed #EA-63992 Fixed #EA-64272 Fixed

A set of tests provided.
This commit is contained in:
Mikhail Glukhikh
2015-06-02 10:38:25 +03:00
parent 0c1a8ab8ff
commit 98407a7c4b
31 changed files with 261 additions and 12 deletions
@@ -0,0 +1,7 @@
fun add(a: Int, b: Int) = a + b
interface A {
fun shuffle<T>(x: List<T>): List<T>
fun foo<T>(f : (List<T>) -> List<T>, x : List<T>)
fun f() : (Int, Int) -> Int = ::add
}
@@ -0,0 +1,12 @@
package
internal fun add(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.Int): kotlin.Int
internal interface A {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
internal open fun f(): (kotlin.Int, kotlin.Int) -> kotlin.Int
internal abstract fun </*0*/ T> foo(/*0*/ f: (kotlin.List<T>) -> kotlin.List<T>, /*1*/ x: kotlin.List<T>): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
internal abstract fun </*0*/ T> shuffle(/*0*/ x: kotlin.List<T>): kotlin.List<T>
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}