Optimize/simplify loadFunctions(Properties)ByName in FIR deserializer
This commit is contained in:
+6
-11
@@ -12,7 +12,6 @@ import org.jetbrains.kotlin.descriptors.SourceElement
|
|||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
import org.jetbrains.kotlin.fir.ThreadSafeMutableState
|
import org.jetbrains.kotlin.fir.ThreadSafeMutableState
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
import org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl
|
|
||||||
import org.jetbrains.kotlin.fir.deserialization.FirConstDeserializer
|
import org.jetbrains.kotlin.fir.deserialization.FirConstDeserializer
|
||||||
import org.jetbrains.kotlin.fir.deserialization.FirDeserializationContext
|
import org.jetbrains.kotlin.fir.deserialization.FirDeserializationContext
|
||||||
import org.jetbrains.kotlin.fir.deserialization.deserializeClassToSymbol
|
import org.jetbrains.kotlin.fir.deserialization.deserializeClassToSymbol
|
||||||
@@ -366,20 +365,16 @@ class KotlinDeserializedJvmSymbolsProvider(
|
|||||||
|
|
||||||
private fun loadFunctionsByName(part: PackagePartsCacheData, name: Name): List<FirCallableSymbol<*>> {
|
private fun loadFunctionsByName(part: PackagePartsCacheData, name: Name): List<FirCallableSymbol<*>> {
|
||||||
val functionIds = part.topLevelFunctionNameIndex[name] ?: return emptyList()
|
val functionIds = part.topLevelFunctionNameIndex[name] ?: return emptyList()
|
||||||
return functionIds.map { part.proto.getFunction(it) }
|
return functionIds.map {
|
||||||
.map {
|
part.context.memberDeserializer.loadFunction(part.proto.getFunction(it)).symbol
|
||||||
val firNamedFunction = part.context.memberDeserializer.loadFunction(it) as FirSimpleFunctionImpl
|
}
|
||||||
firNamedFunction.symbol
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun loadPropertiesByName(part: PackagePartsCacheData, name: Name): List<FirCallableSymbol<*>> {
|
private fun loadPropertiesByName(part: PackagePartsCacheData, name: Name): List<FirCallableSymbol<*>> {
|
||||||
val propertyIds = part.topLevelPropertyNameIndex[name] ?: return emptyList()
|
val propertyIds = part.topLevelPropertyNameIndex[name] ?: return emptyList()
|
||||||
return propertyIds.map { part.proto.getProperty(it) }
|
return propertyIds.map {
|
||||||
.map {
|
part.context.memberDeserializer.loadProperty(part.proto.getProperty(it)).symbol
|
||||||
val firProperty = part.context.memberDeserializer.loadProperty(it)
|
}
|
||||||
firProperty.symbol
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@FirSymbolProviderInternals
|
@FirSymbolProviderInternals
|
||||||
|
|||||||
Reference in New Issue
Block a user