Do not create deep copy for MPP project is model is not a proxy
This commit is contained in:
+16
-9
@@ -956,14 +956,21 @@ open class KotlinMPPGradleProjectResolver : AbstractProjectResolverExtension() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun ProjectResolverContext.getMppModel(gradleModule: IdeaModule): KotlinMPPGradleModel? =
|
fun ProjectResolverContext.getMppModel(gradleModule: IdeaModule): KotlinMPPGradleModel? {
|
||||||
this.getExtraProject(gradleModule, KotlinMPPGradleModel::class.java)
|
val mppModel = this.getExtraProject(gradleModule, KotlinMPPGradleModel::class.java)
|
||||||
?.let { kotlinMppModel ->
|
return if (mppModel is Proxy) {
|
||||||
KotlinMPPGradleProjectResolver.proxyObjectCloningCache[kotlinMppModel] as? KotlinMPPGradleModelImpl ?: KotlinMPPGradleModelImpl(
|
this.getExtraProject(gradleModule, KotlinMPPGradleModel::class.java)
|
||||||
kotlinMppModel,
|
?.let { kotlinMppModel ->
|
||||||
KotlinMPPGradleProjectResolver.proxyObjectCloningCache
|
KotlinMPPGradleProjectResolver.proxyObjectCloningCache[kotlinMppModel] as? KotlinMPPGradleModelImpl
|
||||||
).also {
|
?: KotlinMPPGradleModelImpl(
|
||||||
KotlinMPPGradleProjectResolver.proxyObjectCloningCache[kotlinMppModel] = it
|
kotlinMppModel,
|
||||||
|
KotlinMPPGradleProjectResolver.proxyObjectCloningCache
|
||||||
|
).also {
|
||||||
|
KotlinMPPGradleProjectResolver.proxyObjectCloningCache[kotlinMppModel] = it
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
|
mppModel
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user