FIR checker: fix position strategy of TYPE_PARAMETERS_IN_OBJECT

This commit is contained in:
Tianyu Geng
2021-07-22 16:27:04 -07:00
committed by TeamCityServer
parent acb7ba86bc
commit 4d9102f749
5 changed files with 7 additions and 27 deletions
@@ -1,15 +1,15 @@
<!TYPE_PARAMETERS_IN_OBJECT!>object A<!><T, K : T> {
<!TYPE_PARAMETERS_IN_OBJECT!>object B<!><L>
object A<!TYPE_PARAMETERS_IN_OBJECT!><T, K : T><!> {
object B<!TYPE_PARAMETERS_IN_OBJECT!><L><!>
}
class N {
companion <!TYPE_PARAMETERS_IN_OBJECT!>object<!><T> {
companion object<!TYPE_PARAMETERS_IN_OBJECT!><T><!> {
}
}
fun test() {
<!LOCAL_OBJECT_NOT_ALLOWED, TYPE_PARAMETERS_IN_OBJECT!>object M<!><H> {
<!LOCAL_OBJECT_NOT_ALLOWED!>object M<!><!TYPE_PARAMETERS_IN_OBJECT!><H><!> {
}
}
@@ -499,7 +499,7 @@ object DIAGNOSTICS_LIST : DiagnosticList("FirErrors") {
val OUTER_CLASS_ARGUMENTS_REQUIRED by error<PsiElement> {
parameter<FirRegularClassSymbol>("outer")
}
val TYPE_PARAMETERS_IN_OBJECT by error<PsiElement>()
val TYPE_PARAMETERS_IN_OBJECT by error<PsiElement>(PositioningStrategy.TYPE_PARAMETERS_LIST)
val ILLEGAL_PROJECTION_USAGE by error<PsiElement>()
val TYPE_PARAMETERS_IN_ENUM by error<PsiElement>()
val CONFLICTING_PROJECTION by error<KtTypeProjection>(PositioningStrategy.VARIANCE_MODIFIER) {
@@ -332,7 +332,7 @@ object FirErrors {
val WRONG_NUMBER_OF_TYPE_ARGUMENTS by error2<PsiElement, Int, FirRegularClassSymbol>()
val NO_TYPE_ARGUMENTS_ON_RHS by error2<PsiElement, Int, FirClassLikeSymbol<*>>()
val OUTER_CLASS_ARGUMENTS_REQUIRED by error1<PsiElement, FirRegularClassSymbol>()
val TYPE_PARAMETERS_IN_OBJECT by error0<PsiElement>()
val TYPE_PARAMETERS_IN_OBJECT by error0<PsiElement>(SourceElementPositioningStrategies.TYPE_PARAMETERS_LIST)
val ILLEGAL_PROJECTION_USAGE by error0<PsiElement>()
val TYPE_PARAMETERS_IN_ENUM by error0<PsiElement>()
val CONFLICTING_PROJECTION by error1<KtTypeProjection, ConeKotlinType>(SourceElementPositioningStrategies.VARIANCE_MODIFIER)
@@ -1,21 +0,0 @@
<!TYPE_PARAMETERS_IN_OBJECT!>object A<!><T>
<!TYPE_PARAMETERS_IN_OBJECT!>object B<!><in T, out R>
<!TYPE_PARAMETERS_IN_OBJECT!>object C<!><T : Comparable<T>>
class D {
companion <!TYPE_PARAMETERS_IN_OBJECT!>object<!><T>
}
class E {
companion <!TYPE_PARAMETERS_IN_OBJECT!>object<!><in T, out R>
}
class F {
companion <!TYPE_PARAMETERS_IN_OBJECT!>object C<!><T : Comparable<T>>
}
class G {
companion <!TYPE_PARAMETERS_IN_OBJECT!>object F<!><T>
}
<!TYPE_PARAMETERS_IN_OBJECT!>object H<!><T, R><!CONSTRUCTOR_IN_OBJECT!>()<!>
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
object A<!TYPE_PARAMETERS_IN_OBJECT!><T><!>
object B<!TYPE_PARAMETERS_IN_OBJECT!><in T, out R><!>
object C<!TYPE_PARAMETERS_IN_OBJECT!><T : Comparable<T>><!>