コード例 #1
0
 public virtual object TrackedVisitXmlElementExpression(XmlElementExpression xmlElementExpression, object data)
 {
     return base.VisitXmlElementExpression(xmlElementExpression, data);
 }
コード例 #2
0
 public override sealed object VisitXmlElementExpression(XmlElementExpression xmlElementExpression, object data)
 {
     this.BeginVisit(xmlElementExpression);
     object result = this.TrackedVisitXmlElementExpression(xmlElementExpression, data);
     this.EndVisit(xmlElementExpression);
     return result;
 }
コード例 #3
0
 public virtual object VisitXmlElementExpression(XmlElementExpression xmlElementExpression, object data)
 {
     Debug.Assert((xmlElementExpression != null));
     Debug.Assert((xmlElementExpression.Content != null));
     Debug.Assert((xmlElementExpression.NameExpression != null));
     Debug.Assert((xmlElementExpression.Attributes != null));
     xmlElementExpression.Content.AcceptVisitor(this, data);
     xmlElementExpression.NameExpression.AcceptVisitor(this, data);
     foreach (XmlExpression o in xmlElementExpression.Attributes) {
         Debug.Assert(o != null);
         o.AcceptVisitor(this, data);
     }
     return xmlElementExpression.AcceptChildren(this, data);
 }
コード例 #4
0
 public virtual object VisitXmlElementExpression(XmlElementExpression xmlElementExpression, object data)
 {
     throw new global::System.NotImplementedException("XmlElementExpression");
 }
コード例 #5
0
ファイル: Parser.cs プロジェクト: richardschneider/ILSpy
 void XmlElement(out XmlExpression expr)
 {
     XmlElementExpression el = new XmlElementExpression();
     Expect(10);
     el.StartLocation = t.Location;
     if (la.kind == 12) {
     Get();
     Expression innerExpression;
     Expr(out innerExpression);
     Expect(13);
     el.NameExpression = new XmlEmbeddedExpression() { InlineVBExpression = innerExpression };
     } else if (StartOf(5)) {
     Identifier();
     el.XmlName = t.val;
     } else SynErr(287);
     while (StartOf(37)) {
     XmlAttribute(el.Attributes);
     }
     if (la.kind == 14) {
     Get();
     el.EndLocation = t.EndLocation;
     } else if (la.kind == 11) {
     Get();
     while (StartOf(38)) {
         XmlExpression child;
         XmlNestedContent(out child);
         el.Children.Add(child);
     }
     Expect(15);
     while (StartOf(39)) {
         Get();
     }
     Expect(11);
     el.EndLocation = t.EndLocation;
     } else SynErr(288);
     expr = el;
 }
コード例 #6
0
 public virtual object VisitXmlElementExpression(XmlElementExpression xmlElementExpression, object data)
 {
     Debug.Assert((xmlElementExpression != null));
     Debug.Assert((xmlElementExpression.Content != null));
     Debug.Assert((xmlElementExpression.NameExpression != null));
     Debug.Assert((xmlElementExpression.Attributes != null));
     nodeStack.Push(xmlElementExpression.Content);
     xmlElementExpression.Content.AcceptVisitor(this, data);
     xmlElementExpression.Content = ((Expression)(nodeStack.Pop()));
     nodeStack.Push(xmlElementExpression.NameExpression);
     xmlElementExpression.NameExpression.AcceptVisitor(this, data);
     xmlElementExpression.NameExpression = ((Expression)(nodeStack.Pop()));
     for (int i = 0; i < xmlElementExpression.Attributes.Count; i++) {
         XmlExpression o = xmlElementExpression.Attributes[i];
         Debug.Assert(o != null);
         nodeStack.Push(o);
         o.AcceptVisitor(this, data);
         o = (XmlExpression)nodeStack.Pop();
         if (o == null)
             xmlElementExpression.Attributes.RemoveAt(i--);
         else
             xmlElementExpression.Attributes[i] = o;
     }
     for (int i = 0; i < xmlElementExpression.Children.Count; i++) {
         INode o = xmlElementExpression.Children[i];
         Debug.Assert(o != null);
         nodeStack.Push(o);
         o.AcceptVisitor(this, data);
         o = nodeStack.Pop();
         if (o == null)
             xmlElementExpression.Children.RemoveAt(i--);
         else
             xmlElementExpression.Children[i] = o;
     }
     return null;
 }