public void IndentVisitIfNeeded(JNode node) { if (!(node is JBlock)) { IndentVisit(node); } else { Visit(node); } }
static IEnumerable <JNode> GetDescendants(JNode node, bool self) { if (self) { yield return(node); } var list = node.Children().ToList(); for (var i = 0; i < list.Count; i++) { var child = list[i]; yield return(child); list.AddRange(child.Children()); } }
public void VisitNode(JNode node) { throw new NotImplementedException(); }
//public static void VerifyParent(this JsNode node, JsNode parent) //{ // if (node.Parent == null) // node.Parent = parent; //} public static bool IsAny(this JNode node, params Type[] list) { return(list.Any(t => t.IsInstanceOfType(t))); }
public void IndentVisit(JNode node) { Indented(() => Visit(node)); }
public static IEnumerable <JNode> DescendantsAndSelf(this JNode node) { return(GetDescendants(node, true)); }
public static IEnumerable <T> Descendants <T>(this JNode node) where T : JNode { return(node.Descendants().OfType <T>()); }
public static IEnumerable <JNode> Descendants(this JNode node) { return(GetDescendants(node, false)); }