[FIR] Implement TYPEALIAS_SHOULD_EXPAND_TO_CLASS
This commit is contained in:
committed by
teamcityserver
parent
e8a790993b
commit
937846b62d
@@ -9,7 +9,7 @@ typealias TTNullableTString = TNullableTString
|
||||
fun f3() = TTNullableTString::class
|
||||
|
||||
inline fun <reified T> f4(b: Boolean): Any {
|
||||
<!TOPLEVEL_TYPEALIASES_ONLY!>typealias X = T<!>
|
||||
<!TOPLEVEL_TYPEALIASES_ONLY!>typealias Y = T?<!>
|
||||
<!TOPLEVEL_TYPEALIASES_ONLY!>typealias X = <!TYPEALIAS_SHOULD_EXPAND_TO_CLASS!>T<!><!>
|
||||
<!TOPLEVEL_TYPEALIASES_ONLY!>typealias Y = <!TYPEALIAS_SHOULD_EXPAND_TO_CLASS!>T?<!><!>
|
||||
return if (b) <!UNRESOLVED_REFERENCE!>X<!>::class else <!UNRESOLVED_REFERENCE!>Y<!>::class
|
||||
}
|
||||
|
||||
-16
@@ -1,16 +0,0 @@
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER -TOPLEVEL_TYPEALIASES_ONLY
|
||||
|
||||
typealias ToTypeParam1<T> = T
|
||||
typealias ToTypeParam2<T> = ToTypeParam1<T>
|
||||
typealias ToTypeParam3<T1, T2> = ToTypeParam2<T1>
|
||||
typealias ToTypeParam4 = ToTypeParam1<Any>
|
||||
|
||||
typealias ToFun1 = () -> Unit
|
||||
typealias ToFun2<T> = (T) -> Unit
|
||||
|
||||
class Outer {
|
||||
typealias ToTypeParam1<T> = T
|
||||
typealias ToTypeParam2<T> = ToTypeParam1<T>
|
||||
typealias ToTypeParam3<T1, T2> = ToTypeParam2<T1>
|
||||
typealias ToTypeParam4 = ToTypeParam1<Any>
|
||||
}
|
||||
@@ -1,5 +1,8 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER -TOPLEVEL_TYPEALIASES_ONLY
|
||||
|
||||
typealias Dyn = <!TYPEALIAS_SHOULD_EXPAND_TO_CLASS, UNSUPPORTED!>dynamic<!>
|
||||
|
||||
typealias ToTypeParam1<T> = <!TYPEALIAS_SHOULD_EXPAND_TO_CLASS!>T<!>
|
||||
typealias ToTypeParam2<T> = <!TYPEALIAS_SHOULD_EXPAND_TO_CLASS!>ToTypeParam1<T><!>
|
||||
typealias ToTypeParam3<T1, T2> = <!TYPEALIAS_SHOULD_EXPAND_TO_CLASS!>ToTypeParam2<T1><!>
|
||||
|
||||
+2
@@ -10,9 +10,11 @@ public final class Outer {
|
||||
public typealias ToTypeParam3</*0*/ T1, /*1*/ T2> = Outer.ToTypeParam2<T1>
|
||||
public typealias ToTypeParam4 = Outer.ToTypeParam1<kotlin.Any>
|
||||
}
|
||||
public typealias Dyn = [ERROR : dynamic type in wrong context]
|
||||
public typealias ToFun1 = () -> kotlin.Unit
|
||||
public typealias ToFun2</*0*/ T> = (T) -> kotlin.Unit
|
||||
public typealias ToTypeParam1</*0*/ T> = T
|
||||
public typealias ToTypeParam2</*0*/ T> = ToTypeParam1<T>
|
||||
public typealias ToTypeParam3</*0*/ T1, /*1*/ T2> = ToTypeParam2<T1>
|
||||
public typealias ToTypeParam4 = ToTypeParam1<kotlin.Any>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user