# Gson-Compile A java annotation processor implementing automated type adapter generation for gson-comments. The goal of this AP is to - Support common features such as getters, setters, fields, constructors - Support modern language features such as records - Support json5 through gson-comments - Be compile-time where possible (ideally compatible with proguard) ## Currently supported - Primitive types - Adapter generation - Utility methods - Strict no-reflection enforcement via `-AgsonCompileNoReflect` - Comments via `@GComment` - Records - Nested serializable types ## TODO - Arrays - Collections (Sets, Lists, Queues, Deques) - Maps - Date - Enums - Support for nested types from libraries - Static classes (for configs) - GPrefer to bypass builder/constructor recovery ## Credit The Gson-Compile processor is based on [gsonvalue](https://github.com/evant/gsonvalue) and [value-processor](https://github.com/evant/value-processor) by Eva Tatarka. The API was inspired by [kotlinx.serialization](https://github.com/Kotlin/kotlinx.serialization) by Jetbrains The serialization is powered by [my fork](https://gitlab.com/JFronny/gson-comments) of [gson](https://github.com/google/gson) by Google