summaryrefslogtreecommitdiff
path: root/plugins/kotlin/gradle/gradle-tooling/src/org/jetbrains/kotlin/idea/gradleTooling/builders/KotlinModuleBuilder.kt
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/kotlin/gradle/gradle-tooling/src/org/jetbrains/kotlin/idea/gradleTooling/builders/KotlinModuleBuilder.kt')
-rw-r--r--plugins/kotlin/gradle/gradle-tooling/src/org/jetbrains/kotlin/idea/gradleTooling/builders/KotlinModuleBuilder.kt18
1 files changed, 18 insertions, 0 deletions
diff --git a/plugins/kotlin/gradle/gradle-tooling/src/org/jetbrains/kotlin/idea/gradleTooling/builders/KotlinModuleBuilder.kt b/plugins/kotlin/gradle/gradle-tooling/src/org/jetbrains/kotlin/idea/gradleTooling/builders/KotlinModuleBuilder.kt
new file mode 100644
index 000000000000..efb0f173269c
--- /dev/null
+++ b/plugins/kotlin/gradle/gradle-tooling/src/org/jetbrains/kotlin/idea/gradleTooling/builders/KotlinModuleBuilder.kt
@@ -0,0 +1,18 @@
+// Copyright 2000-2021 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+package org.jetbrains.kotlin.idea.gradleTooling.builders
+
+import org.jetbrains.kotlin.idea.gradleTooling.KotlinKPMModuleImpl
+import org.jetbrains.kotlin.idea.gradleTooling.KotlinProjectModelImportingContext
+import org.jetbrains.kotlin.idea.gradleTooling.reflect.KotlinModuleReflection
+import org.jetbrains.kotlin.idea.projectModel.KotlinKPMModule
+
+object KotlinModuleBuilder : KotlinProjectModelComponentBuilder<KotlinModuleReflection, KotlinKPMModule> {
+ override fun buildComponent(origin: KotlinModuleReflection, importingContext: KotlinProjectModelImportingContext): KotlinKPMModule? {
+ return KotlinKPMModuleImpl(
+ moduleIdentifier = KotlinModuleIdentifierBuilder.buildComponent(origin.moduleIdentifier ?: return null) ?: return null,
+ fragments = origin.fragments.orEmpty().mapNotNull { fragmentReflection ->
+ KotlinGradleFragmentBuilder.buildComponent(fragmentReflection, importingContext)
+ }
+ )
+ }
+}