diff options
author | Jake Wharton <jw@squareup.com> | 2022-03-14 12:59:44 -0400 |
---|---|---|
committer | Jake Wharton <jw@squareup.com> | 2022-03-14 12:59:44 -0400 |
commit | 97073c8815b612fb23e3d2ba4b2856bfe8f4f56e (patch) | |
tree | 53fa59d82ad9b8b6c2196c6e205bb165f4fa9f31 /kotlinpoet | |
parent | 47a14121d3899bfe5d67b1dea99660658dfb9535 (diff) | |
download | kotlinpoet-97073c8815b612fb23e3d2ba4b2856bfe8f4f56e.tar.gz |
Emit trailing comma for multi-line annotations
Diffstat (limited to 'kotlinpoet')
5 files changed, 13 insertions, 12 deletions
diff --git a/kotlinpoet/src/main/java/com/squareup/kotlinpoet/AnnotationSpec.kt b/kotlinpoet/src/main/java/com/squareup/kotlinpoet/AnnotationSpec.kt index c8583492..37c69eb6 100644 --- a/kotlinpoet/src/main/java/com/squareup/kotlinpoet/AnnotationSpec.kt +++ b/kotlinpoet/src/main/java/com/squareup/kotlinpoet/AnnotationSpec.kt @@ -56,6 +56,7 @@ public class AnnotationSpec private constructor( val whitespace = if (inline) "" else "\n" val memberSeparator = if (inline) ", " else ",\n" + val memberSuffix = if (!inline && members.size > 1) "," else "" // Inline: // @Column(name = "updated_at", nullable = false) @@ -63,7 +64,7 @@ public class AnnotationSpec private constructor( // Not inline: // @Column( // name = "updated_at", - // nullable = false + // nullable = false, // ) codeWriter.emit("(") @@ -71,7 +72,7 @@ public class AnnotationSpec private constructor( codeWriter.emitCode( codeBlock = members .map { if (inline) it.replaceAll("[⇥|⇤]", "") else it } - .joinToCode(separator = memberSeparator), + .joinToCode(separator = memberSeparator, suffix = memberSuffix), isConstantContext = true ) if (members.size > 1) codeWriter.unindent(1).emit(whitespace) diff --git a/kotlinpoet/src/test/java/com/squareup/kotlinpoet/AnnotationSpecTest.kt b/kotlinpoet/src/test/java/com/squareup/kotlinpoet/AnnotationSpecTest.kt index 3b0e62fa..366e258c 100644 --- a/kotlinpoet/src/test/java/com/squareup/kotlinpoet/AnnotationSpecTest.kt +++ b/kotlinpoet/src/test/java/com/squareup/kotlinpoet/AnnotationSpecTest.kt @@ -114,7 +114,7 @@ class AnnotationSpecTest { | o = AnnotationSpecTest.Breakfast.PANCAKES, | p = 1701, | q = AnnotationSpecTest.AnnotationC(value = "bar"), - | r = arrayOf(Float::class, Double::class) + | r = arrayOf(Float::class, Double::class), |) |public class Taco |""".trimMargin() @@ -144,7 +144,7 @@ class AnnotationSpecTest { | o = AnnotationSpecTest.Breakfast.PANCAKES, | p = 1701, | q = AnnotationSpecTest.AnnotationC(value = "bar"), - | r = arrayOf(Float::class, Double::class) + | r = arrayOf(Float::class, Double::class), |) |public class IsAnnotated |""".trimMargin() @@ -190,7 +190,7 @@ class AnnotationSpecTest { | o = AnnotationSpecTest.Breakfast.PANCAKES, | p = 1701, | q = AnnotationSpecTest.AnnotationC(value = "bar"), - | r = arrayOf(Float::class, Double::class) + | r = arrayOf(Float::class, Double::class), |) |public class Taco |""".trimMargin() @@ -228,7 +228,7 @@ class AnnotationSpecTest { | o = AnnotationSpecTest.Breakfast.PANCAKES, | p = 1701, | q = AnnotationSpecTest.AnnotationC(value = "bar"), - | r = arrayOf(Float::class, Double::class) + | r = arrayOf(Float::class, Double::class), |) |public class Taco |""".trimMargin() diff --git a/kotlinpoet/src/test/java/com/squareup/kotlinpoet/KotlinPoetTest.kt b/kotlinpoet/src/test/java/com/squareup/kotlinpoet/KotlinPoetTest.kt index 43f64fc2..48aa6b9a 100644 --- a/kotlinpoet/src/test/java/com/squareup/kotlinpoet/KotlinPoetTest.kt +++ b/kotlinpoet/src/test/java/com/squareup/kotlinpoet/KotlinPoetTest.kt @@ -1052,7 +1052,7 @@ class KotlinPoetTest { |public data class Taco( | @WireField( | tag = 1, - | adapter = "CustomStringAdapterWithALongNameThatCauses" + | adapter = "CustomStringAdapterWithALongNameThatCauses", | ) | public val name: String, |) diff --git a/kotlinpoet/src/test/java/com/squareup/kotlinpoet/TypeSpecTest.kt b/kotlinpoet/src/test/java/com/squareup/kotlinpoet/TypeSpecTest.kt index 8e667c56..e86a67a5 100644 --- a/kotlinpoet/src/test/java/com/squareup/kotlinpoet/TypeSpecTest.kt +++ b/kotlinpoet/src/test/java/com/squareup/kotlinpoet/TypeSpecTest.kt @@ -420,7 +420,7 @@ class TypeSpecTest { |public interface Service { | @Headers( | "Accept: application/json", - | "User-Agent: foobar" + | "User-Agent: foobar", | ) | @POST("/foo/bar") | public fun fooBar( @@ -505,7 +505,7 @@ class TypeSpecTest { |@Something( | SomeType.PROPERTY, | 12, - | "goodbye" + | "goodbye", |) |public class Foo |""".trimMargin() @@ -861,7 +861,7 @@ class TypeSpecTest { | | @Throws( | IOException::class, - | SourCreamException::class + | SourCreamException::class, | ) | public fun throwTwo(): Unit { | } @@ -1920,7 +1920,7 @@ class TypeSpecTest { | |@MealDeal( | price = 500, - | options = [Option("taco", Beef::class), Option("quesadilla", Chicken::class)] + | options = [Option("taco", Beef::class), Option("quesadilla", Chicken::class)], |) |public class Menu |""".trimMargin() diff --git a/kotlinpoet/src/test/java/com/squareup/kotlinpoet/jvm/JvmAnnotationsTest.kt b/kotlinpoet/src/test/java/com/squareup/kotlinpoet/jvm/JvmAnnotationsTest.kt index cd21aa78..fc123a13 100644 --- a/kotlinpoet/src/test/java/com/squareup/kotlinpoet/jvm/JvmAnnotationsTest.kt +++ b/kotlinpoet/src/test/java/com/squareup/kotlinpoet/jvm/JvmAnnotationsTest.kt @@ -270,7 +270,7 @@ class JvmAnnotationsTest { | |@Throws( | IOException::class, - | IllegalArgumentException::class + | IllegalArgumentException::class, |) |public fun foo(): Unit { |} |