diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/SamType.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/SamType.java index d86c360b339..40fcf602324 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/SamType.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/SamType.java @@ -24,7 +24,7 @@ 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.sam.SingleAbstractMethodUtils; +import org.jetbrains.kotlin.load.java.sam.JavaSingleAbstractMethodUtils; import org.jetbrains.kotlin.resolve.sam.SamConversionResolverImplKt; import org.jetbrains.kotlin.types.KotlinType; import org.jetbrains.kotlin.types.typeUtil.TypeUtilsKt; @@ -47,7 +47,7 @@ public class SamType { return create(TypeMapperUtilsKt.removeExternalProjections(originalTypeToUse)); } public static SamType create(@NotNull KotlinType originalType) { - if (!SingleAbstractMethodUtils.isSamType(originalType)) return null; + if (!JavaSingleAbstractMethodUtils.isSamType(originalType)) return null; return new SamType(originalType); } 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/JavaSingleAbstractMethodUtils.java similarity index 99% rename from compiler/frontend.java/src/org/jetbrains/kotlin/load/java/sam/SingleAbstractMethodUtils.java rename to compiler/frontend.java/src/org/jetbrains/kotlin/load/java/sam/JavaSingleAbstractMethodUtils.java index 651582498da..a9dbcc4cadb 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/JavaSingleAbstractMethodUtils.java @@ -41,8 +41,8 @@ import java.util.Collections; import java.util.List; import java.util.Map; -public class SingleAbstractMethodUtils { - private SingleAbstractMethodUtils() { +public class JavaSingleAbstractMethodUtils { + private JavaSingleAbstractMethodUtils() { } @NotNull diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/synthetic/SamAdapterFunctionsScope.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/synthetic/SamAdapterFunctionsScope.kt index aaee5295759..b6f3c74455f 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/synthetic/SamAdapterFunctionsScope.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/synthetic/SamAdapterFunctionsScope.kt @@ -32,7 +32,7 @@ import org.jetbrains.kotlin.load.java.descriptors.JavaClassDescriptor import org.jetbrains.kotlin.load.java.descriptors.JavaMethodDescriptor 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.java.sam.JavaSingleAbstractMethodUtils import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.resolve.calls.components.isVararg import org.jetbrains.kotlin.resolve.calls.inference.wrapWithCapturingSubstitution @@ -70,17 +70,20 @@ class SamAdapterFunctionsScope( private val samAdapterForStaticFunction = storageManager.createMemoizedFunction> { function -> - SingleAbstractMethodUtils.createSamAdapterFunction(function, samResolver, samConversionOracle) + JavaSingleAbstractMethodUtils + .createSamAdapterFunction(function, samResolver, samConversionOracle) } private val samConstructorForClassifier = storageManager.createMemoizedFunction { classifier -> - SingleAbstractMethodUtils.createSamConstructorFunction(classifier.containingDeclaration, classifier, samResolver, samConversionOracle) + JavaSingleAbstractMethodUtils + .createSamConstructorFunction(classifier.containingDeclaration, classifier, samResolver, samConversionOracle) } private val samConstructorForJavaConstructor = storageManager.createMemoizedFunction { constructor -> - SingleAbstractMethodUtils.createSamAdapterConstructor(constructor, samResolver, samConversionOracle) as ClassConstructorDescriptor + JavaSingleAbstractMethodUtils + .createSamAdapterConstructor(constructor, samResolver, samConversionOracle) as ClassConstructorDescriptor } private val samConstructorForTypeAliasConstructor = @@ -92,7 +95,7 @@ class SamAdapterFunctionsScope( private fun extensionForFunctionNotCached(function: FunctionDescriptor): FunctionDescriptor? { if (!function.visibility.isVisibleOutside()) return null if (!function.hasJavaOriginInHierarchy()) return null //TODO: should we go into base at all? - if (!SingleAbstractMethodUtils.isSamAdapterNecessary(function)) return null + if (!JavaSingleAbstractMethodUtils.isSamAdapterNecessary(function)) return null if (function.returnType == null) return null if (deprecationResolver.isHiddenInResolution(function)) return null return SamAdapterExtensionFunctionDescriptorImpl.create(function, samResolver, samConversionOracle) @@ -181,7 +184,7 @@ class SamAdapterFunctionsScope( private fun recordSamLookupsToClassifier(classifier: ClassifierDescriptor, location: LookupLocation) { if (classifier !is JavaClassDescriptor || classifier.kind != ClassKind.INTERFACE) return // TODO: We should also record SAM lookups even when the interface is not SAM - if (!SingleAbstractMethodUtils.isSamType(classifier.defaultType)) return + if (!JavaSingleAbstractMethodUtils.isSamType(classifier.defaultType)) return lookupTracker.record(location, classifier, SAM_LOOKUP_NAME) } @@ -217,7 +220,7 @@ class SamAdapterFunctionsScope( } private fun createJavaSamAdapterConstructor(constructor: JavaClassConstructorDescriptor): ClassConstructorDescriptor? { - if (!SingleAbstractMethodUtils.isSamAdapterNecessary(constructor)) return null + if (!JavaSingleAbstractMethodUtils.isSamAdapterNecessary(constructor)) return null return samConstructorForJavaConstructor(constructor) } @@ -230,7 +233,7 @@ class SamAdapterFunctionsScope( return functions.mapNotNull { function -> if (function !is JavaMethodDescriptor) return@mapNotNull null if (function.dispatchReceiverParameter != null) return@mapNotNull null // consider only statics - if (!SingleAbstractMethodUtils.isSamAdapterNecessary(function)) return@mapNotNull null + if (!JavaSingleAbstractMethodUtils.isSamAdapterNecessary(function)) return@mapNotNull null if (samViaSyntheticScopeDisabled && !function.shouldGenerateCandidateForVarargAfterSamAndHasVararg) return@mapNotNull null @@ -261,16 +264,16 @@ class SamAdapterFunctionsScope( } if (classifier !is ClassDescriptor) return null - if (!SingleAbstractMethodUtils.isSamClassDescriptor(classifier)) return null + if (!JavaSingleAbstractMethodUtils.isSamClassDescriptor(classifier)) return null return samConstructorForClassifier(classifier) } private fun getTypeAliasSamConstructor(classifier: TypeAliasDescriptor): SamConstructorDescriptor? { val classDescriptor = classifier.classDescriptor ?: return null - if (!SingleAbstractMethodUtils.isSamClassDescriptor(classDescriptor)) return null + if (!JavaSingleAbstractMethodUtils.isSamClassDescriptor(classDescriptor)) return null - return SingleAbstractMethodUtils.createTypeAliasSamConstructorFunction( + return JavaSingleAbstractMethodUtils.createTypeAliasSamConstructorFunction( classifier, samConstructorForClassifier(classDescriptor), samResolver, samConversionOracle ) } @@ -313,7 +316,7 @@ class SamAdapterFunctionsScope( val typeSubstitutor = DescriptorSubstitutor.substituteTypeParameters(sourceTypeParams, TypeSubstitution.EMPTY, descriptor, typeParameters) val returnType = typeSubstitutor.safeSubstitute(sourceFunction.returnType!!, Variance.INVARIANT) - val valueParameters = SingleAbstractMethodUtils.createValueParametersForSamAdapter( + val valueParameters = JavaSingleAbstractMethodUtils.createValueParametersForSamAdapter( sourceFunction, descriptor, typeSubstitutor, samResolver, samConversionOracle ) 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 4f3121f515e..a63b73159fa 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 @@ -17,7 +17,7 @@ import org.jetbrains.kotlin.load.java.descriptors.JavaCallableMemberDescriptor 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.java.sam.JavaSingleAbstractMethodUtils import org.jetbrains.kotlin.load.java.typeEnhancement.hasEnhancedNullability import org.jetbrains.kotlin.load.kotlin.JvmPackagePartSource import org.jetbrains.kotlin.psi2ir.generators.GeneratorExtensions @@ -50,7 +50,7 @@ class JvmGeneratorExtensions(private val generateFacades: Boolean = true) : Gene descriptor is SamConstructorDescriptor override fun isSamType(type: KotlinType): Boolean = - SingleAbstractMethodUtils.isSamType(type) + JavaSingleAbstractMethodUtils.isSamType(type) override fun getSamTypeInfoForValueParameter(valueParameter: ValueParameterDescriptor): KotlinType? { val samType = SamType.createByValueParameter(valueParameter) ?: return null 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 80a844e0bf2..d8b3e3580be 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 @@ -42,7 +42,6 @@ import org.jetbrains.kotlin.idea.util.ProjectRootsUtil 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.psi.* import org.jetbrains.kotlin.psi.psiUtil.* import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/RedundantSamConstructorInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/RedundantSamConstructorInspection.kt index 5974cff9828..dc2400e2e96 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/RedundantSamConstructorInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/RedundantSamConstructorInspection.kt @@ -22,7 +22,7 @@ import org.jetbrains.kotlin.idea.util.getResolutionScope import org.jetbrains.kotlin.incremental.components.NoLookupLocation 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.java.sam.JavaSingleAbstractMethodUtils import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.psiUtil.anyDescendantOfType @@ -246,7 +246,7 @@ class RedundantSamConstructorInspection : AbstractKotlinInspection() { val samAdapterOriginalFunction = SamCodegenUtil.getOriginalIfSamAdapter(samAdapter)?.original if (samAdapterOriginalFunction != originalFunction) return false - val parametersWithSamTypeCount = originalFunction.valueParameters.count { SingleAbstractMethodUtils.isSamType(it.type) } + val parametersWithSamTypeCount = originalFunction.valueParameters.count { JavaSingleAbstractMethodUtils.isSamType(it.type) } return parametersWithSamTypeCount == samConstructorsCount } diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ObjectLiteralToLambdaIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ObjectLiteralToLambdaIntention.kt index 64f4e18124b..f51223fefc8 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ObjectLiteralToLambdaIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ObjectLiteralToLambdaIntention.kt @@ -26,7 +26,7 @@ import org.jetbrains.kotlin.idea.util.CommentSaver import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers import org.jetbrains.kotlin.idea.util.application.runWriteAction import org.jetbrains.kotlin.lexer.KtTokens -import org.jetbrains.kotlin.load.java.sam.SingleAbstractMethodUtils +import org.jetbrains.kotlin.load.java.sam.JavaSingleAbstractMethodUtils import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.psiUtil.* import org.jetbrains.kotlin.resolve.BindingContext @@ -65,7 +65,7 @@ class ObjectLiteralToLambdaIntention : SelfTargetingRangeIntention