in kmp-modifier/src/main/kotlin/com/intellij/packageSearch/mppDependencyUpdater/dsl/models/KotlinDslModel.kt [28:50]
fun declareSourceSet(sourceSetName: String): SourceSetModel? {
val sourceSetsElement = dslElement.elements["sourceSets"] as? SourceSetsElement ?: return null
val sourceSetElement = when (sourceSetName) {
// create "$sourceSetName { ... "
"commonMain" -> CommonMainSourceSetElement(sourceSetsElement).also { sourceSetsElement.setNewElement(it) }
"commonTest" -> CommonTestSourceSetElement(sourceSetsElement).also { sourceSetsElement.setNewElement(it) }
else -> {
// create "val $sourceSetName by getting { ... "
val sourceSetProperty = GradleDslDelegatedProperty(sourceSetsElement, GradleNameElement.create(sourceSetName))
sourceSetProperty.externalSyntax = ExternalNameInfo.ExternalNameSyntax.ASSIGNMENT
sourceSetProperty.elementType = PropertyType.DERIVED
val getting = GettingDslElement(sourceSetProperty)
sourceSetProperty.setNewElement(getting)
sourceSetsElement.setNewElement(sourceSetProperty)
getting
}
}
return SourceSetModel(sourceSetElement)
}