From 35631dc2dfb3f5ef13a68bc4566167793291686e Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Thu, 29 Dec 2016 16:43:57 +0300 Subject: [PATCH] Minor: rewrite with standard functions --- .../jetbrains/kotlin/script/ScriptNameUtil.kt | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/script/ScriptNameUtil.kt b/compiler/frontend/src/org/jetbrains/kotlin/script/ScriptNameUtil.kt index f229eeff8b5..8e95f5e734e 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/script/ScriptNameUtil.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/script/ScriptNameUtil.kt @@ -21,20 +21,16 @@ import org.jetbrains.kotlin.psi.KtScript import org.jetbrains.kotlin.utils.addToStdlib.lastIndexOfOrNull object ScriptNameUtil { - fun fileNameWithExtensionStripped(script: KtScript, vararg extensions: String): Name = - Name.identifier(generateNameByFileName(script.getContainingKtFile().name, *extensions)) + Name.identifier(generateNameByFileName(script.containingKtFile.name, *extensions)) - fun generateNameByFileName(fileName: String, vararg extensions: String): String { - val nameStart = fileName.lastIndexOf('/').let { if (it < 0) 0 else it + 1 } - val nameEnd = extensions.asSequence() + fun generateNameByFileName(filePath: String, vararg extensions: String): String { + val fileName = filePath.substringAfterLast('/') + val nameWithoutExtension = extensions.asSequence() .map { if (it.startsWith('.')) it else ".$it" } - .firstOrNull { fileName.endsWith(it) } - ?.let { fileName.length - it.length } - ?: fileName.lastIndexOf('.').let { if (it < 0) fileName.length else it } - ?: fileName.length - return fileName - .substring(nameStart, nameEnd) + .firstOrNull { fileName.endsWith(it) }?.let { fileName.removeSuffix(it) } + ?: fileName + return nameWithoutExtension .replace('.', '_') .capitalize() }