/// <summary> /// Normalizes the <paramref name="classDeclaration" />. /// </summary> public override SyntaxNode VisitClassDeclaration(ClassDeclarationSyntax classDeclaration) { classDeclaration = (ClassDeclarationSyntax)base.VisitClassDeclaration(classDeclaration); if (classDeclaration.Modifiers.Any(SyntaxKind.PartialKeyword)) return classDeclaration; var partialKeyword = SyntaxFactory.Token(SyntaxKind.PartialKeyword).WithTrailingSpace(); partialKeyword = partialKeyword.WithLeadingTrivia(classDeclaration.Keyword.LeadingTrivia); classDeclaration = classDeclaration.WithModifiers(classDeclaration.Modifiers.Add(partialKeyword)); return classDeclaration.WithKeyword(classDeclaration.Keyword.WithLeadingSpace()); }
private static SyntaxNode HandleClassDeclaration(ClassDeclarationSyntax node) { SyntaxToken triviaToken = node.Keyword; if (triviaToken.IsMissing) { return null; } SyntaxKind defaultVisibility = IsNestedType(node) ? SyntaxKind.PrivateKeyword : SyntaxKind.InternalKeyword; SyntaxTokenList modifiers = DeclarationModifiersHelper.AddModifier(node.Modifiers, ref triviaToken, defaultVisibility); return node .WithKeyword(triviaToken) .WithModifiers(modifiers) .WithoutFormatting(); }