[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
This commit is contained in:
committed by
Space Team
parent
06684f207a
commit
1cc138431d
+5
@@ -16114,6 +16114,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
|
||||
runTest("compiler/testData/codegen/box/fakeOverride/kt65116.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("kt65274.kt")
|
||||
public void testKt65274() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/fakeOverride/kt65274.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("methodOfAnyFromInterface.kt")
|
||||
public void testMethodOfAnyFromInterface() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/fakeOverride/methodOfAnyFromInterface.kt");
|
||||
|
||||
Reference in New Issue
Block a user