public virtual string ToString(IncludeTrivia includeTrivia)
        {
            var builder = new StringBuilder();

            this.Write(builder, includeTrivia, this.TriviaStart);
            return(builder.ToString());
        }
Esempio n. 2
0
 public override string ToString(IncludeTrivia includeTrivia)
 {
     if (!string.IsNullOrEmpty(this.Trivia) && includeTrivia == IncludeTrivia.All)
     {
         return(this.Trivia + this.Text);
     }
     else
     {
         return(this.Text);
     }
 }
 protected virtual void Write(StringBuilder builder, IncludeTrivia includeTrivia, int initialTriviaStart)
 {
     for (int i = 0, n = this.ChildCount; i < n; i++)
     {
         var child = this.GetChild(i);
         if (child != null)
         {
             child.Write(builder, includeTrivia, initialTriviaStart);
         }
     }
 }
Esempio n. 4
0
        internal void Write(StringBuilder builder, IncludeTrivia includeTrivia, int initialTriviaStart)
        {
            if (!string.IsNullOrEmpty(this.Trivia))
            {
                bool beforeQuery = this.TriviaStart == initialTriviaStart;
                bool afterQuery  = this.Kind == SyntaxKind.EndOfTextToken;

                switch (includeTrivia)
                {
                case IncludeTrivia.All:
                    builder.Append(this.Trivia);
                    break;

                case IncludeTrivia.Interior:
                    if (!beforeQuery)
                    {
                        builder.Append(this.Trivia);
                    }
                    break;

                case IncludeTrivia.Minimal:
                    if (!beforeQuery && !afterQuery)
                    {
                        // if there is any trivia replace it with single space or line-break
                        if (this.Trivia.Contains("\n"))
                        {
                            // trivia had a line feed, so minimal trivia is just one line feed
                            builder.Append("\n");
                        }
                        else
                        {
                            // minimal trivia is just a single space
                            builder.Append(" ");
                        }
                    }
                    break;

                case IncludeTrivia.SingleLine:
                    if (!beforeQuery && !afterQuery)
                    {
                        // if there was any trivia replace it with a single space.
                        builder.Append(" ");
                    }
                    break;
                }
            }

            builder.Append(this.Text);
        }
        public override string ToString(IncludeTrivia includeTrivia)
        {
            if (string.IsNullOrEmpty(this.Trivia))
            {
                return(this.Text);
            }

            switch (includeTrivia)
            {
            case IncludeTrivia.All:
                return(this.Trivia + this.Text);

            default:
                return(this.Text);
            }
        }
        public string ToString(IncludeTrivia includeTrivia, int maxLength)
        {
            var builder = new StringBuilder();
            var start   = this.TriviaStart;

            this.WalkTokens(token =>
            {
                if (builder.Length < maxLength)
                {
                    token.Write(builder, includeTrivia, start);
                }
            });

            if (builder.Length > maxLength)
            {
                builder.Length = maxLength;
            }

            return(builder.ToString());
        }
        protected override void Write(StringBuilder builder, IncludeTrivia includeTrivia, int initialTriviaStart)
        {
            if (!string.IsNullOrEmpty(this.Trivia))
            {
                switch (includeTrivia)
                {
                case IncludeTrivia.All:
                    builder.Append(this.Trivia);
                    break;

                case IncludeTrivia.Interior:
                    if (this.TriviaStart > initialTriviaStart)
                    {
                        builder.Append(this.Trivia);
                    }
                    break;

                case IncludeTrivia.Minimal:
                    if (this.TriviaStart > initialTriviaStart)
                    {
                        if (this.Trivia.Contains("\n"))
                        {
                            // trivia had a line feed, so minimal trivia is just one line feed
                            builder.Append("\n");
                        }
                        else
                        {
                            // minimal trivia is just a single space
                            builder.Append(" ");
                        }
                    }
                    break;
                }
            }

            builder.Append(this.Text);
        }
 public virtual string ToString(IncludeTrivia includeTrivia)
 {
     return(ToString(includeTrivia, Int32.MaxValue));
 }