From 1658427c0aafa0c54fbc37e34c8ebb3b9ad9a2c2 Mon Sep 17 00:00:00 2001 From: Karol Lewandowski Date: Tue, 19 Sep 2023 17:34:00 +0200 Subject: [PATCH] Rename Context enum to ExecutionContextType GitOrigin-RevId: d6e4240042449ba2f5d75f844f5a2a3e72b561f0 --- .../src/util/executionContextUtils.kt | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/plugins/devkit/intellij.kotlin.devkit/src/util/executionContextUtils.kt b/plugins/devkit/intellij.kotlin.devkit/src/util/executionContextUtils.kt index 9810083c9aef..5442d66704a3 100644 --- a/plugins/devkit/intellij.kotlin.devkit/src/util/executionContextUtils.kt +++ b/plugins/devkit/intellij.kotlin.devkit/src/util/executionContextUtils.kt @@ -10,39 +10,39 @@ import org.jetbrains.kotlin.psi.psiUtil.getParentOfType import org.jetbrains.kotlin.psi.psiUtil.getParentOfTypes import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType -internal fun getContext(element: PsiElement): Context { +internal fun getContext(element: PsiElement): ExecutionContextType { val containingLambda = element.getParentOfType(false) // if lambda is null, check the containing method if (containingLambda == null) { val containingMethod = element.getParentOfType(false) - return if (containingMethod.hasSuspendModifier()) Context.SUSPENDING_FUNCTION else Context.BLOCKING + return if (containingMethod.hasSuspendModifier()) ExecutionContextType.SUSPENDING_FUNCTION else ExecutionContextType.BLOCKING } // otherwise, check containing argument (whether the corresponding parameter has `suspend` modifier) val containingArgument = containingLambda.getParentOfType(true, KtCallableDeclaration::class.java) if (containingArgument != null) { - val callExpression = containingArgument.getStrictParentOfType() ?: return Context.BLOCKING + val callExpression = containingArgument.getStrictParentOfType() ?: return ExecutionContextType.BLOCKING analyze(callExpression) { - val functionCall = callExpression.resolveCall()?.singleFunctionCallOrNull() ?: return Context.BLOCKING - val lambdaArgumentType = functionCall.argumentMapping[containingLambda]?.returnType ?: return Context.BLOCKING + val functionCall = callExpression.resolveCall()?.singleFunctionCallOrNull() ?: return ExecutionContextType.BLOCKING + val lambdaArgumentType = functionCall.argumentMapping[containingLambda]?.returnType ?: return ExecutionContextType.BLOCKING - return if (lambdaArgumentType.isSuspendFunctionType) Context.SUSPENDING_LAMBDA else Context.BLOCKING + return if (lambdaArgumentType.isSuspendFunctionType) ExecutionContextType.SUSPENDING_LAMBDA else ExecutionContextType.BLOCKING } } // otherwise, check if it's a property or a function val containingPropertyOrFunction: KtCallableDeclaration? = containingLambda.getParentOfTypes(true, KtProperty::class.java, KtNamedFunction::class.java) - if (containingPropertyOrFunction?.typeReference.hasSuspendModifier()) return Context.SUSPENDING_LAMBDA - return if (containingPropertyOrFunction.hasSuspendModifier()) Context.SUSPENDING_LAMBDA else Context.BLOCKING + if (containingPropertyOrFunction?.typeReference.hasSuspendModifier()) return ExecutionContextType.SUSPENDING_LAMBDA + return if (containingPropertyOrFunction.hasSuspendModifier()) ExecutionContextType.SUSPENDING_LAMBDA else ExecutionContextType.BLOCKING } private fun KtModifierListOwner?.hasSuspendModifier(): Boolean { return this?.hasModifier(KtTokens.SUSPEND_KEYWORD) == true } -internal enum class Context { +internal enum class ExecutionContextType { BLOCKING, SUSPENDING_FUNCTION, SUSPENDING_LAMBDA;