private void Process(EnumDeclarationSyntax syntaxItem) { if (syntaxItem == null || syntaxItem.Members.Count == 0) { return; } if (syntaxItem.IsExluded()) { AddExcludedType(syntaxItem); return; } AddDiscoveredType(syntaxItem); if (PreprocessMode) { return; } AddLevel($@"export {syntaxItem.EnumKeyword} {syntaxItem.Identifier}"); for (var idx = 0; idx < syntaxItem.Members.Count - 1; idx++) { var memberItem = syntaxItem.Members[idx]; var value = memberItem.EqualsValue?.Value != null ? " = " + memberItem.EqualsValue.Value : ""; AddLine($"{memberItem.Identifier}{value},"); } // Add final item no trailing comma { var idx = syntaxItem.Members.Count - 1; var memberItem = syntaxItem.Members[idx]; var value = memberItem.EqualsValue?.Value != null ? " = " + memberItem.EqualsValue.Value : ""; AddLine($"{memberItem.Identifier}{value}"); } CloseLevel(); }