コード例 #1
0
 public XmlElementSyntax(XmlElementStartTagSyntax start, SyntaxNode content, XmlElementEndTagSyntax end) : base(SyntaxKind.XmlElement)
 {
     StartTag  = start;
     Content   = content;
     EndTag    = end;
     SlotCount = 3;
 }
コード例 #2
0
 public XmlElementSyntax(XmlElementStartTagSyntax start, SyntaxNode content, XmlElementEndTagSyntax end) : base(SyntaxKind.XmlElement)
 {
     StartTag = start;
     Content = content;
     EndTag = end;
     SlotCount = 3;
 }
コード例 #3
0
        public XmlElementSyntax Update(XmlElementStartTagSyntax startTag, SyntaxList <SyntaxNode> content, XmlElementEndTagSyntax endTag)
        {
            if (startTag != this.StartTag || content != this.Content || endTag != this.EndTag)
            {
                var newNode = SyntaxFactory.XmlElement(startTag, content, endTag);

                /*var annotations = this.GetAnnotations ();
                 *              if (annotations != null && annotations.Length > 0)
                 *                      return newNode.WithAnnotations (annotations);*/
                return(newNode);
            }

            return(this);
        }
コード例 #4
0
        public override SyntaxNode VisitXmlElementStartTag(XmlElementStartTagSyntax node)
        {
            bool anyChanges       = false;
            var  newLessThanToken = ((PunctuationSyntax)Visit(node.LessThanToken));

            if (node.LessThanToken != newLessThanToken)
            {
                anyChanges = true;
            }

            var newName = ((XmlNameSyntax)Visit(node.NameNode));

            if (node.NameNode != newName)
            {
                anyChanges = true;
            }

            var newAttributes = VisitList <SyntaxNode>(node.Attributes);

            if (node.Attributes != newAttributes.Node)
            {
                anyChanges = true;
            }

            var newGreaterThanToken = ((PunctuationSyntax)Visit(node.GreaterThanToken));

            if (node.GreaterThanToken != newGreaterThanToken)
            {
                anyChanges = true;
            }

            if (anyChanges)
            {
                return(new XmlElementStartTagSyntax(node.Kind, newLessThanToken, newName, newAttributes.Node, newGreaterThanToken));
            }
            else
            {
                return(node);
            }
        }
コード例 #5
0
 public XmlElementSyntax WithStartTag(XmlElementStartTagSyntax startTag)
 {
     return(this.Update(startTag, this.Content, this.EndTag));
 }
コード例 #6
0
 public static XmlElementSyntax XmlElement(XmlElementStartTagSyntax startElement, SyntaxNode content, XmlElementEndTagSyntax endElement)
 {
     return((XmlElementSyntax) new XmlElementSyntax.Green(startElement?.GreenNode, content?.GreenNode, endElement?.GreenNode).CreateRed());
 }
コード例 #7
0
 public static XmlElementSyntax XmlElement(XmlElementStartTagSyntax startElement, SyntaxList <SyntaxNode> contentList, XmlElementEndTagSyntax endElement)
 {
     return(XmlElement(startElement, contentList.Node, endElement));
 }
コード例 #8
0
ファイル: SyntaxVisitor.cs プロジェクト: trueouter/XmlParser
 public virtual SyntaxNode VisitXmlElementStartTag(XmlElementStartTagSyntax node)
 {
     return(VisitXmlNode(node));
 }
コード例 #9
0
 public XmlContext(SyntaxListPool pool, XmlElementStartTagSyntax start)
 {
     _pool    = pool;
     _start   = start;
     _content = _pool.Allocate <XmlNodeSyntax>();
 }
コード例 #10
0
 public virtual SyntaxNode VisitXmlElementStartTag(XmlElementStartTagSyntax node)
 {
     return VisitXmlNode(node);
 }
コード例 #11
0
 public XmlContext(SyntaxListPool pool, XmlElementStartTagSyntax start)
 {
     _pool = pool;
     _start = start;
     _content = _pool.Allocate<XmlNodeSyntax>();
 }
コード例 #12
0
 public static XmlNodeSyntax XmlElement(XmlElementStartTagSyntax startElement, SyntaxList<SyntaxNode> contentList, XmlElementEndTagSyntax endElement)
 {
     return new XmlElementSyntax(startElement, contentList.Node, endElement);
 }