aboutsummaryrefslogtreecommitdiff
path: root/kotlinpoet
diff options
context:
space:
mode:
authorJake Wharton <jw@squareup.com>2022-03-14 12:59:44 -0400
committerJake Wharton <jw@squareup.com>2022-03-14 12:59:44 -0400
commit97073c8815b612fb23e3d2ba4b2856bfe8f4f56e (patch)
tree53fa59d82ad9b8b6c2196c6e205bb165f4fa9f31 /kotlinpoet
parent47a14121d3899bfe5d67b1dea99660658dfb9535 (diff)
downloadkotlinpoet-97073c8815b612fb23e3d2ba4b2856bfe8f4f56e.tar.gz
Emit trailing comma for multi-line annotations
Diffstat (limited to 'kotlinpoet')
-rw-r--r--kotlinpoet/src/main/java/com/squareup/kotlinpoet/AnnotationSpec.kt5
-rw-r--r--kotlinpoet/src/test/java/com/squareup/kotlinpoet/AnnotationSpecTest.kt8
-rw-r--r--kotlinpoet/src/test/java/com/squareup/kotlinpoet/KotlinPoetTest.kt2
-rw-r--r--kotlinpoet/src/test/java/com/squareup/kotlinpoet/TypeSpecTest.kt8
-rw-r--r--kotlinpoet/src/test/java/com/squareup/kotlinpoet/jvm/JvmAnnotationsTest.kt2
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 {
|}