private static Task <Document> RefactorAsync( Document document, EnumDeclarationSyntax enumDeclaration, INamedTypeSymbol enumSymbol, ulong?value, CancellationToken cancellationToken) { EqualsValueClauseSyntax equalsValue = null; if (value != null) { equalsValue = EqualsValueClause(CSharpFactory.NumericLiteralExpression(value.Value, enumSymbol.EnumUnderlyingType.SpecialType)); } string name = NameGenerator.Default.EnsureUniqueMemberName(DefaultNames.EnumMember, enumSymbol); SyntaxToken identifier = Identifier(name).WithRenameAnnotation(); EnumMemberDeclarationSyntax newEnumMember = EnumMemberDeclaration( default(SyntaxList <AttributeListSyntax>), identifier, equalsValue); EnumDeclarationSyntax newNode = enumDeclaration.AddMembers(newEnumMember); return(document.ReplaceNodeAsync(enumDeclaration, newNode, cancellationToken)); }
private static Task <Document> RefactorAsync( Document document, EnumDeclarationSyntax enumDeclaration, INamedTypeSymbol enumSymbol, object value, CancellationToken cancellationToken) { EnumMemberDeclarationSyntax newEnumMember = CreateEnumMember(enumSymbol, DefaultNames.EnumMember, value); EnumDeclarationSyntax newNode = enumDeclaration.AddMembers(newEnumMember); return(document.ReplaceNodeAsync(enumDeclaration, newNode, cancellationToken)); }
private static async Task <Document> RefactorAsync( Document document, EnumDeclarationSyntax enumDeclaration, INamedTypeSymbol enumSymbol, object value, CancellationToken cancellationToken) { EnumMemberDeclarationSyntax newEnumMember = GenerateEnumHelper.CreateEnumMember(enumSymbol, "EnumMember", value); EnumDeclarationSyntax newNode = enumDeclaration.AddMembers(newEnumMember); return(await document.ReplaceNodeAsync(enumDeclaration, newNode, cancellationToken).ConfigureAwait(false)); }
public CSharpSyntaxNode Convert(EnumDeclaration node) { EnumDeclarationSyntax csEnum = SyntaxFactory.EnumDeclaration(node.Name.Text); csEnum = csEnum.AddModifiers(node.Modifiers.ToCsNodes <SyntaxToken>()); csEnum = csEnum.AddMembers(node.Members.ToCsNodes <EnumMemberDeclarationSyntax>()); if (node.JsDoc.Count > 0) { csEnum = csEnum.WithLeadingTrivia(SyntaxFactory.Trivia(node.JsDoc[0].ToCsNode <DocumentationCommentTriviaSyntax>())); } return(csEnum); }