Files
kotlin-fork/compiler/testData/codegen/box/fakeOverride/kt65274.kt
T
Pavel Kunyavskiy 1cc138431d [Fir2IR] Get rid of simple symbol table usages
We have two sources of truth in Fir2Ir - declaration storages,
which maps fir to ir symbols and symbolTable which maps
IdSignature to ir symbol.

The long-term goal is to have only one - declaration storages. This
commit goes to this goal by removing all symbolTable usages that are
straightforward to remove, i.e., all except:

1. classes as there is some code, that uses signature inside ClassSymbol
2. functions/properties as sometimes declaration storage fails to match
symbols correctly (i.e. for generated data class members)
3. type parameters, as we need to remove functions first.

As a side effect, it fixes some of the signature clash cases on valid
code, as we no longer rely on signature uniqueness, except cases
mentioned above.

^KT-65274 Fixed
^KT-64990
2024-02-06 08:55:35 +00:00

20 lines
292 B
Kotlin
Vendored

// TARGET_BACKEND: JVM
// FILE: a/A.java
package a;
public class A {
static final String X = "Fail";
}
// FILE: B.java
public class B extends a.A {
private final String X = "OK";
public String get() { return X; }
}
// FILE: box.kt
class C : B()
fun box(): String = C().get()