Files
kotlin-fork/compiler/testData/diagnostics/tests/generics/innerClasses/outerArgumentsRequired.fir.kt
T
Kirill Rakhman 9ea4afe7c8 [FIR] Fix isValidTypeParameterFromOuterDeclaration check for local class
This fixes an IllegalArgumentException when
symbolProvider.getClassLikeSymbolByClassId is called with a local
class ID.

#KT-63656 Fixed
2023-11-23 14:24:47 +00:00

44 lines
1.1 KiB
Kotlin
Vendored

// WITH_STDLIB
import A.B.D
import A.B.C
import A.B.D.Innermost
class A<T> {
inner class B<F> {
inner class C<E>
inner class D {
inner class Innermost<X>
}
}
class Nested {
val x: <!OUTER_CLASS_ARGUMENTS_REQUIRED("class 'A'")!>B<String>?<!> = null
val y: <!OUTER_CLASS_ARGUMENTS_REQUIRED("class 'A'")!>B<String>.C<String>?<!> = null
val z: <!OUTER_CLASS_ARGUMENTS_REQUIRED("class 'A'")!>B<String>.D?<!> = null
val c: <!OUTER_CLASS_ARGUMENTS_REQUIRED("class 'B'")!>C<Int>?<!> = null
val d: <!OUTER_CLASS_ARGUMENTS_REQUIRED("class 'B'")!>D?<!> = null
val innerMost: <!OUTER_CLASS_ARGUMENTS_REQUIRED("class 'B'")!>Innermost<String>?<!> = null
fun foo() {
object {
val something = listOf<<!OUTER_CLASS_ARGUMENTS_REQUIRED!>B<String><!>>()
}
}
}
fun foo() {
object {
val something = listOf<B<String>>() // False positive in K1 KT-63732
}
}
}
fun <T> bar() {
data class Example(val foo: Int)
object {
val something = listOf<Example>()
}
}