From 18983bb95a844ef6149b11ad4e102706aec1815a Mon Sep 17 00:00:00 2001 From: Sergei Vorobyov Date: Tue, 16 Jul 2024 17:48:10 +0200 Subject: [PATCH] IDEA-356036 log: added information about resolved and function call in KotlinGradleTaskRunConfigurationProducerTest GitOrigin-RevId: e3217093589dbaa104c55a1883e12e14e0a2a1b6 --- ...nGradleRunConfigurationProducerBaseTest.kt | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/plugins/kotlin/gradle/gradle-java/tests.shared/test/org/jetbrains/kotlin/idea/run/gradle/AbstractKotlinGradleRunConfigurationProducerBaseTest.kt b/plugins/kotlin/gradle/gradle-java/tests.shared/test/org/jetbrains/kotlin/idea/run/gradle/AbstractKotlinGradleRunConfigurationProducerBaseTest.kt index f3e2b203b321..e4558079f5c3 100644 --- a/plugins/kotlin/gradle/gradle-java/tests.shared/test/org/jetbrains/kotlin/idea/run/gradle/AbstractKotlinGradleRunConfigurationProducerBaseTest.kt +++ b/plugins/kotlin/gradle/gradle-java/tests.shared/test/org/jetbrains/kotlin/idea/run/gradle/AbstractKotlinGradleRunConfigurationProducerBaseTest.kt @@ -7,12 +7,17 @@ import com.intellij.execution.actions.ConfigurationFromContext import com.intellij.execution.actions.ConfigurationFromContextImpl import com.intellij.testFramework.assertInstanceOf import com.intellij.testFramework.runInEdtAndWait +import org.jetbrains.kotlin.analysis.api.analyze import org.jetbrains.kotlin.analysis.api.permissions.KaAllowAnalysisOnEdt import org.jetbrains.kotlin.analysis.api.permissions.allowAnalysisOnEdt +import org.jetbrains.kotlin.analysis.api.resolution.singleFunctionCallOrNull import org.jetbrains.kotlin.gradle.AbstractKotlinGradleCodeInsightBaseTest import org.jetbrains.kotlin.idea.gradleJava.run.findTaskNameAround import org.jetbrains.kotlin.idea.gradleJava.run.isInGradleKotlinScript import org.jetbrains.kotlin.idea.test.util.elementByOffset +import org.jetbrains.kotlin.psi.KtCallExpression +import org.jetbrains.kotlin.psi.KtScriptInitializer +import org.jetbrains.kotlin.psi.psiUtil.getParentOfType import org.jetbrains.kotlin.utils.addToStdlib.safeAs import org.jetbrains.plugins.gradle.execution.GradleRunnerUtil import org.jetbrains.plugins.gradle.service.execution.GradleRunConfiguration @@ -46,6 +51,21 @@ abstract class AbstractKotlinGradleRunConfigurationProducerBaseTest : AbstractKo val module = context.module val location = context.location val psiElement = location?.psiElement + val callExpression = psiElement?.getParentOfType(false, KtScriptInitializer::class.java) + val resolvedCall = callExpression?.let { + allowAnalysisOnEdt { + analyze(callExpression) { + callExpression.resolveToCall() + } + } + } + val functionCall = callExpression?.let { + allowAnalysisOnEdt { + analyze(callExpression) { + callExpression.resolveToCall()?.singleFunctionCallOrNull() + } + } + } val taskName = psiElement?.let { allowAnalysisOnEdt { findTaskNameAround(it) @@ -58,7 +78,8 @@ abstract class AbstractKotlinGradleRunConfigurationProducerBaseTest : AbstractKo | Kotlin: ${psiElement?.let { isInGradleKotlinScript(it) }} | Project path: ${module?.let { GradleRunnerUtil.resolveProjectPath(it) }} | Task: $taskName - } + | - Resolved call: $resolvedCall + | - Function call: $functionCall """.trimMargin() }