diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/builtIns/KotlinBuiltInDeserializerForDecompiler.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/builtIns/KotlinBuiltInDeserializerForDecompiler.kt index 2f734903bc3..ee26c890b8a 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/builtIns/KotlinBuiltInDeserializerForDecompiler.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/builtIns/KotlinBuiltInDeserializerForDecompiler.kt @@ -20,6 +20,8 @@ import com.intellij.openapi.diagnostic.Logger import com.intellij.openapi.vfs.VirtualFile import org.jetbrains.kotlin.builtins.BuiltInSerializerProtocol import org.jetbrains.kotlin.builtins.BuiltInsClassDataFinder +import org.jetbrains.kotlin.builtins.DefaultBuiltIns +import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.idea.decompiler.textBuilder.DeserializerForDecompilerBase import org.jetbrains.kotlin.idea.decompiler.textBuilder.LoggingErrorReporter @@ -39,6 +41,7 @@ class KotlinBuiltInDeserializerForDecompiler( private val nameResolver: NameResolver ) : DeserializerForDecompilerBase(packageDirectory, packageFqName) { override val targetPlatform: TargetPlatform get() = TargetPlatform.Default + override val builtIns: KotlinBuiltIns get() = DefaultBuiltIns.Instance override val deserializationComponents: DeserializationComponents @@ -48,7 +51,7 @@ class KotlinBuiltInDeserializerForDecompiler( deserializationComponents = DeserializationComponents( storageManager, moduleDescriptor, BuiltInsClassDataFinder(proto, nameResolver), AnnotationAndConstantLoaderImpl(moduleDescriptor, notFoundClasses, BuiltInSerializerProtocol), packageFragmentProvider, - ResolveEverythingToKotlinAnyLocalClassResolver(targetPlatform.builtIns), LoggingErrorReporter(LOG), + ResolveEverythingToKotlinAnyLocalClassResolver(builtIns), LoggingErrorReporter(LOG), LookupTracker.DO_NOTHING, FlexibleTypeFactory.ThrowException, ClassDescriptorFactory.EMPTY, notFoundClasses ) 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 ef3500d3b0b..8d2bc788a29 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 @@ -18,6 +18,7 @@ package org.jetbrains.kotlin.idea.decompiler.classFile import com.intellij.openapi.diagnostic.Logger import com.intellij.openapi.vfs.VirtualFile +import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.idea.caches.IDEKotlinBinaryClassCache import org.jetbrains.kotlin.idea.decompiler.textBuilder.DeserializerForDecompilerBase @@ -29,6 +30,7 @@ import org.jetbrains.kotlin.load.java.structure.JavaClass import org.jetbrains.kotlin.load.kotlin.* import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName +import org.jetbrains.kotlin.platform.JvmBuiltIns import org.jetbrains.kotlin.resolve.TargetPlatform import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform import org.jetbrains.kotlin.serialization.ClassDataWithSource @@ -51,6 +53,7 @@ class DeserializerForClassfileDecompiler( directoryPackageFqName: FqName ) : DeserializerForDecompilerBase(packageDirectory, directoryPackageFqName) { override val targetPlatform: TargetPlatform get() = JvmPlatform + override val builtIns: KotlinBuiltIns get() = JvmBuiltIns.Instance private val classFinder = DirectoryBasedClassFinder(packageDirectory, directoryPackageFqName) @@ -64,7 +67,7 @@ class DeserializerForClassfileDecompiler( deserializationComponents = DeserializationComponents( storageManager, moduleDescriptor, classDataFinder, annotationAndConstantLoader, packageFragmentProvider, - ResolveEverythingToKotlinAnyLocalClassResolver(targetPlatform.builtIns), LoggingErrorReporter(LOG), + ResolveEverythingToKotlinAnyLocalClassResolver(builtIns), LoggingErrorReporter(LOG), LookupTracker.DO_NOTHING, FlexibleJavaClassifierTypeFactory, ClassDescriptorFactory.EMPTY, notFoundClasses ) } diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/js/KotlinJavaScriptDeserializerForDecompiler.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/js/KotlinJavaScriptDeserializerForDecompiler.kt index 7136f0a0f78..c39670b436f 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/js/KotlinJavaScriptDeserializerForDecompiler.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/js/KotlinJavaScriptDeserializerForDecompiler.kt @@ -18,6 +18,8 @@ package org.jetbrains.kotlin.idea.decompiler.js import com.intellij.openapi.diagnostic.Logger import com.intellij.openapi.vfs.VirtualFile +import org.jetbrains.kotlin.builtins.DefaultBuiltIns +import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.idea.decompiler.textBuilder.DeserializerForDecompilerBase import org.jetbrains.kotlin.idea.decompiler.textBuilder.LoggingErrorReporter @@ -48,6 +50,7 @@ class KotlinJavaScriptDeserializerForDecompiler( } override val targetPlatform: TargetPlatform get() = JsPlatform + override val builtIns: KotlinBuiltIns get() = DefaultBuiltIns.Instance private val classDataFinder = KotlinJavascriptClassDataFinder(nameResolver) { path -> packageDirectory.findChild(path.substringAfterLast("/"))?.inputStream @@ -61,7 +64,7 @@ class KotlinJavaScriptDeserializerForDecompiler( deserializationComponents = DeserializationComponents( storageManager, moduleDescriptor, classDataFinder, annotationAndConstantLoader, packageFragmentProvider, - ResolveEverythingToKotlinAnyLocalClassResolver(targetPlatform.builtIns), LoggingErrorReporter(LOG), + ResolveEverythingToKotlinAnyLocalClassResolver(builtIns), LoggingErrorReporter(LOG), LookupTracker.DO_NOTHING, DynamicTypeFactory, ClassDescriptorFactory.EMPTY, notFoundClasses ) diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/navigation/findDecompiledDeclaration.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/navigation/findDecompiledDeclaration.kt index 779677763bc..0c0b61c19da 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/navigation/findDecompiledDeclaration.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/navigation/findDecompiledDeclaration.kt @@ -18,6 +18,7 @@ package org.jetbrains.kotlin.idea.decompiler.navigation import com.intellij.openapi.project.Project import com.intellij.psi.search.GlobalSearchScope +import org.jetbrains.kotlin.builtins.DefaultBuiltIns import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.idea.decompiler.KtDecompiledFile import org.jetbrains.kotlin.idea.decompiler.textBuilder.DecompiledTextIndexer @@ -33,7 +34,6 @@ import org.jetbrains.kotlin.psi.KtDeclaration import org.jetbrains.kotlin.renderer.DescriptorRenderer import org.jetbrains.kotlin.renderer.DescriptorRendererModifier import org.jetbrains.kotlin.resolve.DescriptorUtils -import org.jetbrains.kotlin.resolve.TargetPlatform import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe import org.jetbrains.kotlin.resolve.descriptorUtil.resolveTopLevelClass import org.jetbrains.kotlin.types.ErrorUtils @@ -126,7 +126,7 @@ object ByDescriptorIndexer : DecompiledTextIndexer { val classFqName = descriptor.fqNameSafe if (BuiltInClassesAreSerializableOnJvm.isSerializableInJava(classFqName)) { - val builtInDescriptor = TargetPlatform.Default.builtIns.builtInsModule.resolveTopLevelClass(classFqName, NoLookupLocation.FROM_IDE) + val builtInDescriptor = DefaultBuiltIns.Instance.builtInsModule.resolveTopLevelClass(classFqName, NoLookupLocation.FROM_IDE) return builtInDescriptor?.let { file.getDeclaration(this, it.toStringKey()) } } return null 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 f583c08418a..06f880b1d37 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 @@ -40,6 +40,7 @@ abstract class DeserializerForDecompilerBase( protected abstract val deserializationComponents: DeserializationComponents protected abstract val targetPlatform: TargetPlatform + protected abstract val builtIns: KotlinBuiltIns protected val storageManager: StorageManager = LockBasedStorageManager.NO_LOCKS @@ -60,7 +61,7 @@ abstract class DeserializerForDecompilerBase( protected fun createDummyPackageFragment(fqName: FqName): MutablePackageFragmentDescriptor = MutablePackageFragmentDescriptor(moduleDescriptor, fqName) - private fun createDummyModule(name: String) = ModuleDescriptorImpl(Name.special("<$name>"), storageManager, ModuleParameters.Empty, targetPlatform.builtIns) + private fun createDummyModule(name: String) = ModuleDescriptorImpl(Name.special("<$name>"), storageManager, ModuleParameters.Empty, builtIns) init { moduleDescriptor.initialize(packageFragmentProvider)