[FIR] Match type in super<type> access with actual supertypes of class

This commit is contained in:
Dmitriy Novozhilov
2020-07-15 12:17:44 +03:00
parent 1ce4eca3a6
commit cedd1c133e
9 changed files with 63 additions and 40 deletions
@@ -23,11 +23,11 @@ FILE: qualifiedSupertypeExtendedByOtherSupertype.kt
}
public final fun test(): R|kotlin/Unit| {
this@R|/Test|.super<R|IBase<T>|>.R|/IBase.foo|()
this@R|/Test|.super<R|IBase<T>|>.R|/IBase.bar|()
this@R|/Test|.super<R|IDerived<T>|>.R|/IDerived.foo|()
this@R|/Test|.super<R|IDerived<T>|>.R|/IBase.bar|()
this@R|/Test|.super<R|IDerived<T>|>.R|/IDerived.qux|()
this@R|/Test|.super<R|IBase<kotlin/String>|>.R|/IBase.foo|()
this@R|/Test|.super<R|IBase<kotlin/String>|>.R|/IBase.bar|()
this@R|/Test|.super<R|IDerived<kotlin/String>|>.R|/IDerived.foo|()
this@R|/Test|.super<R|IDerived<kotlin/String>|>.R|/IBase.bar|()
this@R|/Test|.super<R|IDerived<kotlin/String>|>.R|/IDerived.qux|()
}
}
@@ -37,13 +37,13 @@ FILE: qualifiedSupertypeExtendedByOtherSupertype.kt
}
public final fun test(): R|kotlin/Unit| {
this@R|/Test2|.super<R|IBase<T>|>.R|/IBase.foo|()
this@R|/Test2|.super<R|IBase<T>|>.R|/IBase.bar|()
this@R|/Test2|.super<R|AliasedIBase|>.R|/IBase.foo|()
this@R|/Test2|.super<R|AliasedIBase|>.R|/IBase.bar|()
this@R|/Test2|.super<R|IDerived<T>|>.R|/IDerived.foo|()
this@R|/Test2|.super<R|IDerived<T>|>.R|/IBase.bar|()
this@R|/Test2|.super<R|IDerived<T>|>.R|/IDerived.qux|()
this@R|/Test2|.super<R|IBase<kotlin/String>|>.R|/IBase.foo|()
this@R|/Test2|.super<R|IBase<kotlin/String>|>.R|/IBase.bar|()
this@R|/Test2|.super<R|IBase<kotlin/String>|>.R|/IBase.foo|()
this@R|/Test2|.super<R|IBase<kotlin/String>|>.R|/IBase.bar|()
this@R|/Test2|.super<R|IDerived<kotlin/String>|>.R|/IDerived.foo|()
this@R|/Test2|.super<R|IDerived<kotlin/String>|>.R|/IBase.bar|()
this@R|/Test2|.super<R|IDerived<kotlin/String>|>.R|/IDerived.qux|()
}
}