FE: move delegate name functions to NameUtils
This commit is contained in:
committed by
Space Team
parent
a7ba081d22
commit
5cf1a88c42
@@ -30,25 +30,35 @@ object NameUtils {
|
||||
*/
|
||||
@JvmStatic
|
||||
fun getPackagePartClassNamePrefix(shortFileName: String): String =
|
||||
if (shortFileName.isEmpty())
|
||||
"_"
|
||||
else
|
||||
capitalizeAsJavaClassName(sanitizeAsJavaIdentifier(shortFileName))
|
||||
if (shortFileName.isEmpty())
|
||||
"_"
|
||||
else
|
||||
capitalizeAsJavaClassName(sanitizeAsJavaIdentifier(shortFileName))
|
||||
|
||||
@JvmStatic
|
||||
private fun capitalizeAsJavaClassName(str: String): String =
|
||||
// NB `uppercase` uses Locale.ROOT and is locale-independent.
|
||||
// See Javadoc on java.lang.String.toUpperCase() for more details.
|
||||
if (Character.isJavaIdentifierStart(str[0]))
|
||||
str[0].uppercase() + str.substring(1)
|
||||
else
|
||||
"_$str"
|
||||
// NB `uppercase` uses Locale.ROOT and is locale-independent.
|
||||
// See Javadoc on java.lang.String.toUpperCase() for more details.
|
||||
if (Character.isJavaIdentifierStart(str[0]))
|
||||
str[0].uppercase() + str.substring(1)
|
||||
else
|
||||
"_$str"
|
||||
|
||||
// "pkg/someScript.kts" -> "SomeScript"
|
||||
@JvmStatic
|
||||
fun getScriptNameForFile(filePath: String): Name =
|
||||
Name.identifier(NameUtils.getPackagePartClassNamePrefix(filePath.substringAfterLast('/').substringBeforeLast('.')))
|
||||
Name.identifier(NameUtils.getPackagePartClassNamePrefix(filePath.substringAfterLast('/').substringBeforeLast('.')))
|
||||
|
||||
@JvmStatic
|
||||
fun hasName(name: Name) = name != SpecialNames.NO_NAME_PROVIDED && name != SpecialNames.ANONYMOUS
|
||||
|
||||
@JvmStatic
|
||||
fun delegateFieldName(index: Int): Name {
|
||||
return Name.identifier("\$\$delegate_$index")
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun propertyDelegateName(propertyName: Name): Name {
|
||||
return Name.identifier("${propertyName.asString()}\$delegate")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -101,14 +101,4 @@ object SpecialNames {
|
||||
fun isSafeIdentifier(name: Name): Boolean {
|
||||
return name.asString().isNotEmpty() && !name.isSpecial
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun delegateFieldName(index: Int): Name {
|
||||
return Name.identifier("\$\$delegate_$index")
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun propertyDelegateName(propertyName: Name): Name {
|
||||
return Name.identifier("${propertyName.asString()}\$delegate")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user