Example #1
0
        /// <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;
                }
            }
        }
Example #2
0
        /// <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());
        }
Example #3
0
 /// <inheritdoc />
 public override string GenerateContent()
 {
     return(PartRoot.ToFullString());
 }
Example #4
0
        /// <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());
        }