[DI] Do not recreate collections in case of empty results
^KT-52756
This commit is contained in:
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> {
|
override fun getDependencies(context: ValueResolveContext): Collection<Type> {
|
||||||
val classInfo = klass.getInfo()
|
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}"
|
override fun toString(): String = "Singleton: ${klass.simpleName}"
|
||||||
|
|||||||
Reference in New Issue
Block a user