fixed: must not generate setter when the attribute is a val.