[feature request] Retrieve property default value for compile time constants
Chuckame opened this issue · comments
Currently, it's not possible to retrieve the default value as it is expensive to compute (#642).
This feature request is not about extracting all the default values, but just the compile time constants, that would cover the same values as annotations. It would help a lot for static analysis, for schema generation by example.
Example:
data class MyClass(
val staticString: String = "static string", // would extract 'static string'
val staticInt: Int = 42, // would extract '42'
val fieldDependentDefault: String = staticString, // would extract 'static string' as it is the static default of staticString field
val dynamicDefault: String = UUID.random().toString(), // would extract nothing (or a DYNAMIC placeholder) as it is not constant
)
EDIT: fixed a typo on dynamicDefault
example
This is fair, we will revisit this once KSP2 is stable.
Great news! Do you have a planned date for ksp2 to be stable?
I would also be glad to see this feature in future releases.