Introduce FIR_IDENTICAL for FIR vs old frontend tests #KT-36879 Fixed

This commit is contained in:
Mikhail Glukhikh
2020-03-04 17:54:33 +03:00
parent 186e0b0cba
commit 8884cbe415
2268 changed files with 1175 additions and 19754 deletions
@@ -1,24 +0,0 @@
// FILE: test.kt
public interface Test {
fun test(): String {
return "123";
}
}
interface KTrait : Test {
fun ktest() {
super.test()
test()
}
}
class A : KTrait {
fun b() {
super.test()
test()
}
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// FILE: test.kt
public interface Test {
@@ -1,51 +0,0 @@
// Check that it works with inherited members
//
// DeeperBase DeeperInterface
// | |
// DeepBase DeepInterface
// \ /
// \/
// DeepDerived
//
open class DeeperBase {
open fun deeperBaseFun() {}
open val deeperBaseProp: Int
get() = 333
}
open class DeepBase : DeeperBase() {
}
interface DeeperInterface {
fun deeperInterfaceFun() {}
}
interface DeepInterface : DeeperInterface {
fun deepInterfaceFun() {}
}
class DeepDerived : DeepBase(), DeepInterface {
override fun deeperBaseFun() {}
override val deeperBaseProp: Int
get() = 444
override fun deeperInterfaceFun() {}
override fun deepInterfaceFun() {}
fun callsSuperDeeperBaseFun() {
super.deeperBaseFun()
}
fun getsSuperDeeperBaseProp(): Int =
super.deeperBaseProp
fun callsSuperInterfaceFuns() {
super.deeperInterfaceFun()
super.deepInterfaceFun()
super<DeepInterface>.deeperInterfaceFun()
super<DeepInterface>.deepInterfaceFun()
}
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// Check that it works with inherited members
//
// DeeperBase DeeperInterface
@@ -1,22 +0,0 @@
open class GenericBaseClass<T> {
open fun foo(x: T): T = x
}
interface GenericBaseInterface<T> {
fun bar(x: T): T = x
}
class GenericDerivedClass<T> : GenericBaseClass<T>(), GenericBaseInterface<T> {
override fun foo(x: T): T = super.foo(x)
override fun bar(x: T): T = super.bar(x)
}
class SpecializedDerivedClass : GenericBaseClass<Int>(), GenericBaseInterface<String> {
override fun foo(x: Int): Int = super.foo(x)
override fun bar(x: String): String = super.bar(x)
}
class MixedDerivedClass<T> : GenericBaseClass<Int>(), GenericBaseInterface<T> {
override fun foo(x: Int): Int = super.foo(x)
override fun bar(x: T): T = super.bar(x)
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
open class GenericBaseClass<T> {
open fun foo(x: T): T = x
}
@@ -1,8 +0,0 @@
interface IWithToString {
override fun toString(): String
}
class A : IWithToString {
// Should be Any#toString(), even though IWithToString defines an abstract toString.
override fun toString(): String = super.toString()
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
interface IWithToString {
override fun toString(): String
}
@@ -1,10 +0,0 @@
interface IFoo
interface IBar
class A : IFoo, IBar {
// Unqualified 'super' should be resolved to 'Any'.
override fun equals(other: Any?): Boolean = super.equals(other)
override fun hashCode(): Int = super.hashCode()
override fun toString(): String = super.toString()
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
interface IFoo
interface IBar