Exemplo n.º 1
0
 protected override void AsTextArgument(CodeWriter writer, RenderFlags flags)
 {
     // If we have a constant expression ("goto case ..."), always render it instead of
     // the target reference.
     if (_constantExpression != null)
     {
         writer.Write(Case.ParseToken + " ");
         _constantExpression.AsText(writer, flags);
     }
     else
     {
         _target.AsText(writer, flags);
     }
 }
        public override void AsText(CodeWriter writer, RenderFlags flags)
        {
            int newLines = NewLines;

            if (newLines > 0)
            {
                if (!flags.HasFlag(RenderFlags.SuppressNewLine))
                {
                    writer.WriteLines(newLines);
                }
            }
            else if (flags.HasFlag(RenderFlags.PrefixSpace))
            {
                writer.Write(" ");
            }
            flags &= ~RenderFlags.SuppressNewLine;

            RenderFlags passFlags = (flags & RenderFlags.PassMask);

            AsTextBefore(writer, passFlags | RenderFlags.IsPrefix);
            UpdateLineCol(writer, flags);

            // Increase the indent level for any newlines that occur within the statement if the flag is set
            bool increaseIndent = flags.HasFlag(RenderFlags.IncreaseIndent);

            if (increaseIndent)
            {
                writer.BeginIndentOnNewLine(this);
            }

            writer.Write(ParseToken);
            RenderFlags noDescFlags = passFlags & ~(RenderFlags.Description | RenderFlags.ShowParentTypes);

            if (_typeParameter != null)
            {
                _typeParameter.AsText(writer, noDescFlags | RenderFlags.IsPrefix | RenderFlags.PrefixSpace);
            }
            writer.Write(ParseTokenSeparator + " ");
            writer.WriteList(_constraints, noDescFlags, this);
            AsTextEOLComments(writer, flags);

            if (increaseIndent)
            {
                writer.EndIndentation(this);
            }

            AsTextAfter(writer, passFlags | (flags & RenderFlags.NoPostAnnotations));
        }
 protected override void AsTextStart(CodeWriter writer, RenderFlags flags)
 {
     if (!flags.HasFlag(RenderFlags.Description))
     {
         writer.Write("<" + TagName + " " + AttributeName + "=\"");
     }
     if (_nameRef != null)
     {
         // Turn on translation of '<', '&', and '>' for content
         writer.InDocCommentContent = true;
         _nameRef.AsText(writer, flags);
         writer.InDocCommentContent = false;
     }
     if (!flags.HasFlag(RenderFlags.Description))
     {
         writer.Write("\"" + (_content == null && !MissingEndTag ? "/>" : ">"));
     }
 }
 protected override void AsTextArgument(CodeWriter writer, RenderFlags flags)
 {
     _rootNamespaceRef.AsText(writer, flags);
 }