From 83914614b9109d66cf7969150d6df7a10112cee4 Mon Sep 17 00:00:00 2001 From: Dmitry Savvinov Date: Wed, 27 Feb 2019 11:51:26 +0300 Subject: [PATCH] [Platform API] Clean-up some usages of Platform Mostly unused imports. Also, in some places, TargetPlatform/MultiTargetPlatform were just passed around without actually using (e.g. in deserialization) --- .../kotlin/resolve/jvm/JvmResolverForModuleFactory.kt | 3 --- .../org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt | 4 +--- .../analyzer/common/CommonResolverForModuleFactory.kt | 11 +++++------ .../decompiler/builtIns/KotlinBuiltInDecompiler.kt | 2 +- .../classFile/DeserializerForClassfileDecompiler.kt | 1 - .../decompiler/common/KotlinMetadataDecompiler.kt | 4 +--- .../common/KotlinMetadataDeserializerForDecompiler.kt | 1 - .../js/KotlinJavaScriptMetaFileDecompiler.kt | 2 +- .../textBuilder/DeserializerForDecompilerBase.kt | 1 - .../kotlin/ide/konan/KotlinNativePluginUtil.kt | 1 - .../konan/analyzer/NativeResolverForModuleFactory.kt | 5 +---- .../decompiler/KotlinNativeMetadataDecompiler.kt | 3 +-- .../decompiler/KotlinNativeMetadataDecompilerBase.kt | 7 ++----- .../KotlinNativeMetadataDeserializerForDecompiler.kt | 2 -- .../decompiler/KotlinNativeMetadataStubBuilder.kt | 4 ---- .../kotlin/js/resolve/JsResolverForModuleFactory.kt | 3 --- 16 files changed, 13 insertions(+), 41 deletions(-) diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/JvmResolverForModuleFactory.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/JvmResolverForModuleFactory.kt index 7c26f955ea3..26eeb200e20 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/JvmResolverForModuleFactory.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/JvmResolverForModuleFactory.kt @@ -120,7 +120,4 @@ object JvmResolverForModuleFactory : ResolverForModuleFactory() { return ResolverForModule(CompositePackageFragmentProvider(providersForModule), container) } - - override val targetPlatform: TargetPlatform - get() = JvmPlatform } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt index 9bd28a06d3b..f12761d5154 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt @@ -192,7 +192,7 @@ class ResolverForProjectImpl( descriptor as ModuleDescriptorImpl, projectContext.withModule(descriptor), moduleContent, - platformParameters(resolverForModuleFactory.targetPlatform), + platformParameters(module.platform ?: TODO("Missing platform!")), targetEnvironment, this@ResolverForProjectImpl, languageVersionSettings, @@ -307,8 +307,6 @@ abstract class ResolverForModuleFactory { languageVersionSettings: LanguageVersionSettings, targetPlatformVersion: TargetPlatformVersion ): ResolverForModule - - abstract val targetPlatform: TargetPlatform } class LazyModuleDependencies( diff --git a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/common/CommonResolverForModuleFactory.kt b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/common/CommonResolverForModuleFactory.kt index 47c5d9d62be..7afa579ffcc 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/common/CommonResolverForModuleFactory.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/common/CommonResolverForModuleFactory.kt @@ -152,8 +152,8 @@ object CommonResolverForModuleFactory : ResolverForModuleFactory() { targetEnvironment: TargetEnvironment, metadataPartProvider: MetadataPartProvider, languageVersionSettings: LanguageVersionSettings - ): StorageComponentContainer = createContainer("ResolveCommonCode", targetPlatform) { - configureModule(moduleContext, targetPlatform, TargetPlatformVersion.NoVersion, bindingTrace) + ): StorageComponentContainer = createContainer("ResolveCommonCode", CommonPlatform) { + configureModule(moduleContext, CommonPlatform, TargetPlatformVersion.NoVersion, bindingTrace) useInstance(moduleContentScope) useInstance(LookupTracker.DO_NOTHING) @@ -173,9 +173,8 @@ object CommonResolverForModuleFactory : ResolverForModuleFactory() { ?: error("No MetadataFinderFactory in project") useInstance(metadataFinderFactory.create(moduleContentScope)) + + targetEnvironment.configure(this) } - - override val targetPlatform: TargetPlatform - get() = CommonPlatform -} +} \ No newline at end of file diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/builtIns/KotlinBuiltInDecompiler.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/builtIns/KotlinBuiltInDecompiler.kt index 6a665226438..3c3f75ed50e 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/builtIns/KotlinBuiltInDecompiler.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/builtIns/KotlinBuiltInDecompiler.kt @@ -33,7 +33,7 @@ import org.jetbrains.kotlin.serialization.deserialization.getClassId import java.io.ByteArrayInputStream class KotlinBuiltInDecompiler : KotlinMetadataDecompiler( - KotlinBuiltInFileType, CommonPlatform, BuiltInSerializerProtocol, + KotlinBuiltInFileType, BuiltInSerializerProtocol, FlexibleTypeDeserializer.ThrowException, BuiltInsBinaryVersion.INSTANCE, BuiltInsBinaryVersion.INVALID_VERSION, KotlinStubVersions.BUILTIN_STUB_VERSION ) { diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/classFile/DeserializerForClassfileDecompiler.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/classFile/DeserializerForClassfileDecompiler.kt index fab6e865745..91af3586794 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/classFile/DeserializerForClassfileDecompiler.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/classFile/DeserializerForClassfileDecompiler.kt @@ -55,7 +55,6 @@ class DeserializerForClassfileDecompiler( packageDirectory: VirtualFile, directoryPackageFqName: FqName ) : DeserializerForDecompilerBase(directoryPackageFqName) { - override val targetPlatform: TargetPlatform get() = JvmPlatform override val builtIns: KotlinBuiltIns get() = DefaultBuiltIns.Instance private val classFinder = DirectoryBasedClassFinder(packageDirectory, directoryPackageFqName) diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/common/KotlinMetadataDecompiler.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/common/KotlinMetadataDecompiler.kt index 1270adf4db6..b0093e31b82 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/common/KotlinMetadataDecompiler.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/common/KotlinMetadataDecompiler.kt @@ -32,7 +32,6 @@ import org.jetbrains.kotlin.metadata.deserialization.BinaryVersion import org.jetbrains.kotlin.metadata.deserialization.NameResolverImpl import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.renderer.DescriptorRenderer -import org.jetbrains.kotlin.resolve.TargetPlatform import org.jetbrains.kotlin.serialization.SerializerExtensionProtocol import org.jetbrains.kotlin.serialization.deserialization.ClassDeserializer import org.jetbrains.kotlin.serialization.deserialization.FlexibleTypeDeserializer @@ -42,7 +41,6 @@ import java.io.IOException abstract class KotlinMetadataDecompiler( private val fileType: FileType, - private val targetPlatform: TargetPlatform, private val serializerProtocol: SerializerExtensionProtocol, private val flexibleTypeDeserializer: FlexibleTypeDeserializer, private val expectedBinaryVersion: V, @@ -102,7 +100,7 @@ abstract class KotlinMetadataDecompiler( val packageFqName = file.packageFqName val resolver = KotlinMetadataDeserializerForDecompiler( packageFqName, file.proto, file.nameResolver, file.version, - targetPlatform, serializerProtocol, flexibleTypeDeserializer + serializerProtocol, flexibleTypeDeserializer ) val declarations = arrayListOf() declarations.addAll(resolver.resolveDeclarationsInFacade(packageFqName)) diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/common/KotlinMetadataDeserializerForDecompiler.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/common/KotlinMetadataDeserializerForDecompiler.kt index c68903174f0..a78cdb5da49 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/common/KotlinMetadataDeserializerForDecompiler.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/common/KotlinMetadataDeserializerForDecompiler.kt @@ -39,7 +39,6 @@ class KotlinMetadataDeserializerForDecompiler( private val proto: ProtoBuf.PackageFragment, private val nameResolver: NameResolver, private val metadataVersion: BinaryVersion, - override val targetPlatform: TargetPlatform, serializerProtocol: SerializerExtensionProtocol, flexibleTypeDeserializer: FlexibleTypeDeserializer ) : DeserializerForDecompilerBase(packageFqName) { diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/js/KotlinJavaScriptMetaFileDecompiler.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/js/KotlinJavaScriptMetaFileDecompiler.kt index 4778a56b539..5d8fc0b7e11 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/js/KotlinJavaScriptMetaFileDecompiler.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/js/KotlinJavaScriptMetaFileDecompiler.kt @@ -29,7 +29,7 @@ import org.jetbrains.kotlin.utils.JsMetadataVersion import java.io.ByteArrayInputStream class KotlinJavaScriptMetaFileDecompiler : KotlinMetadataDecompiler( - KotlinJavaScriptMetaFileType, JsPlatform, JsSerializerProtocol, DynamicTypeDeserializer, + KotlinJavaScriptMetaFileType, JsSerializerProtocol, DynamicTypeDeserializer, JsMetadataVersion.INSTANCE, JsMetadataVersion.INVALID_VERSION, KotlinStubVersions.JS_STUB_VERSION ) { override fun readFile(bytes: ByteArray, file: VirtualFile): FileWithMetadata? { diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/textBuilder/DeserializerForDecompilerBase.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/textBuilder/DeserializerForDecompilerBase.kt index ea5cef4ca38..b696fb75b2a 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/textBuilder/DeserializerForDecompilerBase.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/textBuilder/DeserializerForDecompilerBase.kt @@ -34,7 +34,6 @@ import org.jetbrains.kotlin.types.SimpleType abstract class DeserializerForDecompilerBase(val directoryPackageFqName: FqName) : ResolverForDecompiler { protected abstract val deserializationComponents: DeserializationComponents - protected abstract val targetPlatform: TargetPlatform protected abstract val builtIns: KotlinBuiltIns protected val storageManager: StorageManager = LockBasedStorageManager.NO_LOCKS diff --git a/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/KotlinNativePluginUtil.kt b/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/KotlinNativePluginUtil.kt index a1c4ba64b9b..46519efbd9c 100644 --- a/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/KotlinNativePluginUtil.kt +++ b/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/KotlinNativePluginUtil.kt @@ -33,7 +33,6 @@ import org.jetbrains.kotlin.konan.library.createKonanLibrary import org.jetbrains.kotlin.metadata.konan.KonanProtoBuf import org.jetbrains.kotlin.psi.stubs.elements.KtStubElementTypes import org.jetbrains.kotlin.resolve.CompilerDeserializationConfiguration -import org.jetbrains.kotlin.resolve.konan.platform.KonanPlatform import org.jetbrains.kotlin.storage.StorageManager const val KOTLIN_NATIVE_CURRENT_ABI_VERSION = 1 diff --git a/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/analyzer/NativeResolverForModuleFactory.kt b/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/analyzer/NativeResolverForModuleFactory.kt index c9d062202b3..92b2d79f66f 100644 --- a/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/analyzer/NativeResolverForModuleFactory.kt +++ b/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/analyzer/NativeResolverForModuleFactory.kt @@ -23,9 +23,6 @@ import org.jetbrains.kotlin.resolve.lazy.ResolveSession import org.jetbrains.kotlin.resolve.lazy.declarations.DeclarationProviderFactoryService.Companion.createDeclarationProviderFactory object NativeResolverForModuleFactory : ResolverForModuleFactory() { - override val targetPlatform: TargetPlatform - get() = KonanPlatform - override fun createResolverForModule( moduleDescriptor: ModuleDescriptorImpl, moduleContext: ModuleContext, @@ -49,7 +46,7 @@ object NativeResolverForModuleFactory : ResolverForModuleFactory() { moduleContext, declarationProviderFactory, CodeAnalyzerInitializer.getInstance(moduleContext.project).createTrace(), - targetPlatform, + KonanPlatform, TargetPlatformVersion.NoVersion, targetEnvironment, languageVersionSettings diff --git a/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/decompiler/KotlinNativeMetadataDecompiler.kt b/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/decompiler/KotlinNativeMetadataDecompiler.kt index ab353f434a2..d9f1d42900d 100644 --- a/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/decompiler/KotlinNativeMetadataDecompiler.kt +++ b/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/decompiler/KotlinNativeMetadataDecompiler.kt @@ -11,12 +11,11 @@ import com.intellij.openapi.fileTypes.FileTypeFactory import com.intellij.openapi.vfs.VirtualFile import org.jetbrains.kotlin.konan.library.KLIB_METADATA_FILE_EXTENSION import org.jetbrains.kotlin.metadata.deserialization.BinaryVersion -import org.jetbrains.kotlin.resolve.konan.platform.KonanPlatform import org.jetbrains.kotlin.serialization.konan.KonanSerializerProtocol import org.jetbrains.kotlin.serialization.konan.NullFlexibleTypeDeserializer class KotlinNativeMetadataDecompiler : KotlinNativeMetadataDecompilerBase( - KotlinNativeMetaFileType, KonanPlatform, KonanSerializerProtocol, NullFlexibleTypeDeserializer, + KotlinNativeMetaFileType, KonanSerializerProtocol, NullFlexibleTypeDeserializer, KotlinNativeMetadataVersion.DEFAULT_INSTANCE, KotlinNativeMetadataVersion.INVALID_VERSION, KotlinNativeMetaFileType.STUB_VERSION diff --git a/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/decompiler/KotlinNativeMetadataDecompilerBase.kt b/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/decompiler/KotlinNativeMetadataDecompilerBase.kt index 2ff6c7aa1d9..23535c03c3a 100644 --- a/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/decompiler/KotlinNativeMetadataDecompilerBase.kt +++ b/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/decompiler/KotlinNativeMetadataDecompilerBase.kt @@ -21,7 +21,6 @@ import org.jetbrains.kotlin.metadata.deserialization.NameResolverImpl import org.jetbrains.kotlin.metadata.konan.KonanProtoBuf import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.renderer.DescriptorRenderer -import org.jetbrains.kotlin.resolve.TargetPlatform import org.jetbrains.kotlin.serialization.SerializerExtensionProtocol import org.jetbrains.kotlin.serialization.deserialization.ClassDeserializer import org.jetbrains.kotlin.serialization.deserialization.FlexibleTypeDeserializer @@ -31,7 +30,6 @@ import java.io.IOException abstract class KotlinNativeMetadataDecompilerBase( private val fileType: FileType, - private val targetPlatform: TargetPlatform, private val serializerProtocol: SerializerExtensionProtocol, private val flexibleTypeDeserializer: FlexibleTypeDeserializer, private val expectedBinaryVersion: V, @@ -86,7 +84,6 @@ abstract class KotlinNativeMetadataDecompilerBase( is FileWithMetadata.Incompatible -> createIncompatibleAbiVersionDecompiledText(expectedBinaryVersion, file.version) is FileWithMetadata.Compatible -> decompiledText( file, - targetPlatform, serializerProtocol, flexibleTypeDeserializer, renderer @@ -116,7 +113,7 @@ sealed class FileWithMetadata { //todo: this function is extracted for KotlinNativeMetadataStubBuilder, that's the difference from Big Kotlin. fun decompiledText( - file: FileWithMetadata.Compatible, targetPlatform: TargetPlatform, + file: FileWithMetadata.Compatible, serializerProtocol: SerializerExtensionProtocol, flexibleTypeDeserializer: FlexibleTypeDeserializer, renderer: DescriptorRenderer @@ -124,7 +121,7 @@ fun decompiledText( val packageFqName = file.packageFqName val resolver = KotlinNativeMetadataDeserializerForDecompiler( packageFqName, file.proto, file.nameResolver, - targetPlatform, serializerProtocol, flexibleTypeDeserializer + serializerProtocol, flexibleTypeDeserializer ) val declarations = arrayListOf() declarations.addAll(resolver.resolveDeclarationsInFacade(packageFqName)) diff --git a/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/decompiler/KotlinNativeMetadataDeserializerForDecompiler.kt b/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/decompiler/KotlinNativeMetadataDeserializerForDecompiler.kt index 1aaa84f02a3..e6d02c9d0aa 100644 --- a/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/decompiler/KotlinNativeMetadataDeserializerForDecompiler.kt +++ b/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/decompiler/KotlinNativeMetadataDeserializerForDecompiler.kt @@ -18,7 +18,6 @@ import org.jetbrains.kotlin.incremental.components.LookupTracker import org.jetbrains.kotlin.metadata.deserialization.NameResolver import org.jetbrains.kotlin.metadata.konan.KonanProtoBuf import org.jetbrains.kotlin.name.FqName -import org.jetbrains.kotlin.resolve.TargetPlatform import org.jetbrains.kotlin.serialization.SerializerExtensionProtocol import org.jetbrains.kotlin.serialization.deserialization.* import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedPackageMemberScope @@ -27,7 +26,6 @@ class KotlinNativeMetadataDeserializerForDecompiler( packageFqName: FqName, private val proto: KonanProtoBuf.LinkDataPackageFragment, private val nameResolver: NameResolver, - override val targetPlatform: TargetPlatform, serializerProtocol: SerializerExtensionProtocol, flexibleTypeDeserializer: FlexibleTypeDeserializer ) : DeserializerForDecompilerBase(packageFqName) { diff --git a/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/decompiler/KotlinNativeMetadataStubBuilder.kt b/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/decompiler/KotlinNativeMetadataStubBuilder.kt index 3e42c239a26..ea539ce288c 100644 --- a/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/decompiler/KotlinNativeMetadataStubBuilder.kt +++ b/idea/idea-native/src/org/jetbrains/kotlin/ide/konan/decompiler/KotlinNativeMetadataStubBuilder.kt @@ -12,12 +12,9 @@ import com.intellij.psi.impl.compiled.ClassFileStubBuilder import com.intellij.psi.stubs.PsiFileStub import com.intellij.util.indexing.FileContent import org.jetbrains.kotlin.ide.konan.createFileStub -import org.jetbrains.kotlin.ide.konan.decompiler.FileWithMetadata -import org.jetbrains.kotlin.ide.konan.decompiler.decompiledText import org.jetbrains.kotlin.idea.decompiler.stubBuilder.createIncompatibleAbiVersionFileStub import org.jetbrains.kotlin.idea.decompiler.textBuilder.defaultDecompilerRendererOptions import org.jetbrains.kotlin.renderer.DescriptorRenderer -import org.jetbrains.kotlin.resolve.konan.platform.KonanPlatform import org.jetbrains.kotlin.serialization.SerializerExtensionProtocol import org.jetbrains.kotlin.serialization.konan.NullFlexibleTypeDeserializer @@ -42,7 +39,6 @@ open class KotlinNativeMetadataStubBuilder( val renderer = DescriptorRenderer.withOptions { defaultDecompilerRendererOptions() } val ktFileText = decompiledText( file, - KonanPlatform, serializerProtocol, NullFlexibleTypeDeserializer, renderer diff --git a/js/js.frontend/src/org/jetbrains/kotlin/js/resolve/JsResolverForModuleFactory.kt b/js/js.frontend/src/org/jetbrains/kotlin/js/resolve/JsResolverForModuleFactory.kt index a86a49e3919..116c3f13062 100644 --- a/js/js.frontend/src/org/jetbrains/kotlin/js/resolve/JsResolverForModuleFactory.kt +++ b/js/js.frontend/src/org/jetbrains/kotlin/js/resolve/JsResolverForModuleFactory.kt @@ -84,7 +84,4 @@ object JsResolverForModuleFactory : ResolverForModuleFactory() { return ResolverForModule(packageFragmentProvider, container) } - - override val targetPlatform: TargetPlatform - get() = JsPlatform }