diff --git a/backend.native/build.gradle b/backend.native/build.gradle index a441d21bacd..3e0fe753a0a 100644 --- a/backend.native/build.gradle +++ b/backend.native/build.gradle @@ -162,12 +162,10 @@ dependencies { compilerCompile kotlinNativeInterop['hash'].configuration compilerCompile kotlinNativeInterop['files'].configuration compilerCompile "org.jetbrains.kotlin:kotlin-native-shared:$konanVersion" - compilerCompile "org.jetbrains.kotlin:konan.serializer:$konanVersion" cli_bcCompile kotlinCompilerModule cli_bcCompile "org.jetbrains.kotlin:kotlin-native-shared:$konanVersion" cli_bcCompile sourceSets.compiler.output - cli_bcCompile "org.jetbrains.kotlin:konan.serializer:$konanVersion" bc_frontendCompile kotlinCompilerModule diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/TopDownAnalyzerFacadeForKonan.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/TopDownAnalyzerFacadeForKonan.kt index 042ee8d3ba2..0b0341f90f1 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/TopDownAnalyzerFacadeForKonan.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/TopDownAnalyzerFacadeForKonan.kt @@ -9,6 +9,7 @@ import org.jetbrains.kotlin.library.resolver.KotlinLibraryResolveResult import org.jetbrains.kotlin.analyzer.AnalysisResult import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.builtins.functions.functionInterfacePackageFragmentProvider +import org.jetbrains.kotlin.builtins.konan.KonanBuiltIns import org.jetbrains.kotlin.config.CommonConfigurationKeys import org.jetbrains.kotlin.config.LanguageVersionSettings import org.jetbrains.kotlin.container.get @@ -18,11 +19,12 @@ import org.jetbrains.kotlin.context.ProjectContext import org.jetbrains.kotlin.descriptors.PackageFragmentProvider import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl import org.jetbrains.kotlin.descriptors.konan.CurrentKlibModuleOrigin -import org.jetbrains.kotlin.descriptors.konan.isKonanStdlib +import org.jetbrains.kotlin.backend.konan.descriptors.isKonanStdlib import org.jetbrains.kotlin.konan.file.File -import org.jetbrains.kotlin.konan.utils.KonanFactories +import org.jetbrains.kotlin.konan.util.KlibMetadataFactories import org.jetbrains.kotlin.library.KotlinLibrary -import org.jetbrains.kotlin.name.FqName +import org.jetbrains.kotlin.library.metadata.NativeTypeTransformer +import org.jetbrains.kotlin.library.metadata.NullFlexibleTypeDeserializer import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.resolve.* @@ -38,7 +40,7 @@ internal object TopDownAnalyzerFacadeForKonan { val projectContext = ProjectContext(config.project, "TopDownAnalyzer for Konan") - val module = KonanFactories.DefaultDescriptorFactory.createDescriptorAndNewBuiltIns( + val module = NativeFactories.DefaultDescriptorFactory.createDescriptorAndNewBuiltIns( moduleName, projectContext.storageManager, origin = CurrentKlibModuleOrigin) val moduleContext = MutableModuleContextImpl(module, projectContext) @@ -120,10 +122,11 @@ private class ResolvedDependencies( } } - this.moduleDescriptors = KonanFactories.DefaultResolvedDescriptorsFactory.createResolved( + this.moduleDescriptors = NativeFactories.DefaultResolvedDescriptorsFactory.createResolved( resolvedLibraries, storageManager, builtIns, specifics, customAction) this.friends = collectedFriends.toSet() } } +val NativeFactories = KlibMetadataFactories(::KonanBuiltIns, NullFlexibleTypeDeserializer, NativeTypeTransformer()) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ToplevelPhases.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ToplevelPhases.kt index 419ca344c76..a520289f1b0 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ToplevelPhases.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/ToplevelPhases.kt @@ -21,7 +21,7 @@ import org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport import org.jetbrains.kotlin.config.CommonConfigurationKeys import org.jetbrains.kotlin.config.languageVersionSettings import org.jetbrains.kotlin.descriptors.* -import org.jetbrains.kotlin.descriptors.konan.isKonanStdlib +import org.jetbrains.kotlin.backend.konan.descriptors.isKonanStdlib import org.jetbrains.kotlin.ir.declarations.IrFile import org.jetbrains.kotlin.ir.declarations.IrModuleFragment import org.jetbrains.kotlin.ir.symbols.IrSymbol diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/descriptors/utils.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/descriptors/utils.kt index cc3da6c6f05..0c58830c41e 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/descriptors/utils.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/descriptors/utils.kt @@ -10,6 +10,7 @@ import org.jetbrains.kotlin.descriptors.konan.DeserializedKlibModuleOrigin import org.jetbrains.kotlin.descriptors.konan.klibModuleOrigin import org.jetbrains.kotlin.descriptors.konan.kotlinLibrary import org.jetbrains.kotlin.konan.library.KLIB_INTEROP_IR_PROVIDER_IDENTIFIER +import org.jetbrains.kotlin.konan.library.KONAN_STDLIB_NAME import org.jetbrains.kotlin.library.BaseKotlinLibrary import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.serialization.deserialization.descriptors.* @@ -59,3 +60,7 @@ fun BaseKotlinLibrary.isInteropLibrary() = fun ModuleDescriptor.isFromInteropLibrary() = if (klibModuleOrigin !is DeserializedKlibModuleOrigin) false else kotlinLibrary.isInteropLibrary() + +private val STDLIB_MODULE_NAME = Name.special("<$KONAN_STDLIB_NAME>") + +fun ModuleDescriptor.isKonanStdlib() = name == STDLIB_MODULE_NAME diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/objcexport/ObjCExportLazy.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/objcexport/ObjCExportLazy.kt index c3c0abba1bb..1fe46614a5f 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/objcexport/ObjCExportLazy.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/objcexport/ObjCExportLazy.kt @@ -7,12 +7,12 @@ package org.jetbrains.kotlin.backend.konan.objcexport import com.intellij.psi.PsiElement import org.jetbrains.kotlin.analyzer.ModuleInfo +import org.jetbrains.kotlin.backend.konan.descriptors.isKonanStdlib import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.descriptors.annotations.Annotations import org.jetbrains.kotlin.descriptors.impl.PropertyDescriptorImpl import org.jetbrains.kotlin.descriptors.impl.SimpleFunctionDescriptorImpl -import org.jetbrains.kotlin.descriptors.konan.isKonanStdlib import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/objcexport/ObjCExportNamer.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/objcexport/ObjCExportNamer.kt index 1d2fe5b287b..bd4947140b3 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/objcexport/ObjCExportNamer.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/objcexport/ObjCExportNamer.kt @@ -8,9 +8,9 @@ package org.jetbrains.kotlin.backend.konan.objcexport import org.jetbrains.kotlin.backend.konan.cKeywords import org.jetbrains.kotlin.backend.konan.descriptors.isArray import org.jetbrains.kotlin.backend.konan.descriptors.isInterface +import org.jetbrains.kotlin.backend.konan.descriptors.isKonanStdlib import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.descriptors.* -import org.jetbrains.kotlin.descriptors.konan.isKonanStdlib import org.jetbrains.kotlin.incremental.components.NoLookupLocation import org.jetbrains.kotlin.load.kotlin.PackagePartClassUtils import org.jetbrains.kotlin.name.ClassId diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/DFGSerializer.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/DFGSerializer.kt index 13d7fafc188..a2e03226041 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/DFGSerializer.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/DFGSerializer.kt @@ -6,9 +6,9 @@ package org.jetbrains.kotlin.backend.konan.optimizations import org.jetbrains.kotlin.backend.konan.Context +import org.jetbrains.kotlin.backend.konan.NativeFactories import org.jetbrains.kotlin.backend.konan.PrimitiveBinaryType import org.jetbrains.kotlin.config.CommonConfigurationKeys -import org.jetbrains.kotlin.konan.utils.KonanFactories import org.jetbrains.kotlin.storage.LockBasedStorageManager import sun.misc.Unsafe import kotlin.reflect.KClass @@ -996,7 +996,7 @@ internal object DFGSerializer { if (libraryDataFlowGraph != null) { val module = DataFlowIR.Module( - KonanFactories.DefaultDeserializedDescriptorFactory.createDescriptorAndNewBuiltIns(library, specifics, storageManager, null)) + NativeFactories.DefaultDeserializedDescriptorFactory.createDescriptorAndNewBuiltIns(library, specifics, storageManager, null)) val reader = ArraySlice(libraryDataFlowGraph) val dataLayoutHash = reader.readLong() val expectedHash = computeDataLayoutHash(Module::class) diff --git a/build.gradle b/build.gradle index 758ac989ecc..93f20874b5e 100644 --- a/build.gradle +++ b/build.gradle @@ -217,7 +217,6 @@ dependencies { distPack project(':klib') distPack project(path: ':endorsedLibraries:kotlinx.cli', configuration: "jvmRuntimeElements") distPack "org.jetbrains.kotlin:kotlin-native-shared:$konanVersion" - distPack "org.jetbrains.kotlin:konan.serializer:$konanVersion" } task sharedJar { diff --git a/extracted/konan.serializer/build.gradle b/extracted/konan.serializer/build.gradle deleted file mode 100644 index 05079c6abeb..00000000000 --- a/extracted/konan.serializer/build.gradle +++ /dev/null @@ -1,42 +0,0 @@ -// FIXME(ddol): KLIB-REFACTORING-CLEANUP: drop this module completely! - -buildscript { - ext.rootBuildDirectory = file('../..') - - apply from: "$rootBuildDirectory/gradle/loadRootProperties.gradle" - apply from: "$rootBuildDirectory/gradle/kotlinGradlePlugin.gradle" -} - -apply plugin: 'kotlin' - -group = 'org.jetbrains.kotlin' -version = konanVersion - -repositories { - mavenCentral() - maven { - url kotlinCompilerRepo - } -} - -sourceSets { - main.kotlin { - srcDir 'src' - } -} - -jar { - archiveName = "${project.name}.jar" -} - -repositories { - maven { - url buildKotlinCompilerRepo - } -} - -dependencies { - compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion" - compile "org.jetbrains.kotlin:kotlin-native-shared:$konanVersion" - compile "org.jetbrains.kotlin:kotlin-compiler:$kotlinVersion" -} diff --git a/extracted/konan.serializer/settings.gradle b/extracted/konan.serializer/settings.gradle deleted file mode 100644 index 001026741f2..00000000000 --- a/extracted/konan.serializer/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = "konan.serializer" diff --git a/extracted/konan.serializer/src/org/jetbrains/kotlin/descriptors/konan/KonanModuleDescriptorUtils.kt b/extracted/konan.serializer/src/org/jetbrains/kotlin/descriptors/konan/KonanModuleDescriptorUtils.kt deleted file mode 100644 index 4092dd4efe9..00000000000 --- a/extracted/konan.serializer/src/org/jetbrains/kotlin/descriptors/konan/KonanModuleDescriptorUtils.kt +++ /dev/null @@ -1,10 +0,0 @@ -package org.jetbrains.kotlin.descriptors.konan - -import org.jetbrains.kotlin.descriptors.ModuleDescriptor -import org.jetbrains.kotlin.konan.library.KONAN_STDLIB_NAME -import org.jetbrains.kotlin.name.Name - -private val STDLIB_MODULE_NAME = Name.special("<$KONAN_STDLIB_NAME>") - -// TODO: consider using ModuleDescriptorImpl.isStdlibModule instead -fun ModuleDescriptor.isKonanStdlib() = name == STDLIB_MODULE_NAME diff --git a/extracted/konan.serializer/src/org/jetbrains/kotlin/konan/utils/KonanFactories.kt b/extracted/konan.serializer/src/org/jetbrains/kotlin/konan/utils/KonanFactories.kt deleted file mode 100644 index 6800e71a31a..00000000000 --- a/extracted/konan.serializer/src/org/jetbrains/kotlin/konan/utils/KonanFactories.kt +++ /dev/null @@ -1,11 +0,0 @@ -package org.jetbrains.kotlin.konan.utils - -import org.jetbrains.kotlin.builtins.konan.KonanBuiltIns -import org.jetbrains.kotlin.konan.util.KlibMetadataFactories -import org.jetbrains.kotlin.library.metadata.NativeTypeTransformer -import org.jetbrains.kotlin.library.metadata.NullFlexibleTypeDeserializer - -/** - * The default Kotlin/Native factories. - */ -object KonanFactories : KlibMetadataFactories({ KonanBuiltIns(it) }, NullFlexibleTypeDeserializer, NativeTypeTransformer()) \ No newline at end of file diff --git a/klib/src/main/kotlin/org/jetbrains/kotlin/cli/klib/main.kt b/klib/src/main/kotlin/org/jetbrains/kotlin/cli/klib/main.kt index abb62385097..8d3d22ce26d 100644 --- a/klib/src/main/kotlin/org/jetbrains/kotlin/cli/klib/main.kt +++ b/klib/src/main/kotlin/org/jetbrains/kotlin/cli/klib/main.kt @@ -10,7 +10,6 @@ import org.jetbrains.kotlin.config.ApiVersion import org.jetbrains.kotlin.config.LanguageVersion import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl -import org.jetbrains.kotlin.descriptors.konan.isKonanStdlib import org.jetbrains.kotlin.konan.file.File import org.jetbrains.kotlin.library.KLIB_FILE_EXTENSION_WITH_DOT import org.jetbrains.kotlin.konan.target.Distribution @@ -19,6 +18,7 @@ import org.jetbrains.kotlin.konan.util.DependencyProcessor import org.jetbrains.kotlin.library.unpackZippedKonanLibraryTo import org.jetbrains.kotlin.konan.util.KlibMetadataFactories import org.jetbrains.kotlin.backend.common.serialization.metadata.DynamicTypeDeserializer +import org.jetbrains.kotlin.backend.konan.descriptors.isKonanStdlib import org.jetbrains.kotlin.builtins.konan.KonanBuiltIns import org.jetbrains.kotlin.descriptors.deserialization.PlatformDependentTypeTransformer import org.jetbrains.kotlin.util.Logger @@ -30,7 +30,7 @@ import org.jetbrains.kotlin.storage.LockBasedStorageManager import java.lang.System.out import kotlin.system.exitProcess -object KlibFactories : KlibMetadataFactories(::KonanBuiltIns, DynamicTypeDeserializer, PlatformDependentTypeTransformer.None) +internal val KlibFactories = KlibMetadataFactories(::KonanBuiltIns, DynamicTypeDeserializer, PlatformDependentTypeTransformer.None) fun printUsage() { println("Usage: klib ") diff --git a/settings.gradle b/settings.gradle index c7b177aa7a9..fbc93233297 100644 --- a/settings.gradle +++ b/settings.gradle @@ -71,6 +71,5 @@ if (hasProperty("kotlinProjectPath")) { includeBuild 'shared' includeBuild 'build-tools' -includeBuild 'extracted/konan.serializer' includeBuild 'tools/kotlin-native-gradle-plugin'