diffplug / diffplug/spotless

Formatting issue for annotated type parameter

Offen
#3,040 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Java
Sterne
5.6k
Forks
559
Ø Merge
1 T. 14 Std.
Gemergte PRs (30 T.)
43

Beschreibung

Given

```kotlin
internal object IntSerializer : KSerializer {
override val descriptor: SerialDescriptor
get() = PrimitiveSerialDescriptor(IntSerializer::class.qualifiedName!!, PrimitiveKind.STRING)

override fun serialize(encoder: Encoder, value: Int) {
encoder.encodeString(value.toHexString())
}

override fun deserialize(decoder: Decoder): Int = 0
}

```
The following expression

```kotlin
internal data class Foo(val bar: List>)
```

after running `./gradlew spotlessApply`, it is reformatted to

```kotlin
internal data class Foo(
val bar: List<
Pair<
@Serializable(IntSerializer::class)
Int,
String,
>,
>,
)
```

even though line max len is not exceeded, no matter how I split this.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Reproduziere das Problem mit dem verschachtelten Kotlin-Typparameter-Beispiel, indem du ./gradlew spotlessApply ausführst. Verfolge den Kotlin-Formatierungspfad, der @Serializable-Annotationen innerhalb verschachtelter Pair- und List-Typen verarbeitet. Als erledigt gilt die Aufgabe, wenn der Formatter das Zeilenlängenlimit einhält und die im Bericht gezeigte unnötige Erweiterung nicht einführt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
kotlin
Bereich
tooling
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Aktiv
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
66/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.