> It's a little strange in that the visibilityId would control visibility for 
> both the map and no-arg variations
> unless the noArgVisibilityId attribute was set.

Yes, it is strange a little, but not unbearable :-)

> Also, if you set noArg=false forĀ @MapConstructor and defaults=true forĀ 
> @TupleConstructor, you get the
> no-arg constructor from the tuple constructor defaults with no way to set the 
> visibility independently
> for the 2 or more related constructors.

Actually, this might work for me, since I want only a map constructor anyway. 
But, I guess it's not
appropriate as a general solution.

Is it possible to write an AST transform that will reduce the visibility of the 
default constructor if it exists?
I mean, MapConstructorASTTransformation and TupleConstructorASTTransformation 
are assigned to the
CANONICALIZATION phase, and that new transformation should execute after them, 
I believe. Is it possible
to arrange such ordering without changing Groovy code?

Tnx,
Damir

Reply via email to