Files
kotlin-fork/compiler/testData/diagnostics/tests/generics/finalUpperBoundWithoutOverride.kt
T
Dmitriy Novozhilov e6b5cb5216 [TD] Update diagnostics test data due to new test runners
Update includes:
- Changing syntax of `OI/`NI` tags from `<!NI;TAG!>` to `<!TAG{NI}!>`
- Fix some incorrect directives
- Change order of diagnostics in some places
- Remove ignored diagnostics from FIR test data (previously `DIAGNOSTICS` didn't work)
- Update FIR dumps in some places and add `FIR_IDENTICAL` if needed
- Replace all JAVAC_SKIP with SKIP_JAVAC directive
2020-12-16 19:52:25 +03:00

83 lines
2.4 KiB
Kotlin
Vendored

// !DIAGNOSTICS: -UNUSED_PARAMETER
// SKIP_TXT
// Issues: KT-25105
class Message1
class Task<T>
object Message2
enum class Message3
data class Message4(val x: Int)
interface Manager<T> {}
object MessageManager1 : Manager<Message1> {
fun <T : <!FINAL_UPPER_BOUND!>Message1<!>> execute1(task: Task<T>) {}
fun <T : <!FINAL_UPPER_BOUND!>Int<!>> execute2(task: T) {}
fun <T : <!FINAL_UPPER_BOUND!>Message2<!>> execute3() {}
}
object MessageManager2 : Manager<Message3> {
fun <T : Message3> execute4() {}
}
object MessageManager3 : Manager<Message4> {
fun <T : <!FINAL_UPPER_BOUND!>Message4<!>> execute5() {}
}
class MessageManager4 : Manager<Message1> {
fun <T : <!FINAL_UPPER_BOUND!>Message1<!>> execute1(task: Task<T>) {}
fun <T : <!FINAL_UPPER_BOUND!>Int<!>> execute2(task: T) {}
fun <T : <!FINAL_UPPER_BOUND!>Message2<!>> execute3() {}
}
class MessageManager5 : Manager<Message3> {
fun <T : Message3> execute4() {}
}
class MessageManager6 : Manager<Message4> {
fun <T : <!FINAL_UPPER_BOUND!>Message4<!>> execute5() {}
}
interface MessageManager7 : Manager<Message4> {
fun <T : <!FINAL_UPPER_BOUND!>Message4<!>> execute5() {}
}
interface MessageManager8 : Manager<Message1> {
fun <T : <!FINAL_UPPER_BOUND!>Message1<!>> execute1(task: Task<T>) {}
fun <T : <!FINAL_UPPER_BOUND!>Int<!>> execute2(task: T) {}
fun <T : <!FINAL_UPPER_BOUND!>Message2<!>> execute3() {}
}
interface MessageManager9 : Manager<Message3> {
fun <T : Message3> execute4() {}
}
object MessageManager10 : <!UNRESOLVED_REFERENCE!>Message5<!><Int>() {
fun <T : <!FINAL_UPPER_BOUND!>Int<!>> execute() {}
}
class MessageManager11<A> : <!UNRESOLVED_REFERENCE!>Message5<!><<!UNRESOLVED_REFERENCE!>Message5<!><A>>() {
fun <T : <!UNRESOLVED_REFERENCE!>Message5<!><A>> execute() {}
}
data class MessageManager12(val x: Int) : <!UNRESOLVED_REFERENCE!>Message5<!><Message2>() {
fun <T : <!FINAL_UPPER_BOUND!>Message2<!>> execute() {}
}
sealed class MessageManager13<A> : <!UNRESOLVED_REFERENCE!>Message5<!><A>() {
fun <T : A> execute() {}
}
class MessageManager14 : Manager<Message2> {
val <T : <!FINAL_UPPER_BOUND!>Message2<!>> T.x get() = 10
var <T : <!FINAL_UPPER_BOUND!>Message2<!>> T.y
get() = 10
set(value) {}
}
object MessageManager15 : Manager<Int> {
val <T : <!FINAL_UPPER_BOUND!>Int<!>> T.x get() = 10
var <T : <!FINAL_UPPER_BOUND!>Int<!>> T.y
get() = 10
set(value) {}
}