Simplify and rename function type utilities
- isFunctionType -> change the only usage in TracingStrategyForInvoke to check for exact function type - isExtensionFunctionType -> change all usages to check for exact extension function type because extension function types are uninheritable in Kotlin - isExactFunctionType -> isNonExtensionFunctionType - isExactExtensionFunctionType -> isExtensionFunctionType - isExactFunctionOrExtensionFunctionType -> isFunctionType - isFunctionOrExtensionFunctionType -> isFunctionTypeOrSubtype
This commit is contained in:
+2
-3
@@ -16,7 +16,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.resolve.calls.tower
|
||||
|
||||
import org.jetbrains.kotlin.builtins.isExactExtensionFunctionType
|
||||
import org.jetbrains.kotlin.builtins.isExtensionFunctionType
|
||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
||||
import org.jetbrains.kotlin.resolve.calls.tasks.ExplicitReceiverKind
|
||||
import org.jetbrains.kotlin.resolve.calls.tasks.createSynthesizedInvokes
|
||||
@@ -25,7 +25,6 @@ import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue
|
||||
import org.jetbrains.kotlin.util.OperatorNameConventions
|
||||
import java.util.*
|
||||
|
||||
|
||||
abstract class AbstractInvokeTowerProcessor<C>(
|
||||
protected val functionContext: TowerContext<C>,
|
||||
private val variableProcessor: ScopeTowerProcessor<C>
|
||||
@@ -141,7 +140,7 @@ private class InvokeExtensionScopeTowerProcessor<C>(
|
||||
private fun ScopeTower.getExtensionInvokeCandidateDescriptor(
|
||||
extensionFunctionReceiver: ReceiverValue
|
||||
): CandidateWithBoundDispatchReceiver<FunctionDescriptor>? {
|
||||
if (!extensionFunctionReceiver.type.isExactExtensionFunctionType) return null
|
||||
if (!extensionFunctionReceiver.type.isExtensionFunctionType) return null
|
||||
|
||||
val invokeDescriptor = extensionFunctionReceiver.type.memberScope.getContributedFunctions(OperatorNameConventions.INVOKE, location).single()
|
||||
val synthesizedInvoke = createSynthesizedInvokes(listOf(invokeDescriptor)).single()
|
||||
|
||||
Reference in New Issue
Block a user