Fleet 코드베이스에서 명시적 직렬화/비직렬화 전략 매개변수가 없는 Kotlin 직렬화 메서드의 부적절한 사용을 탐지합니다.

이 검사는 올바르게 매개변수화되지 않았을 때 런타임 시 원치 않는 리플렉션을 유발할 수 있는 JSON 직렬화 메서드 호출을 식별합니다.

검사는 kotlinx.serialization.json.Json 패키지에서 다음 메서드 호출을 구체적으로 확인합니다.


decodeFromString
decodeFromJsonElement
encodeToString
encodeToJsonElement

이 메서드는 리플렉션 사용 방지를 위해 항상 명시적 직렬화/비직렬화 전략 매개변수와 함께 호출되어야 하며, 그렇지 않으면 Fleet의 멀티 플랫폼 환경에서 문제가 발생할 수 있습니다.

문제가 있는 코드 예시:


Json.encodeToString(myObject) // 누락된 SerializationStrategy

올바른 사용법:


Json.encodeToString(MyType.serializer(), myObject)