@Override protected Java.Rvalue generateSetInvocation(Class type, int index, String value) throws CompileException { return new Java.Assignment(loc, new Java.FieldAccessExpression(loc, new Java.ThisReference(loc), fieldNames[index]), "=", new Java.Cast(loc, classToRefType(fieldTypes[index]), new Java.AmbiguousName(loc, new String[] {value}))); } }