1cc138431d
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
20 lines
292 B
Kotlin
Vendored
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() |