[DI] Do not recreate collections in case of empty results

^KT-52756
This commit is contained in:
Mikhail Zarechenskiy
2022-06-20 14:07:04 +02:00
committed by teamcity
parent 5b1581486b
commit f4944d80b9
@@ -139,7 +139,14 @@ open class SingletonTypeComponentDescriptor(container: ComponentContainer, val k
override fun getDependencies(context: ValueResolveContext): Collection<Type> {
val classInfo = klass.getInfo()
return classInfo.constructorInfo?.parameters.orEmpty() + classInfo.setterInfos.flatMap { it.parameters }
val constructorParameters = classInfo.constructorInfo?.parameters.orEmpty()
val setterInfos = classInfo.setterInfos
// In most cases, setterInfos is empty (KT-52756)
return if (setterInfos.isEmpty())
constructorParameters
else
constructorParameters + setterInfos.flatMap { it.parameters }
}
override fun toString(): String = "Singleton: ${klass.simpleName}"