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

Reply via email to