Based on the ImmutableASTTransformation code, the Map-arg constructor added by the method createConstructorMapCommondoes not include a call super(args)in the method body.
, ; , , , . - @Delegate, A.
import groovy.transform.*
@TupleConstructor
class A {
String a
}
@Immutable(knownImmutableClasses=[A])
class B {
@Delegate A base
String b
}
def b = new B(base: new A("a"), b: "b")
println b.a
, A ( @Immutable, B , ,
b.a = 'foo' // succeeds