[FIR] Check rest OUTER_CLASS_ARGUMENTS_REQUIRED diagnostics on checkers stage

Add FirOuterClassArgumentsRequiredChecker
This commit is contained in:
Ivan Kochurkin
2021-07-06 01:24:53 +03:00
committed by TeamCityServer
parent 0fc8be4d60
commit 28a6928873
5 changed files with 121 additions and 7 deletions
@@ -1,7 +0,0 @@
interface Inv<X>
class Outer<E> {
inner class Inner
class Nested : Inv<Inner>
object Obj : Inv<Inner>
}
@@ -1,7 +1,10 @@
// FIR_IDENTICAL
interface Inv<X>
class Outer<E> {
inner class Inner
class Nested : Inv<<!OUTER_CLASS_ARGUMENTS_REQUIRED!>Inner<!>>
inner class Inner2 : Inv<Inner> // no error
object Obj : Inv<<!OUTER_CLASS_ARGUMENTS_REQUIRED!>Inner<!>>
}
@@ -19,6 +19,13 @@ public final class Outer</*0*/ E> {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final inner class Inner2 /*captured type parameters: /*0*/ E*/ : Inv<Outer<E>.Inner> {
public constructor Inner2()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class Nested : Inv<[ERROR : Inner]> {
public constructor Nested()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -33,3 +40,4 @@ public final class Outer</*0*/ E> {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}