[FIR] Implement EXPANDED_TYPE_CANNOT_BE_INHERITED, PROJECTION_IN_IMMEDIATE_ARGUMENT_TO_SUPERTYPE

Add `starAsModifier` to `modifierSetPosition`
This commit is contained in:
Ivan Kochurkin
2021-06-17 00:05:22 +03:00
committed by teamcityserver
parent 937846b62d
commit ec20f52707
15 changed files with 118 additions and 36 deletions
@@ -3,4 +3,4 @@ interface B<T> {}
interface C<T> {}
interface D<T> {}
interface Test : A<in Int>, B<out Int>, C<*>??<!NULLABLE_SUPERTYPE!>?<!>, D<Int> {}
interface Test : A<<!PROJECTION_IN_IMMEDIATE_ARGUMENT_TO_SUPERTYPE!>in<!> Int>, B<<!PROJECTION_IN_IMMEDIATE_ARGUMENT_TO_SUPERTYPE!>out<!> Int>, C<<!PROJECTION_IN_IMMEDIATE_ARGUMENT_TO_SUPERTYPE!>*<!>>??<!NULLABLE_SUPERTYPE!>?<!>, D<Int> {}
@@ -23,7 +23,7 @@ class Generic<T1> {
inner class Test1 : GI<T1>()
inner class Test2 : <!UNRESOLVED_REFERENCE!>GIInt<!>()
inner class Test3 : GIStar()
inner class Test3a : test.Generic<*>.Inner()
inner class Test3a : test.Generic<<!PROJECTION_IN_IMMEDIATE_ARGUMENT_TO_SUPERTYPE!>*<!>>.Inner()
inner class Test4<T2> : GG<T1, T2>()
inner class Test5 : GG<T1, Int>()
@@ -1,16 +0,0 @@
open class C<T>
typealias CStar = C<*>
typealias CIn = C<in Int>
typealias COut = C<out Int>
typealias CT<T> = C<T>
class Test1 : CStar()
class Test2 : CIn()
class Test3 : COut()
class Test4 : CStar {
constructor() : super()
}
class Test5 : CT<*>()
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
open class C<T>
typealias CStar = C<*>
@@ -15,18 +15,18 @@ typealias InStar = In<*>
typealias InIn = In<<!REDUNDANT_PROJECTION!>in<!> Int>
typealias InT<T> = In<T>
class Test1 : InvStar
class Test2 : InvIn
class Test3 : InvOut
class Test4 : InvT<*>
class Test1 : <!EXPANDED_TYPE_CANNOT_BE_INHERITED!>InvStar<!>
class Test2 : <!EXPANDED_TYPE_CANNOT_BE_INHERITED!>InvIn<!>
class Test3 : <!EXPANDED_TYPE_CANNOT_BE_INHERITED!>InvOut<!>
class Test4 : InvT<<!PROJECTION_IN_IMMEDIATE_ARGUMENT_TO_SUPERTYPE!>*<!>>
class Test5 : InvT<InvT<*>>
class Test6 : OutStar
class Test7 : OutOut
class Test6 : <!EXPANDED_TYPE_CANNOT_BE_INHERITED!>OutStar<!>
class Test7 : <!EXPANDED_TYPE_CANNOT_BE_INHERITED!>OutOut<!>
class Test8 : OutT<Int>
class Test9 : OutT<<!REDUNDANT_PROJECTION!>out<!> Int>
class Test9 : OutT<<!PROJECTION_IN_IMMEDIATE_ARGUMENT_TO_SUPERTYPE, REDUNDANT_PROJECTION!>out<!> Int>
class Test10 : InStar
class Test11 : InIn
class Test10 : <!EXPANDED_TYPE_CANNOT_BE_INHERITED!>InStar<!>
class Test11 : <!EXPANDED_TYPE_CANNOT_BE_INHERITED!>InIn<!>
class Test12 : InT<Int>
class Test13 : InT<<!REDUNDANT_PROJECTION!>in<!> Int>
class Test13 : InT<<!PROJECTION_IN_IMMEDIATE_ARGUMENT_TO_SUPERTYPE, REDUNDANT_PROJECTION!>in<!> Int>