public static String generateTypedefName(TypeDef modelType) {

		// Examples:
		//   string *32 __((relative))
		//   char *32 __((image-base-relative))
		//   char *16 __((space(data)))

		Settings settings = modelType.getDefaultSettings();
		StringBuilder attributesBuf = new StringBuilder();
		for (TypeDefSettingsDefinition def : modelType.getTypeDefSettingsDefinitions()) {
			String attribute = def.getAttributeSpecification(settings);
			if (attribute != null) {
				if (attributesBuf.length() != 0) {
					attributesBuf.append(',');
				}
				attributesBuf.append(attribute);
			}
		}
		StringBuilder buf = new StringBuilder(modelType.getDataType().getName());
		buf.append(' ');
		buf.append(DataType.TYPEDEF_ATTRIBUTE_PREFIX);
		buf.append(attributesBuf);
		buf.append(DataType.TYPEDEF_ATTRIBUTE_SUFFIX);
		return buf.toString();
	}
Generate a name for the typedef based upon its current {@link TypeDefSettingsDefinition} settings.
@param modelType model typedef from which name should be derived
@return generated typedef auto-name with attribute specification
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/data/TypedefDataType.java