Files
kotlin-fork/compiler/testData/diagnostics/tests/generics/innerClasses/outerArgumentsRequired.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.2 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<<!OUTER_CLASS_ARGUMENTS_REQUIRED!>B<!><String>>() // False positive in K1 KT-63732
}
}
}
fun <T> bar() {
data class Example(val foo: Int)
object {
val something = listOf<Example>()
}
}