On Thu, 28 Mar 2024 22:12:49 GMT, Alex Menkov <amen...@openjdk.org> wrote:

> Correct solution would be to store additional information about 
> RuntimeInvisibleAnnotations and restore them exactly as they were in the 
> original class (this should be done for all annotations: 
> RuntimeInvisibleAnnotations/RuntimeInvisibleTypeAnnotations for class, fields 
> and records, 
> RuntimeInvisibleAnnotations/RuntimeInvisibleTypeAnnotations/RuntimeInvisibleParameterAnnotations
>  for methods; need to ensure the information is correctly updated during 
> class redefinition & retransformation).
> 
> I think it doesn't make sense to add all the complexity for almost no value 
> (I doubt anyone uses PreserveAllAnnotations, the flag looks like 
> experimental, we don't have any tests for it).

This solution looks okay in general but still is a little bit confusing. It 
feels like saving just one bit would not add much complexity but would even 
simplify the implementation as it will become straight-forward. At least, there 
would be no need in this additional function with the `fallback_attr_name` 
parameter.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/18540#issuecomment-2026785793

Reply via email to