public static XObject Accept(this XObject node, XObjectVisitor visitor) { CheckNullReference(node); CheckArgumentNull(visitor, "visitor"); // yay, easy dynamic dispatch Acceptor acceptor = new Acceptor(node as dynamic); return(acceptor.Accept(visitor)); }
public static void Visit(XElement source, XObjectVisitor func, int depth) { func(source, depth); foreach (XAttribute att in source.Attributes()) { func(att, depth + 1); } foreach (XElement child in source.Elements()) { Visit(child, func, depth + 1); } }
public XObject Accept(XObjectVisitor visitor) { return(accept(visitor)); }
internal InternalAccessor(XObjectVisitor visitor) { this.visitor = visitor; }
public static XObject Accept(this XCData node, XObjectVisitor visitor) { node.Reference(); return visitor.VisitCData(node); }
public static void Visit(this XElement source, XObjectVisitor func) { Visit(source, func, 0); }
public static XObject Accept(this XText node, XObjectVisitor visitor) { node.Reference(); return visitor.VisitText(node); }
public static XObject Accept(this XProcessingInstruction node, XObjectVisitor visitor) { node.Reference(); return visitor.VisitProcessingInstruction(node); }
public static XObject Accept(this XDocumentType node, XObjectVisitor visitor) { node.Reference(); return visitor.VisitDocumentType(node); }
public static XObject Accept(this XAttribute node, XObjectVisitor visitor) { node.Reference(); return visitor.VisitAttribute(node); }
public static XObject Accept(this XObject node, XObjectVisitor visitor) { node.Reference(); return Accept(node as dynamic, visitor); }