From 0fdebdfeba5e7b597deee38a08697b8de2e5dd59 Mon Sep 17 00:00:00 2001 From: Mikhail Zarechenskiy Date: Mon, 18 Nov 2019 17:01:53 +0300 Subject: [PATCH] Refactoring: move `SamConversionResolverImpl` to core module --- .../backend/src/org/jetbrains/kotlin/codegen/SamType.java | 3 +-- .../kotlin/load/java/sam/SingleAbstractMethodUtils.java | 2 +- .../kotlin/resolve/jvm/platform/JvmPlatformConfigurator.kt | 2 +- .../jetbrains/kotlin/backend/jvm/JvmGeneratorExtensions.kt | 4 ++-- .../metadata/impl/KlibMetadataModuleDescriptorFactoryImpl.kt | 1 + .../kotlin/resolve}/sam/SamConversionResolverImpl.kt | 3 ++- .../jetbrains/kotlin/resolve}/sam/SamWithReceiverResolver.kt | 2 +- .../classFile/DeserializerForClassfileDecompiler.kt | 2 +- .../idea/search/usagesSearch/ExpressionsOfTypeProcessor.kt | 2 +- .../intentions/SamConversionToAnonymousObjectIntention.kt | 2 +- .../js/kotlinJavascriptPackageFragmentProvider.kt | 1 + .../src/SamWithReceiverResolverExtension.kt | 2 +- .../scripting/compiler/plugin/impl/compilationContext.kt | 2 +- 13 files changed, 15 insertions(+), 13 deletions(-) rename {compiler/frontend/src/org/jetbrains/kotlin/load/kotlin => core/descriptors/src/org/jetbrains/kotlin/resolve}/sam/SamConversionResolverImpl.kt (97%) rename {compiler/frontend/src/org/jetbrains/kotlin/load/kotlin => core/descriptors/src/org/jetbrains/kotlin/resolve}/sam/SamWithReceiverResolver.kt (89%) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/SamType.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/SamType.java index 74ad95f5910..d86c360b339 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/SamType.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/SamType.java @@ -24,9 +24,8 @@ import org.jetbrains.kotlin.descriptors.ClassDescriptor; import org.jetbrains.kotlin.descriptors.ClassifierDescriptor; import org.jetbrains.kotlin.descriptors.SimpleFunctionDescriptor; import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor; -import org.jetbrains.kotlin.load.java.descriptors.JavaClassDescriptor; import org.jetbrains.kotlin.load.java.sam.SingleAbstractMethodUtils; -import org.jetbrains.kotlin.load.kotlin.sam.SamConversionResolverImplKt; +import org.jetbrains.kotlin.resolve.sam.SamConversionResolverImplKt; import org.jetbrains.kotlin.types.KotlinType; import org.jetbrains.kotlin.types.typeUtil.TypeUtilsKt; diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/load/java/sam/SingleAbstractMethodUtils.java b/compiler/frontend.java/src/org/jetbrains/kotlin/load/java/sam/SingleAbstractMethodUtils.java index 4c9b5f40fc8..643f4c353ad 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/load/java/sam/SingleAbstractMethodUtils.java +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/load/java/sam/SingleAbstractMethodUtils.java @@ -27,10 +27,10 @@ import org.jetbrains.kotlin.load.java.descriptors.JavaClassConstructorDescriptor import org.jetbrains.kotlin.load.java.descriptors.JavaClassDescriptor; import org.jetbrains.kotlin.load.java.descriptors.JavaMethodDescriptor; import org.jetbrains.kotlin.load.java.lazy.descriptors.LazyJavaClassDescriptor; -import org.jetbrains.kotlin.load.kotlin.sam.SamConversionResolverImplKt; import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.resolve.sam.SamConversionResolver; import org.jetbrains.kotlin.resolve.jvm.JavaResolverUtils; +import org.jetbrains.kotlin.resolve.sam.SamConversionResolverImplKt; import org.jetbrains.kotlin.types.*; import java.util.ArrayList; diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/platform/JvmPlatformConfigurator.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/platform/JvmPlatformConfigurator.kt index 2d3ebf2d5cf..ca5eab642e0 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/platform/JvmPlatformConfigurator.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/platform/JvmPlatformConfigurator.kt @@ -12,13 +12,13 @@ import org.jetbrains.kotlin.container.useImpl import org.jetbrains.kotlin.container.useInstance import org.jetbrains.kotlin.resolve.sam.SamConversionResolver import org.jetbrains.kotlin.load.java.sam.JvmSamConversionTransformer -import org.jetbrains.kotlin.load.kotlin.sam.SamConversionResolverImpl import org.jetbrains.kotlin.resolve.PlatformConfiguratorBase import org.jetbrains.kotlin.resolve.checkers.BigFunctionTypeAvailabilityChecker import org.jetbrains.kotlin.resolve.checkers.ExpectedActualDeclarationChecker import org.jetbrains.kotlin.resolve.jvm.* import org.jetbrains.kotlin.resolve.jvm.checkers.* import org.jetbrains.kotlin.resolve.jvm.multiplatform.JavaActualAnnotationArgumentExtractor +import org.jetbrains.kotlin.resolve.sam.SamConversionResolverImpl import org.jetbrains.kotlin.synthetic.JavaSyntheticScopes import org.jetbrains.kotlin.types.expressions.FunctionWithBigAritySupport import org.jetbrains.kotlin.types.expressions.GenericArrayClassLiteralSupport diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmGeneratorExtensions.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmGeneratorExtensions.kt index 16981f95f63..b8e68308261 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmGeneratorExtensions.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/JvmGeneratorExtensions.kt @@ -18,14 +18,14 @@ import org.jetbrains.kotlin.load.java.descriptors.JavaClassDescriptor import org.jetbrains.kotlin.load.java.sam.SamAdapterDescriptor import org.jetbrains.kotlin.load.java.sam.SamConstructorDescriptor import org.jetbrains.kotlin.load.java.sam.SingleAbstractMethodUtils -import org.jetbrains.kotlin.load.kotlin.sam.getFunctionTypeForAbstractMethod -import org.jetbrains.kotlin.load.kotlin.sam.getSingleAbstractMethodOrNull import org.jetbrains.kotlin.load.java.typeEnhancement.hasEnhancedNullability import org.jetbrains.kotlin.load.kotlin.JvmPackagePartSource import org.jetbrains.kotlin.psi2ir.generators.GeneratorExtensions import org.jetbrains.kotlin.resolve.jvm.JvmClassName import org.jetbrains.kotlin.resolve.jvm.annotations.hasJvmFieldAnnotation import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource +import org.jetbrains.kotlin.resolve.sam.getFunctionTypeForAbstractMethod +import org.jetbrains.kotlin.resolve.sam.getSingleAbstractMethodOrNull import org.jetbrains.kotlin.synthetic.SamAdapterExtensionFunctionDescriptor import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.types.TypeSubstitutor diff --git a/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/impl/KlibMetadataModuleDescriptorFactoryImpl.kt b/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/impl/KlibMetadataModuleDescriptorFactoryImpl.kt index f3261cb9796..28ab4074c8f 100644 --- a/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/impl/KlibMetadataModuleDescriptorFactoryImpl.kt +++ b/compiler/util-klib-metadata/src/org/jetbrains/kotlin/library/metadata/impl/KlibMetadataModuleDescriptorFactoryImpl.kt @@ -26,6 +26,7 @@ import org.jetbrains.kotlin.library.unresolvedDependencies import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.resolve.CompilerDeserializationConfiguration +import org.jetbrains.kotlin.resolve.sam.SamConversionResolverImpl import org.jetbrains.kotlin.serialization.deserialization.* import org.jetbrains.kotlin.storage.StorageManager diff --git a/compiler/frontend/src/org/jetbrains/kotlin/load/kotlin/sam/SamConversionResolverImpl.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/sam/SamConversionResolverImpl.kt similarity index 97% rename from compiler/frontend/src/org/jetbrains/kotlin/load/kotlin/sam/SamConversionResolverImpl.kt rename to core/descriptors/src/org/jetbrains/kotlin/resolve/sam/SamConversionResolverImpl.kt index 5b69d059510..5a562f60191 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/load/kotlin/sam/SamConversionResolverImpl.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/sam/SamConversionResolverImpl.kt @@ -3,7 +3,7 @@ * 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.load.kotlin.sam +package org.jetbrains.kotlin.resolve.sam import org.jetbrains.kotlin.builtins.createFunctionType import org.jetbrains.kotlin.descriptors.* @@ -14,6 +14,7 @@ import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.sam.SamConversionResolver import org.jetbrains.kotlin.resolve.descriptorUtil.builtIns import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe +import org.jetbrains.kotlin.resolve.sam.SamWithReceiverResolver import org.jetbrains.kotlin.storage.StorageManager import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.types.SimpleType diff --git a/compiler/frontend/src/org/jetbrains/kotlin/load/kotlin/sam/SamWithReceiverResolver.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/sam/SamWithReceiverResolver.kt similarity index 89% rename from compiler/frontend/src/org/jetbrains/kotlin/load/kotlin/sam/SamWithReceiverResolver.kt rename to core/descriptors/src/org/jetbrains/kotlin/resolve/sam/SamWithReceiverResolver.kt index afb475c98e6..0c9ac0552ac 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/load/kotlin/sam/SamWithReceiverResolver.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/sam/SamWithReceiverResolver.kt @@ -3,7 +3,7 @@ * 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.load.kotlin.sam +package org.jetbrains.kotlin.resolve.sam import org.jetbrains.kotlin.descriptors.FunctionDescriptor 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 794c4ac71e4..7d18d6a2cf3 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 @@ -17,7 +17,6 @@ import org.jetbrains.kotlin.idea.decompiler.textBuilder.DeserializerForDecompile import org.jetbrains.kotlin.idea.decompiler.textBuilder.LoggingErrorReporter import org.jetbrains.kotlin.idea.decompiler.textBuilder.ResolveEverythingToKotlinAnyLocalClassifierResolver import org.jetbrains.kotlin.incremental.components.LookupTracker -import org.jetbrains.kotlin.load.kotlin.sam.SamConversionResolverImpl import org.jetbrains.kotlin.load.java.structure.JavaClass import org.jetbrains.kotlin.load.java.structure.classId import org.jetbrains.kotlin.load.kotlin.* @@ -25,6 +24,7 @@ import org.jetbrains.kotlin.load.kotlin.KotlinClassFinder.Result.KotlinClass import org.jetbrains.kotlin.metadata.jvm.deserialization.JvmProtoBufUtil import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName +import org.jetbrains.kotlin.resolve.sam.SamConversionResolverImpl import org.jetbrains.kotlin.serialization.deserialization.ClassData import org.jetbrains.kotlin.serialization.deserialization.ClassDataFinder import org.jetbrains.kotlin.serialization.deserialization.DeserializationComponents diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/ExpressionsOfTypeProcessor.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/ExpressionsOfTypeProcessor.kt index 5d11b964ea4..80a844e0bf2 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/ExpressionsOfTypeProcessor.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/usagesSearch/ExpressionsOfTypeProcessor.kt @@ -43,10 +43,10 @@ import org.jetbrains.kotlin.idea.util.application.runReadAction import org.jetbrains.kotlin.kdoc.psi.impl.KDocName import org.jetbrains.kotlin.load.java.descriptors.JavaClassDescriptor import org.jetbrains.kotlin.load.java.sam.SingleAbstractMethodUtils -import org.jetbrains.kotlin.load.kotlin.sam.getSingleAbstractMethodOrNull import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.psiUtil.* import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode +import org.jetbrains.kotlin.resolve.sam.getSingleAbstractMethodOrNull import org.jetbrains.kotlin.types.KotlinType import java.util.* diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/SamConversionToAnonymousObjectIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/SamConversionToAnonymousObjectIntention.kt index 6c1842a82f2..2aff4e5f4c6 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/SamConversionToAnonymousObjectIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/SamConversionToAnonymousObjectIntention.kt @@ -18,7 +18,6 @@ import org.jetbrains.kotlin.idea.search.usagesSearch.descriptor import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.load.java.descriptors.JavaClassDescriptor import org.jetbrains.kotlin.load.java.sam.SingleAbstractMethodUtils -import org.jetbrains.kotlin.load.kotlin.sam.getSingleAbstractMethodOrNull import org.jetbrains.kotlin.psi.KtCallExpression import org.jetbrains.kotlin.psi.KtLambdaExpression import org.jetbrains.kotlin.psi.KtPsiFactory @@ -28,6 +27,7 @@ import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.calls.callUtil.getType import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode +import org.jetbrains.kotlin.resolve.sam.getSingleAbstractMethodOrNull import org.jetbrains.kotlin.types.typeUtil.isSubtypeOf class SamConversionToAnonymousObjectIntention : SelfTargetingRangeIntention( diff --git a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/kotlinJavascriptPackageFragmentProvider.kt b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/kotlinJavascriptPackageFragmentProvider.kt index 6c041d1daa4..5a3d39f711f 100644 --- a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/kotlinJavascriptPackageFragmentProvider.kt +++ b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/kotlinJavascriptPackageFragmentProvider.kt @@ -26,6 +26,7 @@ import org.jetbrains.kotlin.metadata.deserialization.NameResolverImpl import org.jetbrains.kotlin.metadata.js.JsProtoBuf import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.parentOrNull +import org.jetbrains.kotlin.resolve.sam.SamConversionResolverImpl import org.jetbrains.kotlin.serialization.deserialization.* import org.jetbrains.kotlin.storage.StorageManager import org.jetbrains.kotlin.utils.JsMetadataVersion diff --git a/plugins/sam-with-receiver/sam-with-receiver-cli/src/SamWithReceiverResolverExtension.kt b/plugins/sam-with-receiver/sam-with-receiver-cli/src/SamWithReceiverResolverExtension.kt index 02226c770dd..140481de7b5 100644 --- a/plugins/sam-with-receiver/sam-with-receiver-cli/src/SamWithReceiverResolverExtension.kt +++ b/plugins/sam-with-receiver/sam-with-receiver-cli/src/SamWithReceiverResolverExtension.kt @@ -19,7 +19,7 @@ package org.jetbrains.kotlin.samWithReceiver import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.extensions.AnnotationBasedExtension -import org.jetbrains.kotlin.load.kotlin.sam.SamWithReceiverResolver +import org.jetbrains.kotlin.resolve.sam.SamWithReceiverResolver import org.jetbrains.kotlin.psi.KtModifierListOwner class SamWithReceiverResolverExtension( diff --git a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/compilationContext.kt b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/compilationContext.kt index c1245e87319..4f4e9c7d914 100644 --- a/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/compilationContext.kt +++ b/plugins/scripting/scripting-compiler/src/org/jetbrains/kotlin/scripting/compiler/plugin/impl/compilationContext.kt @@ -30,7 +30,7 @@ import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.extensions.AnnotationBasedExtension import org.jetbrains.kotlin.extensions.StorageComponentContainerContributor -import org.jetbrains.kotlin.load.kotlin.sam.SamWithReceiverResolver +import org.jetbrains.kotlin.resolve.sam.SamWithReceiverResolver import org.jetbrains.kotlin.platform.TargetPlatform import org.jetbrains.kotlin.platform.jvm.isJvm import org.jetbrains.kotlin.psi.KtFile