[FIR2IR] Simplification of property building in lazy class

This commit is contained in:
Mikhail Glukhikh
2020-06-19 16:25:29 +03:00
parent a8db7b3ba6
commit 7243d04f58
@@ -10,7 +10,6 @@ import org.jetbrains.kotlin.fir.backend.*
import org.jetbrains.kotlin.fir.backend.declareThisReceiverParameter
import org.jetbrains.kotlin.fir.declarations.*
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.impl.FirNamedFunctionSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
@@ -146,14 +145,8 @@ class Fir2IrLazyClass(
processedNames += declaration.name
scope.processPropertiesByName(declaration.name) {
if (it is FirPropertySymbol) {
result += if (!it.isFakeOverride) {
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)
}
// TODO: replace with getIrFieldOrPropertySymbol(it).owner with lazy property generation
result += declarationStorage.createIrProperty(it.fir, irParent = this, origin = origin)
}
}
}