From 02387e77dde7292f2185a308818129a987cb4c35 Mon Sep 17 00:00:00 2001 From: Mikhail Zarechenskiy Date: Mon, 27 Jan 2020 09:56:23 +0300 Subject: [PATCH] Refactoring: rename SamConversionTransformer -> SamConversionOracle --- ...amConversionTransformer.kt => JvmSamConversionOracle.kt} | 6 +++--- .../kotlin/resolve/jvm/platform/JvmPlatformConfigurator.kt | 4 ++-- .../kotlin/resolve/calls/components/ExternalComponents.kt | 6 +++--- .../kotlin/resolve/calls/components/ResolutionParts.kt | 4 ++-- .../kotlin/resolve/calls/model/KotlinResolverContext.kt | 2 +- .../org/jetbrains/kotlin/idea/core/psiModificationUtils.kt | 1 - 6 files changed, 11 insertions(+), 12 deletions(-) rename compiler/frontend.java/src/org/jetbrains/kotlin/load/java/sam/{JvmSamConversionTransformer.kt => JvmSamConversionOracle.kt} (95%) diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/load/java/sam/JvmSamConversionTransformer.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/load/java/sam/JvmSamConversionOracle.kt similarity index 95% rename from compiler/frontend.java/src/org/jetbrains/kotlin/load/java/sam/JvmSamConversionTransformer.kt rename to compiler/frontend.java/src/org/jetbrains/kotlin/load/java/sam/JvmSamConversionOracle.kt index 47a902651ad..705620cee2b 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/load/java/sam/JvmSamConversionTransformer.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/load/java/sam/JvmSamConversionOracle.kt @@ -13,13 +13,13 @@ import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.descriptors.impl.TypeAliasConstructorDescriptor import org.jetbrains.kotlin.load.java.descriptors.JavaClassConstructorDescriptor import org.jetbrains.kotlin.load.java.descriptors.JavaClassDescriptor -import org.jetbrains.kotlin.resolve.calls.components.SamConversionTransformer +import org.jetbrains.kotlin.resolve.calls.components.SamConversionOracle import org.jetbrains.kotlin.synthetic.hasJavaOriginInHierarchy import org.jetbrains.kotlin.types.KotlinType -class JvmSamConversionTransformer( +class JvmSamConversionOracle( private val languageVersionSettings: LanguageVersionSettings -) : SamConversionTransformer { +) : SamConversionOracle { override fun shouldRunSamConversionForFunction(candidate: CallableDescriptor): Boolean { if (languageVersionSettings.supportsFeature(LanguageFeature.SamConversionForKotlinFunctions)) return true 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 c33a3bb3405..78e8fcf4475 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 @@ -11,7 +11,7 @@ import org.jetbrains.kotlin.container.StorageComponentContainer 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.java.sam.JvmSamConversionOracle import org.jetbrains.kotlin.resolve.PlatformConfiguratorBase import org.jetbrains.kotlin.resolve.checkers.BigFunctionTypeAvailabilityChecker import org.jetbrains.kotlin.resolve.checkers.ExpectedActualDeclarationChecker @@ -105,7 +105,7 @@ object JvmPlatformConfigurator : PlatformConfiguratorBase( container.useImpl() container.useImpl() container.useImpl() - container.useImpl() + container.useImpl() container.useInstance(FunctionWithBigAritySupport.LanguageVersionDependent) container.useInstance(GenericArrayClassLiteralSupport.Enabled) container.useInstance(JavaActualAnnotationArgumentExtractor()) diff --git a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/ExternalComponents.kt b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/ExternalComponents.kt index 6a2ce0fce16..6a349cbb27b 100644 --- a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/ExternalComponents.kt +++ b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/ExternalComponents.kt @@ -76,13 +76,13 @@ interface KotlinResolutionCallbacks { fun disableContractsIfNecessary(resolvedAtom: ResolvedCallAtom) } -@DefaultImplementation(impl = SamConversionTransformer.Empty::class) -interface SamConversionTransformer { +@DefaultImplementation(impl = SamConversionOracle.Empty::class) +interface SamConversionOracle { fun shouldRunSamConversionForFunction(candidate: CallableDescriptor): Boolean fun isPossibleSamType(samType: KotlinType): Boolean - object Empty : SamConversionTransformer { + object Empty : SamConversionOracle { override fun shouldRunSamConversionForFunction(candidate: CallableDescriptor): Boolean = false override fun isPossibleSamType(samType: KotlinType): Boolean { val descriptor = samType.constructor.declarationDescriptor diff --git a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/ResolutionParts.kt b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/ResolutionParts.kt index 154ea1394a0..98e3b6c7cfd 100644 --- a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/ResolutionParts.kt +++ b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/components/ResolutionParts.kt @@ -313,7 +313,7 @@ private fun KotlinResolutionCandidate.getExpectedTypeWithSAMConversion( if (generatingAdditionalSamCandidateIsEnabled) return null if (!callComponents.languageVersionSettings.supportsFeature(LanguageFeature.SamConversionForKotlinFunctions)) { - if (!callComponents.samConversionTransformer.shouldRunSamConversionForFunction(resolvedCall.candidateDescriptor)) return null + if (!callComponents.samConversionOracle.shouldRunSamConversionForFunction(resolvedCall.candidateDescriptor)) return null } val argumentIsFunctional = when (argument) { @@ -325,7 +325,7 @@ private fun KotlinResolutionCandidate.getExpectedTypeWithSAMConversion( val originalExpectedType = argument.getExpectedType(candidateParameter.original, callComponents.languageVersionSettings) - if (!callComponents.samConversionTransformer.isPossibleSamType(originalExpectedType)) return null + if (!callComponents.samConversionOracle.isPossibleSamType(originalExpectedType)) return null val convertedTypeByOriginal = callComponents.samConversionResolver.getFunctionTypeForPossibleSamType(originalExpectedType) ?: return null diff --git a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/model/KotlinResolverContext.kt b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/model/KotlinResolverContext.kt index 2369ca75858..4bb1910e746 100644 --- a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/model/KotlinResolverContext.kt +++ b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/model/KotlinResolverContext.kt @@ -44,7 +44,7 @@ class KotlinCallComponents( val reflectionTypes: ReflectionTypes, val builtIns: KotlinBuiltIns, val languageVersionSettings: LanguageVersionSettings, - val samConversionTransformer: SamConversionTransformer, + val samConversionOracle: SamConversionOracle, val samConversionResolver: SamConversionResolver, val kotlinTypeChecker: NewKotlinTypeChecker ) diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/psiModificationUtils.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/psiModificationUtils.kt index 62ccfc0aa6f..46fdbe25983 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/psiModificationUtils.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/psiModificationUtils.kt @@ -34,7 +34,6 @@ import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.OverridingUtil import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall import org.jetbrains.kotlin.resolve.calls.callUtil.getValueArgumentsInParentheses -import org.jetbrains.kotlin.resolve.calls.components.SamConversionTransformer import org.jetbrains.kotlin.resolve.calls.model.ArgumentMatch import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode import org.jetbrains.kotlin.resolve.sam.SamConversionResolver