Type aliases: do not reparse RHS of type alias declaration in expanded type resolution

This commit is contained in:
Dmitry Petrov
2016-06-02 14:12:10 +03:00
parent 79ce614591
commit df335b9e8d
10 changed files with 48 additions and 20 deletions
@@ -2,8 +2,8 @@
class TColl<T, C : Collection<T>>
typealias TCErr = TColl<String, <!UPPER_BOUND_VIOLATED, UPPER_BOUND_VIOLATED!>Any<!>>
typealias TCErr2 = <!UPPER_BOUND_VIOLATED_IN_TYPEALIAS_EXPANSION!>TCErr<!>
typealias TCErr = TColl<String, <!UPPER_BOUND_VIOLATED!>Any<!>>
typealias TCErr2 = TCErr
fun testType1(x: <!UPPER_BOUND_VIOLATED_IN_TYPEALIAS_EXPANSION!>TCErr<!>) {}
val testCtor1 = <!UPPER_BOUND_VIOLATED_IN_TYPEALIAS_EXPANSION!>TCErr()<!>
@@ -0,0 +1,3 @@
val f: () -> Unit = {}
typealias F = () -> Unit
@@ -0,0 +1,4 @@
package
public typealias F = () -> kotlin.Unit
public val f: () -> kotlin.Unit
+2 -2
View File
@@ -1,4 +1,4 @@
typealias A = <!RECURSIVE_TYPEALIAS_EXPANSION!>B<!>
typealias B = <!RECURSIVE_TYPEALIAS_EXPANSION!>A<!>
typealias A = B
typealias B = A
val x: <!RECURSIVE_TYPEALIAS_EXPANSION!>A<!> = TODO()
@@ -3,13 +3,13 @@ class Out<out T>
class Inv<T>
typealias In1<T> = In<T>
typealias In2<T> = In<<!REDUNDANT_PROJECTION, REDUNDANT_PROJECTION!>in<!> T>
typealias In3<T> = In<<!CONFLICTING_PROJECTION, CONFLICTING_PROJECTION!>out<!> T>
typealias In2<T> = In<<!REDUNDANT_PROJECTION!>in<!> T>
typealias In3<T> = In<<!CONFLICTING_PROJECTION!>out<!> T>
typealias In4<T> = In<*>
typealias Out1<T> = Out<T>
typealias Out2<T> = Out<<!CONFLICTING_PROJECTION, CONFLICTING_PROJECTION!>in<!> T>
typealias Out3<T> = Out<<!REDUNDANT_PROJECTION, REDUNDANT_PROJECTION!>out<!> T>
typealias Out2<T> = Out<<!CONFLICTING_PROJECTION!>in<!> T>
typealias Out3<T> = Out<<!REDUNDANT_PROJECTION!>out<!> T>
typealias Out4<T> = Out<*>
typealias Inv1<T> = Inv<T>