Files
kotlin-fork/compiler/testData/diagnostics/tests/j+k/wrongVarianceInJava.fir.kt
T
Denis Zharkov 2ad8488e6a FIR: Rewrite Java type mapping
Previoisly, there were two places where mapping had happened:
- toConeKotlinTypeWithNullability
- enhancePossiblyFlexible

The first one was used for supertypes and bounds and the second one
was used for other signature parts

The main idea is to perform type mapping once to a flexible type,
and then use it as it's needed (it's lower bound, or for the further ehnancement)

Also, this commit fixes flexibility for type arguments, see the tests
2020-02-19 15:53:34 +03:00

25 lines
450 B
Kotlin
Vendored

// !WITH_NEW_INFERENCE
// !CHECK_TYPE
// !DIAGNOSTICS: -UNUSED_PARAMETER
// FILE: A.java
public class A {
public static Out<? super CharSequence> foo() { return null; }
public static In<? extends CharSequence> bar() { return null; }
}
// FILE: main.kt
class Out<out E> {
fun x(): E = null!!
}
class In<in F> {
fun y(f: F) {}
}
fun test() {
A.foo().x() checkType { <!UNRESOLVED_REFERENCE!>_<!><Any?>() }
A.bar().y(null)
}