void (StructRecordComponent cd, TextBuffer buffer, boolean varArgComponent) { Map.Entry<VarType, GenericFieldDescriptor> fieldTypeData = getFieldTypeData(cd); VarType fieldType = fieldTypeData.getKey(); GenericFieldDescriptor descriptor = fieldTypeData.getValue(); appendAnnotations(buffer, -1, cd); final List<TypeAnnotation> typeAnnotations = TypeAnnotation.listFrom(cd); if (descriptor != null) { buffer.append(GenericMain.getGenericCastTypeName( varArgComponent ? descriptor.type.decreaseArrayDim() : descriptor.type, TypeAnnotationWriteHelper.create(typeAnnotations) )); } else { buffer.append(ExprProcessor.getCastTypeName( varArgComponent ? fieldType.decreaseArrayDim() : fieldType, TypeAnnotationWriteHelper.create(typeAnnotations) )); } if (varArgComponent) { buffer.append("..."); } buffer.append(' '); buffer.append(cd.getName()); }