From 229665d2fc53f50f44c15ab1b3954f170c6b7bf5 Mon Sep 17 00:00:00 2001 From: Natalia Selezneva Date: Tue, 12 Nov 2019 09:49:04 +0300 Subject: [PATCH] Remove unused environment properties from gradle configuration resolver getScriptContents is no longer used by Gradle see https://github.com/gradle/gradle/blob/master/subprojects/kotlin-dsl/src/main/kotlin/org/gradle/kotlin/dsl/resolver/ResolverEnvironment.kt --- .../gradle/GradleScriptDefinitionsProvider.kt | 59 +------------------ 1 file changed, 2 insertions(+), 57 deletions(-) diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/GradleScriptDefinitionsProvider.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/GradleScriptDefinitionsProvider.kt index 6fd9107463b..e2bb29d91d7 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/GradleScriptDefinitionsProvider.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/GradleScriptDefinitionsProvider.kt @@ -13,8 +13,6 @@ import com.intellij.util.EnvironmentUtil import org.jetbrains.kotlin.idea.core.script.ScriptDefinitionSourceAsContributor import org.jetbrains.kotlin.idea.core.script.ScriptDefinitionsManager import org.jetbrains.kotlin.idea.core.script.loadDefinitionsFromTemplates -import org.jetbrains.kotlin.lexer.KotlinLexer -import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.scripting.definitions.KotlinScriptDefinitionAdapterFromNewAPIBase import org.jetbrains.kotlin.scripting.definitions.ScriptDefinition import org.jetbrains.kotlin.scripting.definitions.getEnvironment @@ -176,9 +174,7 @@ class GradleScriptDefinitionsContributor(private val project: Project) : ScriptD "gradleOptions" to emptyList(), // There is no option in UI to set project wide gradleOptions "gradleJvmOptions" to gradleJvmOptions, - "gradleEnvironmentVariables" to if (gradleExeSettings.isPassParentEnvs) EnvironmentUtil.getEnvironmentMap() else emptyMap(), - - "getScriptSectionTokens" to ::topLevelSectionCodeTextTokens + "gradleEnvironmentVariables" to if (gradleExeSettings.isPassParentEnvs) EnvironmentUtil.getEnvironmentMap() else emptyMap() ) return ScriptingHostConfiguration(defaultJvmScriptingHostConfiguration) { getEnvironment { environment } @@ -288,55 +284,4 @@ class GradleKotlinScriptDefinitionFromAnnotatedTemplate( @Suppress("DEPRECATION") override val scriptExpectedLocations: List get() = listOf(ScriptExpectedLocation.Project) -} - -class TopLevelSectionTokensEnumerator(script: CharSequence, identifier: String) : Enumeration { - - private val lexer = KotlinLexer().apply { - start(script.replace(Regex.fromLiteral("\r"), "")) - var depth = 0 - - loop@ while (tokenType != null) { - when (tokenType) { - KtTokens.IDENTIFIER -> if (depth == 0 && tokenText == identifier) { - advance() - skipWhiteSpaceAndComments() - if (tokenType == KtTokens.LBRACE) - break@loop - } - KtTokens.LBRACE -> depth += 1 - KtTokens.RBRACE -> depth -= 1 - } - advance() - } - } - - private var depth = 1 - private var finished = false - - override fun hasMoreElements(): Boolean = !finished && lexer.tokenType != null - - override fun nextElement(): KotlinLexer = lexer.apply { - advance() - when (tokenType) { - KtTokens.LBRACE -> depth += 1 - KtTokens.RBRACE -> { - if (depth == 1) { - finished = true - } - depth -= 1 - } - } - } - - private fun KotlinLexer.skipWhiteSpaceAndComments() { - while (tokenType in KtTokens.WHITE_SPACE_OR_COMMENT_BIT_SET) { - advance() - } - } -} - -fun topLevelSectionCodeTextTokens(script: CharSequence, sectionIdentifier: String): Sequence = - TopLevelSectionTokensEnumerator(script, sectionIdentifier).asSequence() - .filter { it.tokenType !in KtTokens.WHITE_SPACE_OR_COMMENT_BIT_SET } - .map { it.tokenSequence } \ No newline at end of file +} \ No newline at end of file