diff --git a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/BinaryModuleData.kt b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/BinaryModuleData.kt new file mode 100644 index 00000000000..66af8238f31 --- /dev/null +++ b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/BinaryModuleData.kt @@ -0,0 +1,48 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.fir + +import org.jetbrains.kotlin.name.Name +import org.jetbrains.kotlin.platform.TargetPlatform +import org.jetbrains.kotlin.resolve.PlatformDependentAnalyzerServices + +class BinaryModuleData( + val regular: FirModuleData, + val dependsOn: FirModuleData, + val friends: FirModuleData +) { + companion object { + fun createDependencyModuleData( + name: Name, + platform: TargetPlatform, + analyzerServices: PlatformDependentAnalyzerServices + ): FirModuleData { + return FirModuleDataImpl( + name, + dependencies = emptyList(), + dependsOnDependencies = emptyList(), + friendDependencies = emptyList(), + platform, + analyzerServices, + ) + } + + fun initialize( + mainModuleName: Name, + platform: TargetPlatform, + analyzerServices: PlatformDependentAnalyzerServices + ): BinaryModuleData { + fun createData(name: String): FirModuleData = + createDependencyModuleData(Name.special(name), platform, analyzerServices) + + return BinaryModuleData( + createData(""), + createData("