FIR2IR: populate overriddenSymbols for overriding functions

#KT-38416 Fixed
This commit is contained in:
Jinseong Jeon
2020-04-23 23:57:47 -07:00
committed by Mikhail Glukhikh
parent b51649dcc6
commit 57fe01c375
122 changed files with 167 additions and 112 deletions
@@ -1,4 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
inline class X(val x: Any)
@@ -1,4 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
inline class X(val x: Any?)
@@ -1,4 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
inline class X(val x: Any)
@@ -1,4 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
interface IFoo {
fun foo(): String
@@ -1,4 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
inline class X(val x: Char)
@@ -1,4 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
// WITH_RUNTIME
// KJS_WITH_FULL_RUNTIME
@@ -1,4 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
interface IQ1
interface IQ2
@@ -1,5 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
inline class X(val x: Any)
interface IFoo<T> {
@@ -1,5 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
interface GFoo<out T> {
fun foo(): T
}
@@ -1,4 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
inline class X(val x: String)
@@ -1,5 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
inline class ResultOrClosed(val x: Any?)
interface A<T> {
@@ -1,5 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
inline class X(val x: Any?)
interface IFoo<out T : X?> {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
// IGNORE_BACKEND: JS_IR
inline class X(val x: Any?)
@@ -1,4 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
inline class X(val x: Any?)
@@ -1,4 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
inline class X(val x: Any?)
@@ -1,4 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
interface IQ {
fun ok(): String
@@ -1,4 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
interface IQ {
fun ok(): String
@@ -1,5 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
interface IBase
interface IQ : IBase {
@@ -1,5 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
interface IBase
interface IQ : IBase {
@@ -1,5 +1,3 @@
// IGNORE_BACKEND_FIR: JVM_IR
interface IFoo1<out T> {
fun foo(): T
}
@@ -1,5 +1,4 @@
// !LANGUAGE: +InlineClasses
// IGNORE_BACKEND_FIR: JVM_IR
inline class InlinedComparable(val x: Int) : Comparable<InlinedComparable> {
override fun compareTo(other: InlinedComparable): Int {
@@ -1,5 +1,4 @@
// !LANGUAGE: +InlineClasses
// IGNORE_BACKEND_FIR: JVM_IR
interface Base {
fun result(): Int
@@ -1,5 +1,4 @@
// !LANGUAGE: +InlineClasses
// IGNORE_BACKEND_FIR: JVM_IR
inline class Z(val z: Int)
@@ -1,5 +1,4 @@
// !LANGUAGE: +InlineClasses
// IGNORE_BACKEND_FIR: JVM_IR
interface IFoo {
fun foo(): String
@@ -1,4 +1,5 @@
// !LANGUAGE: +InlineClasses
// IGNORE_BACKEND_FIR: JVM_IR
abstract class GenericBase<T> {
abstract fun foo(x: T): T
@@ -1,5 +1,4 @@
// !LANGUAGE: +InlineClasses
// IGNORE_BACKEND_FIR: JVM_IR
inline class A(val s: String)
@@ -1,5 +1,4 @@
// !LANGUAGE: +InlineClasses
// IGNORE_BACKEND_FIR: JVM_IR
interface IFoo {
fun Long.foo() = bar()
@@ -1,5 +1,4 @@
// !LANGUAGE: +InlineClasses
// IGNORE_BACKEND_FIR: JVM_IR
interface IFoo {
fun foo() = bar()
@@ -1,5 +1,4 @@
// !LANGUAGE: +InlineClasses
// IGNORE_BACKEND_FIR: JVM_IR
interface IFoo<T : IFoo<T>> {
fun T.foo(): String = bar()
@@ -1,5 +1,4 @@
// !LANGUAGE: +InlineClasses
// IGNORE_BACKEND_FIR: JVM_IR
interface IFoo<T : IFoo<T>> {
fun foo(t: T): String = t.bar()
@@ -1,5 +1,4 @@
// !LANGUAGE: +InlineClasses
// IGNORE_BACKEND_FIR: JVM_IR
interface IFoo {
fun foo(): String
@@ -1,5 +1,4 @@
// !LANGUAGE: +InlineClasses
// IGNORE_BACKEND_FIR: JVM_IR
interface IBase {
fun testDefault1() = if (this is B) this.foo() else "fail"