e6b5cb5216
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
32 lines
938 B
Kotlin
Vendored
32 lines
938 B
Kotlin
Vendored
// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_EXPRESSION
|
|
|
|
// FILE: Observer.java
|
|
public interface Observer<K> {
|
|
void onChanged(K k);
|
|
}
|
|
|
|
// FILE: LiveData.java
|
|
public class LiveData<T> {
|
|
public void observe(java.lang.Runnable r, Observer<? super T> o) {}
|
|
}
|
|
|
|
// FILE: extension.kt
|
|
fun <T> LiveData<T>.observe(a: Any, observer: (T) -> Unit): Observer<T> {
|
|
return Observer { observer(it) }
|
|
}
|
|
|
|
// FILE: test.kt
|
|
fun <T> test1(r: Runnable, l: LiveData<T>): Observer<T> = l.<!COMPATIBILITY_WARNING!>observe<!>(r) { } // partial conversion
|
|
|
|
fun <T> test2(r: Runnable, o: Observer<T>, l: LiveData<T>) {
|
|
val a = l.observe(r, o) // no conversion
|
|
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Unit")!>a<!>
|
|
|
|
val b = l.observe({}, {}) // conversion for all arguments
|
|
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Unit")!>b<!>
|
|
|
|
val c = l.observe({}) {} // conversion for all arguments
|
|
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Unit")!>c<!>
|
|
}
|
|
|