@@ -11,16 +11,14 @@ import javax.lang.model.SourceVersion
1111 * Allowed characters are determined using [Character.isJavaIdentifierStart] and [Character.isJavaIdentifierPart]. Keywords are detected
1212 * using [SourceVersion.isKeyword].
1313 */
14- object JavaTypeName: StringNotation by UpperCamelCase {
14+ data object JavaTypeName : StringNotation by UpperCamelCase {
1515 override fun print (word : Word ) = UpperCamelCase .print (
1616 Word (word.parts.mapIndexed { index, wordPart ->
1717 if (index == 0 ) wordPart.keepOnlyJavaIdentifierChars()
1818 else wordPart.keepOnlyJavaIdentifierContinuationChars()
1919 })
2020 )
2121 .neutralizeJavaReservedKeywords()
22-
23- override fun toString () = this ::class .java.simpleName!!
2422}
2523
2624/* *
@@ -30,17 +28,17 @@ object JavaTypeName: StringNotation by UpperCamelCase {
3028 * Allowed characters are determined using [Character.isJavaIdentifierStart] and [Character.isJavaIdentifierPart]. Keywords are detected
3129 * using [SourceVersion.isKeyword].
3230 */
33- object JavaMemberName: BaseStringNotation(camelCaseSplitRegex) {
34- override fun transformPartAfterParse (index : Int , part : String ) = part.toLowerCase (Locale .ROOT )
31+ object JavaMemberName : BaseStringNotation(camelCaseSplitRegex) {
32+ override fun transformPartAfterParse (index : Int , part : String ) = part.lowercase (Locale .ROOT )
3533
3634 override fun print (word : Word ) = word.parts
3735 .foldIndexed(StringBuffer ()) { index, existing, part ->
3836 val filteredPart =
3937 if (index == 0 ) part.keepOnlyJavaIdentifierChars()
4038 else part.keepOnlyJavaIdentifierContinuationChars()
4139 val nextPart =
42- if (existing.contains(Regex (" [a-zA-Z]" ))) filteredPart.toFirstUpperOtherLowerCase ()
43- else filteredPart.toLowerCase( )
40+ if (existing.contains(Regex (" [a-zA-Z]" ))) filteredPart.firstUpperThenLowerCase ()
41+ else filteredPart.lowercase( Locale .getDefault() )
4442 existing.append(printBeforePart(index, nextPart)).append(nextPart)
4543 }.toString().makeValidJavaIdentifier()
4644}
@@ -54,10 +52,10 @@ object JavaMemberName: BaseStringNotation(camelCaseSplitRegex) {
5452 * Allowed characters are determined using [Character.isJavaIdentifierStart] and [Character.isJavaIdentifierPart]. Keywords are detected
5553 * using [SourceVersion.isKeyword].
5654 */
57- object JavaPackagePart: BaseStringNotation(Regex ("_ |${camelCaseSplitRegex.pattern}")) {
58- override fun transformPartAfterParse (index : Int , part : String ) = part.toLowerCase (Locale .ROOT )
55+ object JavaPackagePart : BaseStringNotation(Regex ("_ |${camelCaseSplitRegex.pattern}")) {
56+ override fun transformPartAfterParse (index : Int , part : String ) = part.lowercase (Locale .ROOT )
5957
60- override fun transformPartToPrint (index : Int , part : String ) = part.toLowerCase (Locale .ROOT )
58+ override fun transformPartToPrint (index : Int , part : String ) = part.lowercase (Locale .ROOT )
6159
6260 override fun print (word : Word ) = super .print (word).makeValidJavaIdentifier()
6361}
@@ -69,8 +67,8 @@ object JavaPackagePart: BaseStringNotation(Regex("_|${camelCaseSplitRegex.patter
6967 * Allowed characters are determined using [Character.isJavaIdentifierStart] and [Character.isJavaIdentifierPart]. Keywords are detected
7068 * using [SourceVersion.isKeyword].
7169 */
72- object JavaPackageName: BaseStringNotation(Regex ("\\.")) {
73- override fun transformPartToPrint (index : Int , part : String ) = part.toLowerCase (Locale .ROOT ).makeValidJavaIdentifier()
70+ object JavaPackageName : BaseStringNotation(Regex ("\\.")) {
71+ override fun transformPartToPrint (index : Int , part : String ) = part.lowercase (Locale .ROOT ).makeValidJavaIdentifier()
7472
7573 override fun printBeforeInnerPart (index : Int , part : String ) = " ."
7674}
@@ -82,10 +80,8 @@ object JavaPackageName: BaseStringNotation(Regex("\\.")) {
8280 * Allowed characters are determined using [Character.isJavaIdentifierStart] and [Character.isJavaIdentifierPart]. Keywords are detected
8381 * using [SourceVersion.isKeyword].
8482 */
85- object JavaConstantName: StringNotation by ScreamingSnakeCase {
83+ data object JavaConstantName : StringNotation by ScreamingSnakeCase {
8684 override fun print (word : Word ) = ScreamingSnakeCase .print (word).makeValidJavaIdentifier()
87-
88- override fun toString () = this ::class .java.simpleName!!
8985}
9086
9187private fun String.makeValidJavaIdentifier () = this .keepOnlyJavaIdentifierChars().neutralizeJavaReservedKeywords()
@@ -95,10 +91,15 @@ private fun String.keepOnlyJavaIdentifierChars() = this.chars()
9591 .keepOnlyJavaIdentifierContinuationChars()
9692 .collectToString()
9793
98- private fun String.keepOnlyJavaIdentifierContinuationChars () = this .chars().keepOnlyJavaIdentifierContinuationChars().collectToString()
94+ private fun String.keepOnlyJavaIdentifierContinuationChars () =
95+ this .chars().keepOnlyJavaIdentifierContinuationChars().collectToString()
96+
9997private fun IntStream.keepOnlyJavaIdentifierContinuationChars () = this .filter { Character .isJavaIdentifierPart(it) }
10098private fun IntStream.collectToString () =
101- this .collect({ StringBuilder () }, { left, right -> left.appendCodePoint(right) }, { left, right -> left.append(right) })
99+ this .collect(
100+ { StringBuilder () },
101+ { left, right -> left.appendCodePoint(right) },
102+ { left, right -> left.append(right) })
102103 .toString()
103104
104105private fun String.neutralizeJavaReservedKeywords () = when {
0 commit comments