From cf4ad1908b8d8c5afc8d9c29b74c7251fc6df56f Mon Sep 17 00:00:00 2001 From: Sergey Rostov Date: Thu, 7 May 2020 16:56:36 +0300 Subject: [PATCH] Fix lastIndexOfOrNull --- .../src/org/jetbrains/kotlin/utils/addToStdlib.kt | 2 +- .../idea/scripting/gradle/roots/GradleBuildRootsManager.kt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/core/util.runtime/src/org/jetbrains/kotlin/utils/addToStdlib.kt b/core/util.runtime/src/org/jetbrains/kotlin/utils/addToStdlib.kt index 9fc250e2696..6f5c160e83b 100644 --- a/core/util.runtime/src/org/jetbrains/kotlin/utils/addToStdlib.kt +++ b/core/util.runtime/src/org/jetbrains/kotlin/utils/addToStdlib.kt @@ -95,7 +95,7 @@ private val constantMap = ConcurrentHashMap, Any>() fun String.indexOfOrNull(char: Char, startIndex: Int = 0, ignoreCase: Boolean = false): Int? = indexOf(char, startIndex, ignoreCase).takeIf { it >= 0 } -fun String.lastIndexOfOrNull(char: Char, startIndex: Int = 0, ignoreCase: Boolean = false): Int? = +fun String.lastIndexOfOrNull(char: Char, startIndex: Int = lastIndex, ignoreCase: Boolean = false): Int? = lastIndexOf(char, startIndex, ignoreCase).takeIf { it >= 0 } inline fun Iterable.firstNotNullResult(transform: (T) -> R?): R? { diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRootsManager.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRootsManager.kt index b5c660e359e..38bd6bacb47 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRootsManager.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/scripting/gradle/roots/GradleBuildRootsManager.kt @@ -140,8 +140,8 @@ class GradleBuildRootsManager(val project: Project) : ScriptingSupport.Provider( return roots.getBuildByProjectDir(filePath.substringBeforeLast("/")) } else if (filePath.endsWith("/gradle-wrapper.properties")) { val gradleWrapperDirIndex = filePath.lastIndexOfOrNull('/') ?: return null - val gradleDirIndex = filePath.lastIndexOfOrNull('/', gradleWrapperDirIndex) ?: return null - val buildDirIndex = filePath.lastIndexOfOrNull('/', gradleDirIndex) ?: return null + val gradleDirIndex = filePath.lastIndexOfOrNull('/', gradleWrapperDirIndex - 1) ?: return null + val buildDirIndex = filePath.lastIndexOfOrNull('/', gradleDirIndex - 1) ?: return null return roots.getBuildByRootDir(filePath.substring(0, buildDirIndex)) }