groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jochen Theodorou <>
Subject Re: @Immutable backwards compatibility
Date Thu, 27 Sep 2018 12:25:50 GMT

Am 27.09.2018 um 01:24 schrieb Paul King:
> The String check for "groovy.transform.Immutable" would work fine if the 
> 2.4 compiled class was actually loaded with it;s annotations but 
> AnnotationCollector changes any meta-annotation to no longer be an 
> annotation but a class to store the serialized information for the 
> pre-compiled case.

Was that already in 2.4 the case for @Immutable? I thought it was not 
expressed by the annotation collector back then.

And why do we do all those checks for if the type is annotated with 
@Immutable then? We also check for if the annotation starts with 
groovy.transform.Immutable, which would cover ImmutableBase as well, 
which imho stays on the class... is source only.. oh..

> I think we need to perhaps adjust what we do there 
> slightly to leave the original annotation intact. I'll try to work on 
> that on the plane trip home - perhaps we should delay 2.5.3 a few days 
> to see if we can address this but any alternative suggestions welcome.

leaving the original annotation in tact is what I suggested to you 
before even writing here, because somehow I knew this was the problem, 
without even having looked at it properly ;)

Still I'd like to really understand it, and I am not there yet.

bye Jochen

View raw message