[FIR] Fix computeTypeArguments() & add diagnostic for type args
This commit is contained in:
+1
-1
@@ -1,4 +1,4 @@
|
||||
fun test() {
|
||||
fun <T> foo(){}
|
||||
foo<in Int>()
|
||||
foo<<!PROJECTION_ON_NON_CLASS_TYPE_ARGUMENT!>in Int<!>>()
|
||||
}
|
||||
|
||||
@@ -6,10 +6,10 @@ fun <A, B, C> getTTT(x : Any) {}
|
||||
fun foo(a : Any?) {}
|
||||
|
||||
public fun main() {
|
||||
getT<*>()
|
||||
getT<<!PROJECTION_ON_NON_CLASS_TYPE_ARGUMENT!>*<!>>()
|
||||
<!UNRESOLVED_REFERENCE!>ggetT<!><*>()
|
||||
getTT<*, *>()
|
||||
getTT<*, Int>()
|
||||
getTT<Int, *>()
|
||||
foo(getTTT<Int, *, Int>(1))
|
||||
getTT<<!PROJECTION_ON_NON_CLASS_TYPE_ARGUMENT!>*<!>, <!PROJECTION_ON_NON_CLASS_TYPE_ARGUMENT!>*<!>>()
|
||||
getTT<<!PROJECTION_ON_NON_CLASS_TYPE_ARGUMENT!>*<!>, Int>()
|
||||
getTT<Int, <!PROJECTION_ON_NON_CLASS_TYPE_ARGUMENT!>*<!>>()
|
||||
foo(getTTT<Int, <!PROJECTION_ON_NON_CLASS_TYPE_ARGUMENT!>*<!>, Int>(1))
|
||||
}
|
||||
|
||||
+1
-1
@@ -19,5 +19,5 @@ class A {
|
||||
}
|
||||
|
||||
fun test4(a: A) {
|
||||
a.bar<out out Int>()
|
||||
a.bar<<!PROJECTION_ON_NON_CLASS_TYPE_ARGUMENT!>out out Int<!>>()
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// !WITH_NEW_INFERENCE
|
||||
// NI_EXPECTED_FILE
|
||||
|
||||
val unwrapped = some.<!SYNTAX!><<!><!UNRESOLVED_REFERENCE!>cabc<!><!UNRESOLVED_REFERENCE!><!SYNTAX!>$Wrapper<!><out Any>::unwrap<!>
|
||||
val unwrapped = some.<!SYNTAX!><<!><!UNRESOLVED_REFERENCE!>cabc<!><!UNRESOLVED_REFERENCE!><!SYNTAX!>$Wrapper<!><<!PROJECTION_ON_NON_CLASS_TYPE_ARGUMENT!>out Any<!>>::unwrap<!>
|
||||
+2
-2
@@ -2,5 +2,5 @@ class In<in T>(val x: Any)
|
||||
|
||||
typealias InAlias<T> = In<T>
|
||||
|
||||
val test1 = In<out String>("")
|
||||
val test2 = InAlias<out String>("")
|
||||
val test1 = In<<!PROJECTION_ON_NON_CLASS_TYPE_ARGUMENT!>out String<!>>("")
|
||||
val test2 = InAlias<<!PROJECTION_ON_NON_CLASS_TYPE_ARGUMENT!>out String<!>>("")
|
||||
|
||||
+1
-1
@@ -11,5 +11,5 @@ typealias CT<T> = C<T>
|
||||
val test1 = CStar()
|
||||
val test2 = CIn()
|
||||
val test3 = COut()
|
||||
val test4 = CT<*>()
|
||||
val test4 = CT<<!PROJECTION_ON_NON_CLASS_TYPE_ARGUMENT!>*<!>>()
|
||||
val test5 = CT<CT<*>>()
|
||||
Reference in New Issue
Block a user