From 407e82adbb5d8d908964c2fa2d8a795f49d908b8 Mon Sep 17 00:00:00 2001 From: Dmitriy Dolovov Date: Sat, 13 Nov 2021 13:15:56 +0300 Subject: [PATCH] [Native][tests] Minor. Make computePackageName() a bit more comprehensive --- .../kotlin/konan/blackboxtest/util/PackageNames.kt | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/native/native.tests/tests/org/jetbrains/kotlin/konan/blackboxtest/util/PackageNames.kt b/native/native.tests/tests/org/jetbrains/kotlin/konan/blackboxtest/util/PackageNames.kt index 07393003efb..ca29c8521a3 100644 --- a/native/native.tests/tests/org/jetbrains/kotlin/konan/blackboxtest/util/PackageNames.kt +++ b/native/native.tests/tests/org/jetbrains/kotlin/konan/blackboxtest/util/PackageNames.kt @@ -33,12 +33,16 @@ internal fun computePackageName(testDataBaseDir: File, testDataFile: File): Pack else buildString { packagePart.forEachIndexed { index, ch -> - if (index == 0) when { - ch.isJavaIdentifierStart() -> append(ch) - ch.isJavaIdentifierPart() -> append('_').append(ch) - else -> append('_') + if (ch.isJavaIdentifierPart()) { + if (index == 0 && !ch.isJavaIdentifierStart()) { + // If the first character is not suitable for start, escape it with '_'. + append('_') + } + append(ch) + } else { + // Replace incorrect character. + append('_') } - else append(if (ch.isJavaIdentifierPart()) ch else '_') } } }