[FIR2IR] Simplification of property building in lazy class
This commit is contained in:
@@ -10,7 +10,6 @@ import org.jetbrains.kotlin.fir.backend.*
|
|||||||
import org.jetbrains.kotlin.fir.backend.declareThisReceiverParameter
|
import org.jetbrains.kotlin.fir.backend.declareThisReceiverParameter
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
import org.jetbrains.kotlin.fir.resolve.buildUseSiteMemberScope
|
import org.jetbrains.kotlin.fir.resolve.buildUseSiteMemberScope
|
||||||
import org.jetbrains.kotlin.fir.scopes.impl.FirClassSubstitutionScope
|
|
||||||
import org.jetbrains.kotlin.fir.symbols.Fir2IrClassSymbol
|
import org.jetbrains.kotlin.fir.symbols.Fir2IrClassSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
||||||
@@ -146,14 +145,8 @@ class Fir2IrLazyClass(
|
|||||||
processedNames += declaration.name
|
processedNames += declaration.name
|
||||||
scope.processPropertiesByName(declaration.name) {
|
scope.processPropertiesByName(declaration.name) {
|
||||||
if (it is FirPropertySymbol) {
|
if (it is FirPropertySymbol) {
|
||||||
result += if (!it.isFakeOverride) {
|
// TODO: replace with getIrFieldOrPropertySymbol(it).owner with lazy property generation
|
||||||
declarationStorage.createIrProperty(it.fir, irParent = this, origin = origin)
|
result += declarationStorage.createIrProperty(it.fir, irParent = this, origin = origin)
|
||||||
} else {
|
|
||||||
val fakeOverrideSymbol =
|
|
||||||
FirClassSubstitutionScope.createFakeOverrideProperty(session, it.fir, it)
|
|
||||||
classifierStorage.preCacheTypeParameters(it.fir)
|
|
||||||
declarationStorage.createIrProperty(fakeOverrideSymbol.fir, irParent = this)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user