/// <summary> /// Gets the content of this part. /// </summary> /// <returns></returns> public IEnumerable <MemberDeclarationSyntax> Content() { // Write general content foreach (var node in PartRoot.ChildNodes()) { switch (node.Kind()) { case SyntaxKind.ClassDeclaration: case SyntaxKind.StructDeclaration: case SyntaxKind.InterfaceDeclaration: case SyntaxKind.EnumDeclaration: case SyntaxKind.DelegateDeclaration: case SyntaxKind.FieldDeclaration: case SyntaxKind.EventFieldDeclaration: case SyntaxKind.MethodDeclaration: case SyntaxKind.OperatorDeclaration: case SyntaxKind.ConversionOperatorDeclaration: case SyntaxKind.ConstructorDeclaration: case SyntaxKind.DestructorDeclaration: case SyntaxKind.PropertyDeclaration: case SyntaxKind.EventDeclaration: case SyntaxKind.IndexerDeclaration: yield return((MemberDeclarationSyntax)node); break; } } }
/// <inheritdoc /> public override string GenerateContent() { var classDeclaration = (ClassDeclarationSyntax)PartRoot; var buffer = new StringBuilder(); // Write opening brace trailing trivia if (classDeclaration.OpenBraceToken.HasTrailingTrivia) { foreach (var trivia in classDeclaration.OpenBraceToken.TrailingTrivia) { buffer.Append(trivia.ToFullString()); } } // Write general content foreach (var node in PartRoot.ChildNodes()) { switch (node.Kind()) { case SyntaxKind.ClassDeclaration: case SyntaxKind.StructDeclaration: case SyntaxKind.InterfaceDeclaration: case SyntaxKind.EnumDeclaration: case SyntaxKind.DelegateDeclaration: case SyntaxKind.FieldDeclaration: case SyntaxKind.EventFieldDeclaration: case SyntaxKind.MethodDeclaration: case SyntaxKind.OperatorDeclaration: case SyntaxKind.ConversionOperatorDeclaration: case SyntaxKind.ConstructorDeclaration: case SyntaxKind.DestructorDeclaration: case SyntaxKind.PropertyDeclaration: case SyntaxKind.EventDeclaration: case SyntaxKind.IndexerDeclaration: buffer.Append(node.ToFullString()); break; } } // Write closing brace opening trivia // Write opening brace trailing trivia if (classDeclaration.CloseBraceToken.HasLeadingTrivia) { foreach (var trivia in classDeclaration.CloseBraceToken.LeadingTrivia) { buffer.Append(trivia.ToFullString()); } } return(buffer.ToString()); }
/// <inheritdoc /> public override string GenerateContent() { var classDeclaration = (ClassDeclarationSyntax)PartRoot; var buffer = new StringBuilder(); // Write opening brace trailing trivia if (classDeclaration.OpenBraceToken.HasTrailingTrivia) { var trailingTrivia = classDeclaration.OpenBraceToken.TrailingTrivia; // Skip the whitespace and line the brace itself is on var i = 0; while (i < trailingTrivia.Count && trailingTrivia[i].Kind() == SyntaxKind.WhitespaceTrivia) { i++; } if (i < trailingTrivia.Count && trailingTrivia[i].Kind() == SyntaxKind.EndOfLineTrivia) { i++; } for (; i < trailingTrivia.Count; i++) { buffer.Append(trailingTrivia[i].ToFullString()); } } // Write general content foreach (var node in PartRoot.ChildNodes()) { switch (node.Kind()) { case SyntaxKind.ClassDeclaration: case SyntaxKind.StructDeclaration: case SyntaxKind.InterfaceDeclaration: case SyntaxKind.EnumDeclaration: case SyntaxKind.DelegateDeclaration: case SyntaxKind.FieldDeclaration: case SyntaxKind.EventFieldDeclaration: case SyntaxKind.MethodDeclaration: case SyntaxKind.OperatorDeclaration: case SyntaxKind.ConversionOperatorDeclaration: case SyntaxKind.ConstructorDeclaration: case SyntaxKind.DestructorDeclaration: case SyntaxKind.PropertyDeclaration: case SyntaxKind.EventDeclaration: case SyntaxKind.IndexerDeclaration: buffer.Append(node.ToFullString()); break; } } // Write closing brace opening trivia // Write opening brace trailing trivia if (classDeclaration.CloseBraceToken.HasLeadingTrivia) { foreach (var trivia in classDeclaration.CloseBraceToken.LeadingTrivia) { buffer.Append(trivia.ToFullString()); } } return(buffer.ToString()); }