FIR: Add possibility to run SupertypeResolverTransformer ad-hoc

This commit is contained in:
Denis Zharkov
2019-08-27 20:10:19 +03:00
parent d9d6c38c2b
commit 122c229a8b
5 changed files with 124 additions and 23 deletions
@@ -0,0 +1,33 @@
// FILE: K1.kt
class K2: J1() {
class Q : Nested()
fun bar() {
foo()
baz()
superClass()
superI()
}
}
// FILE: J1.java
public class J1 extends K2() {
public class Nested {}
void baz() {}
}
// FILE: K2.kt
open class KFirst : SuperClass(), SuperI {
fun foo() {
}
}
// FILE: K3.kt
abstract class SuperClass {
fun superClass() {}
}
interface SuperI {
fun superI() {}
}
@@ -0,0 +1,46 @@
FILE: K1.kt
public final class K2 : R|J1| {
public constructor(): R|K2| {
super<R|J1|>()
}
public final class Q {
public constructor(): R|K2.Q| {
super<R|class error: Symbol not found, for `Nested`|>()
}
}
public final fun bar(): R|kotlin/Unit| {
<Unresolved name: foo>#()
<Unresolved name: baz>#()
<Unresolved name: superClass>#()
<Unresolved name: superI>#()
}
}
FILE: K2.kt
public open class KFirst : R|SuperClass|, R|SuperI| {
public constructor(): R|KFirst| {
super<R|SuperClass|>()
}
public final fun foo(): R|kotlin/Unit| {
}
}
FILE: K3.kt
public abstract class SuperClass : R|kotlin/Any| {
public constructor(): R|SuperClass| {
super<R|kotlin/Any|>()
}
public final fun superClass(): R|kotlin/Unit| {
}
}
public abstract interface SuperI : R|kotlin/Any| {
public open fun superI(): R|kotlin/Unit| {
}
}