Currently annotation values are limited to what is encodable as a constant in the constant pool. With Condy, we can expand the number of values that can be encodable as a constant in the constant pool to the infinity by allowing a reference to any non-mutable class to be encoded as an annotation values.
For that we need to have a 'protocol' that - encode an instance of a user defined non-mutable class as a condy by the compiler. - decode an instance of a user defined non-mutable class by the JDK runtime. Records with their constructors do not provide enough meta-information for that, the parameter names of the constructors may not be available at runtime. So i think the constructors parameter names of a Record should be always recorded (as with --parameters was specified for the constructors) to enable non-mutable records to be annotation values. RĂ©mi