public virtual object VisitXmlDocumentExpression(XmlDocumentExpression xmlDocumentExpression, object data) {
			Debug.Assert((xmlDocumentExpression != null));
			Debug.Assert((xmlDocumentExpression.Expressions != null));
			foreach (XmlExpression o in xmlDocumentExpression.Expressions) {
				Debug.Assert(o != null);
				o.AcceptVisitor(this, data);
			}
			return null;
		}
		public virtual object VisitXmlDocumentExpression(XmlDocumentExpression xmlDocumentExpression, object data) {
			throw new global::System.NotImplementedException("XmlDocumentExpression");
		}
		public virtual object VisitXmlDocumentExpression(XmlDocumentExpression xmlDocumentExpression, object data) {
			Debug.Assert((xmlDocumentExpression != null));
			Debug.Assert((xmlDocumentExpression.Expressions != null));
			for (int i = 0; i < xmlDocumentExpression.Expressions.Count; i++) {
				XmlExpression o = xmlDocumentExpression.Expressions[i];
				Debug.Assert(o != null);
				nodeStack.Push(o);
				o.AcceptVisitor(this, data);
				o = (XmlExpression)nodeStack.Pop();
				if (o == null)
					xmlDocumentExpression.Expressions.RemoveAt(i--);
				else
					xmlDocumentExpression.Expressions[i] = o;
			}
			return null;
		}
Example #4
0
	void XmlLiteralExpression(out Expression pexpr) {
		List<XmlExpression> exprs = new List<XmlExpression>();
		XmlExpression currentExpression = null;

		if (StartOf(36)) {
			XmlContentExpression(exprs);
			while (StartOf(36)) {
				XmlContentExpression(exprs);
			}
			if (la.kind == 10) {
				XmlElement(out currentExpression);
				exprs.Add(currentExpression);
				while (StartOf(36)) {
					XmlContentExpression(exprs);
				}
			}
		} else if (la.kind == 10) {
			XmlElement(out currentExpression);
			exprs.Add(currentExpression);
			while (StartOf(36)) {
				XmlContentExpression(exprs);
			}
		} else SynErr(285);
		if (exprs.Count > 1) {
				pexpr = new XmlDocumentExpression() { Expressions = exprs };
			} else {
				pexpr = exprs[0];
			}

	}
		public sealed override object VisitXmlDocumentExpression(XmlDocumentExpression xmlDocumentExpression, object data) {
			this.BeginVisit(xmlDocumentExpression);
			object result = this.TrackedVisitXmlDocumentExpression(xmlDocumentExpression, data);
			this.EndVisit(xmlDocumentExpression);
			return result;
		}
		public virtual object TrackedVisitXmlDocumentExpression(XmlDocumentExpression xmlDocumentExpression, object data) {
			return base.VisitXmlDocumentExpression(xmlDocumentExpression, data);
		}