Inline Type Alias

#KT-12903 Fixed
This commit is contained in:
Alexey Sedunov
2016-07-15 12:03:51 +03:00
parent 7773a1c4e0
commit ccfca0e3dd
27 changed files with 496 additions and 74 deletions
@@ -0,0 +1,7 @@
class A
typealias <caret>F = A.(A) -> A
typealias G1 = (F) -> F
typealias G2 = F.() -> F
typealias G3 = F.(F) -> F
@@ -0,0 +1,5 @@
class A
typealias G1 = (A.(A) -> A) -> A.(A) -> A
typealias G2 = (A.(A) -> A).() -> A.(A) -> A
typealias G3 = (A.(A) -> A).(A.(A) -> A) -> A.(A) -> A
@@ -0,0 +1,7 @@
class A
typealias <caret>F = (A) -> A
typealias G1 = (F) -> F
typealias G2 = F.() -> F
typealias G3 = F.(F) -> F
@@ -0,0 +1,5 @@
class A
typealias G1 = ((A) -> A) -> (A) -> A
typealias G2 = (A) -> A.() -> (A) -> A
typealias G3 = (A) -> A.((A) -> A) -> (A) -> A
@@ -0,0 +1,7 @@
class A
typealias <caret>F = (A) -> A
fun foo() {
val f: F?
}
@@ -0,0 +1,5 @@
class A
fun foo() {
val f: ((A) -> A)?
}
@@ -0,0 +1,7 @@
package b
import a.R
typealias S = R<Int>
fun foo() = R(1)
@@ -0,0 +1,9 @@
package b
import a.A
import a.R
import c.C
typealias S = A<C<Int>>
fun foo() = R(1)
@@ -0,0 +1,3 @@
package c
class C<X>
@@ -0,0 +1,3 @@
package c
class C<X>
@@ -0,0 +1,13 @@
package a
import c.C
class A<X>
typealias <caret>R<X> = A<C<X>>
typealias I = R<String>
fun R(n: Int) {
}
@@ -0,0 +1,11 @@
package a
import c.C
class A<X>
typealias I = A<C<String>>
fun R(n: Int) {
}
@@ -0,0 +1,5 @@
package b
import a.R
typealias S = R<Int>
@@ -0,0 +1,6 @@
package b
import a.A
import c.C
typealias S = A<C<Int>>
@@ -0,0 +1,3 @@
package c
class C<X>
@@ -0,0 +1,3 @@
package c
class C<X>
@@ -0,0 +1,9 @@
package a
import c.C
class A<X>
typealias <caret>R<X> = A<C<X>>
typealias I = R<String>
@@ -0,0 +1,7 @@
package a
import c.C
class A<X>
typealias I = A<C<String>>
@@ -0,0 +1,7 @@
class A
typealias <caret>X = A
fun foo() {
val x: X = X()
}
@@ -0,0 +1,5 @@
class A
fun foo() {
val x: A = A()
}