[FIR] Add more type params checks

VARIANCE_ON_TYPE_PARAMETER_NOT_ALLOWED
BOUND_ON_TYPE_ALIAS_PARAMETER_NOT_ALLOWED
This commit is contained in:
Andrey Zinovyev
2021-04-11 19:33:12 +03:00
committed by TeamCityServer
parent fb1b253d1e
commit 14fe570a00
15 changed files with 128 additions and 42 deletions
@@ -1,17 +0,0 @@
fun <in T> f() {
}
fun <out T> g() {
}
fun <out T, in X, Y> h() {
}
val <out T> T.x: Int
get() = 1
val <in T> T.y: Int
get() = 1
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
fun <<!VARIANCE_ON_TYPE_PARAMETER_NOT_ALLOWED!>in<!> T> f() {
}
@@ -14,4 +15,4 @@ val <<!VARIANCE_ON_TYPE_PARAMETER_NOT_ALLOWED!>out<!> T> T.x: Int
get() = 1
val <<!VARIANCE_ON_TYPE_PARAMETER_NOT_ALLOWED!>in<!> T> T.y: Int
get() = 1
get() = 1
@@ -14,7 +14,7 @@ fun test3() {
}
class A {
fun <out <!REPEATED_MODIFIER!>out<!> T> bar() {
fun <<!VARIANCE_ON_TYPE_PARAMETER_NOT_ALLOWED!>out<!> <!REPEATED_MODIFIER!>out<!> T> bar() {
}
}
@@ -1,3 +1,3 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER
typealias R<T: List<R>> = List<T>
typealias R<T: <!BOUND_ON_TYPE_ALIAS_PARAMETER_NOT_ALLOWED!>List<R><!>> = List<T>
@@ -1,8 +1,8 @@
// !DIAGNOSTICS: -UNUSED_TYPEALIAS_PARAMETER
typealias WithVariance<<!VARIANCE_ON_TYPE_PARAMETER_NOT_ALLOWED!>in<!> X, <!VARIANCE_ON_TYPE_PARAMETER_NOT_ALLOWED!>out<!> Y> = Int
typealias WithBounds1<T : T> = Int
typealias WithBounds2<X : Y, Y : X> = Int
typealias WithBounds1<T : <!BOUND_ON_TYPE_ALIAS_PARAMETER_NOT_ALLOWED!>T<!>> = Int
typealias WithBounds2<X : <!BOUND_ON_TYPE_ALIAS_PARAMETER_NOT_ALLOWED!>Y<!>, Y : <!BOUND_ON_TYPE_ALIAS_PARAMETER_NOT_ALLOWED!>X<!>> = Int
typealias WithBounds3<X> <!SYNTAX!>where X : Any<!> = Int