Formatting issue for annotated type parameter
- 主要言語
- Java
- スター
- 5.7k
- フォーク
- 561
- 平均マージ
- 1日 14時間
- マージ済み PR(30日)
- 43
説明
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.
コントリビューションガイド
調査の方向性
./gradlew spotlessApply を実行して、ネストされた Kotlin 型パラメーターの例で問題を再現します。ネストされた Pair 型と List 型の内部にある @Serializable アノテーションを処理する Kotlin のフォーマット処理経路を追跡します。フォーマッターが行の長さの制限を守り、レポートに示された不要な展開を導入しなければ完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- kotlin
- 領域
- tooling
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 活発
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 66/100