[FIR2IR] Provide correct callable ids for fake overrides
This commit is contained in:
+6
-4
@@ -248,16 +248,18 @@ class Fir2IrDeclarationStorage(
|
||||
processedNames += name
|
||||
scope.processFunctionsByName(name) { functionSymbol ->
|
||||
if (functionSymbol is FirNamedFunctionSymbol) {
|
||||
val fakeOverrideSymbol =
|
||||
FirClassSubstitutionScope.createFakeOverrideFunction(session, functionSymbol.fir, functionSymbol)
|
||||
val fakeOverrideSymbol = FirClassSubstitutionScope.createFakeOverrideFunction(
|
||||
session, functionSymbol.fir, functionSymbol, derivedClassId = regularClass.symbol.classId
|
||||
)
|
||||
classifierStorage.preCacheTypeParameters(functionSymbol.fir)
|
||||
irClass.declarations += createIrFunction(fakeOverrideSymbol.fir, irClass)
|
||||
}
|
||||
}
|
||||
scope.processPropertiesByName(name) { propertySymbol ->
|
||||
if (propertySymbol is FirPropertySymbol) {
|
||||
val fakeOverrideSymbol =
|
||||
FirClassSubstitutionScope.createFakeOverrideProperty(session, propertySymbol.fir, propertySymbol)
|
||||
val fakeOverrideSymbol = FirClassSubstitutionScope.createFakeOverrideProperty(
|
||||
session, propertySymbol.fir, propertySymbol, derivedClassId = regularClass.symbol.classId
|
||||
)
|
||||
classifierStorage.preCacheTypeParameters(propertySymbol.fir)
|
||||
irClass.declarations += createIrProperty(fakeOverrideSymbol.fir, irClass)
|
||||
}
|
||||
|
||||
+1
-1
@@ -105,7 +105,7 @@ internal class FakeOverrideGenerator(
|
||||
} else if (fakeOverrideMode != FakeOverrideMode.SUBSTITUTION && originalFunction.allowsToHaveFakeOverrideIn(klass)) {
|
||||
// Trivial fake override case
|
||||
val fakeOverrideSymbol = FirClassSubstitutionScope.createFakeOverrideFunction(
|
||||
session, originalFunction, functionSymbol
|
||||
session, originalFunction, functionSymbol, derivedClassId = klass.symbol.classId
|
||||
)
|
||||
val fakeOverrideFunction = fakeOverrideSymbol.fir
|
||||
|
||||
|
||||
Reference in New Issue
Block a user