Files
kotlin-fork/compiler/testData/diagnostics/tests/generics/innerClasses/iterator.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

38 lines
1013 B
Kotlin
Vendored

// !WITH_NEW_INFERENCE
// !CHECK_TYPE
// !DIAGNOSTICS: -ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE -UNUSED_VALUE -UNUSED_PARAMETER -UNUSED_VARIABLE
// JAVAC_EXPECTED_FILE
import java.util.*
class A<T> : AbstractCollection<T>() {
override fun iterator(): MyIt = MyIt()
override val size: Int
get() = 1
inner class MyIt : MutableIterator<T> {
override fun next(): T {
throw UnsupportedOperationException()
}
override fun hasNext(): Boolean {
throw UnsupportedOperationException()
}
override fun remove() {
throw UnsupportedOperationException()
}
}
}
fun <E> commonSupertype(x: E, y: E): E = x
fun foo() {
var myIt = A<String>().iterator()
myIt = <!TYPE_MISMATCH!>A<Int>().iterator()<!>
val csIt: Iterator<CharSequence> = A<String>().iterator()
commonSupertype(A<String>().iterator(), A<Int>().iterator()).checkType { <!UNRESOLVED_REFERENCE_WRONG_RECEIVER{NI}!>_<!><A<out Any>.MyIt>() }
}