From 9bf46cf435c51442e48bf414d5c5c42642195d31 Mon Sep 17 00:00:00 2001 From: Ilya Chernikov Date: Fri, 11 Oct 2019 08:13:05 +0200 Subject: [PATCH] Fix filename pattern building under Windows --- .../kotlin/script/experimental/jvm/util/jvmClassLoaderUtil.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/util/jvmClassLoaderUtil.kt b/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/util/jvmClassLoaderUtil.kt index 129ea060a0b..92abbdb9a68 100644 --- a/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/util/jvmClassLoaderUtil.kt +++ b/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/util/jvmClassLoaderUtil.kt @@ -55,7 +55,7 @@ fun ClassLoader.forAllMatchingFiles(namePattern: String, body: (String, InputStr internal val wildcardChars = "*?".toCharArray() internal val patternCharsToEscape = ".*?+()[]^\${}|".toCharArray().also { assert(wildcardChars.all { wc -> it.contains(wc) }) } -private fun Char.escape(): String = (if (patternCharsToEscape.contains(this)) "\\" else "") + this +private fun Char.escape(): String = (if (this == '\\' || patternCharsToEscape.contains(this)) "\\" else "") + this internal val pathSeparatorChars = "/".let { if (File.separatorChar == '/') it else it + File.separator }.toCharArray() internal val pathElementPattern = if (File.separatorChar == '/') "[^/]*" else "[^/${File.separatorChar.escape()}]*"