Add "a ?= 2" support: should be expanded to "a = a == null ? 2 : a"
Shouldn't the expansion be "a = (a != null ? a : 2)"? Like other ternary situations, the alternative would not be evaluated unless needed. Also, is it a null check and not Groovy truth in the condition?
If "a" is not null in this example, does the bytecode actually execute an assignment? That seems unnecessary as well.