Files
kotlin-fork/compiler/testData/diagnostics/tests/properties/inferenceFromGetters/unsupportedInferenceFromGetters.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

72 lines
2.0 KiB
Kotlin
Vendored

// !WITH_NEW_INFERENCE
// !LANGUAGE: -ShortSyntaxForPropertyGetters
// NI_EXPECTED_FILE
// blockBodyGetter.kt
<!UNSUPPORTED_FEATURE!>val x get() {
return 1
}<!>
// cantBeInferred.kt
<!UNSUPPORTED_FEATURE!>val x1 get() = <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER{NI}, TYPE_INFERENCE_NO_INFORMATION_FOR_PARAMETER{OI}!>foo<!>()<!>
<!UNSUPPORTED_FEATURE!>val y1 get() = <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER{NI}, TYPE_INFERENCE_NO_INFORMATION_FOR_PARAMETER{OI}!>bar<!>()<!>
fun <E> foo(): E = null!!
fun <E> bar(): List<E> = null!!
// explicitGetterType.kt
<!UNSUPPORTED_FEATURE!>val x2 get(): String = foo()<!>
<!UNSUPPORTED_FEATURE!>val y2 get(): List<Int> = bar()<!>
<!UNSUPPORTED_FEATURE!>val z2 get(): List<Int> {
return bar()
}<!>
<!MUST_BE_INITIALIZED!>val u<!> get(): String = field
// members.kt
class A {
<!UNSUPPORTED_FEATURE!>val x get() = 1<!>
<!UNSUPPORTED_FEATURE!>val y get() = id(1)<!>
<!UNSUPPORTED_FEATURE!>val y2 get() = id(id(2))<!>
<!UNSUPPORTED_FEATURE!>val z get() = l("")<!>
<!UNSUPPORTED_FEATURE!>val z2 get() = l(id(l("")))<!>
<!UNSUPPORTED_FEATURE!>val <T> T.u get() = id(this)<!>
}
fun <E> id(x: E) = x
fun <E> l(<!UNUSED_PARAMETER!>x<!>: E): List<E> = null!!
// vars
<!UNSUPPORTED_FEATURE!>var x3
get() = 1
set(<!UNUSED_PARAMETER!>q<!>) {
}<!>
// recursive
<!UNSUPPORTED_FEATURE!>val x4 get() = <!DEBUG_INFO_MISSING_UNRESOLVED{NI}, TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM!>x4<!><!>
// null as nothing
<!UNSUPPORTED_FEATURE!>val x5 get() = null<!>
<!UNSUPPORTED_FEATURE!>val <!IMPLICIT_NOTHING_PROPERTY_TYPE!>y5<!> get() = null!!<!>
// objectExpression.kt
object Outer {
<!UNSUPPORTED_FEATURE!>private var x
get() = object : CharSequence {
override val length: Int
get() = 0
override fun get(index: Int): Char {
return ' '
}
override fun subSequence(startIndex: Int, endIndex: Int) = ""
fun bar() {
}
}
set(q) {
x = q
}<!>
}