private JCTree generateField() { long flags = Flags.PRIVATE | (modifiers & Flags.STATIC); // only make it final if we have an init, otherwise we still have to initialise it if (!writable && (variableInit != null || valueConstructor)) { flags |= Flags.FINAL; } return owner .make() .VarDef( owner.make().Modifiers(flags), owner.names().fromString(Naming.quoteIfJavaKeyword(fieldName)), (toplevel) ? owner.make().TypeArray(attrType) : attrType, null); }