Integrate nullability into cone types, add & use FIR flexible type

FIR fake overrides are rendered now more precisely to test this process
This commit is contained in:
Mikhail Glukhikh
2019-02-11 19:15:37 +03:00
parent 3d77f3d129
commit f8e165dbe4
15 changed files with 137 additions and 30 deletions
@@ -0,0 +1,5 @@
public class A<T> {
public T foo(T t) {
return t;
}
}
@@ -0,0 +1,9 @@
class Some
class B : A<Some>() {
fun test() {
foo(Some())
}
}
@@ -0,0 +1,13 @@
FILE: simpleFakeOverride.kt
public final class Some {
public constructor(): super<R|kotlin/Any|>()
}
public final class B : R|A<Some>| {
public constructor(): super<R|A<Some>|>()
public final function test(): R|kotlin/Unit| {
R|FakeOverride</A.foo: R|ft<T, T>|!>|(<Unresolved name: Some>#())
}
}