public virtual void ScanChildren(GrammarNode node) { foreach (KeyValuePair <GrammarNode, GrammarNodeInfo> g in node.Children) { ++level; ChildInfo = g.Value; Scan(g.Key); --level; } }
public virtual void Scan(GrammarNode node) { //DebugWrite(node); //Sometimes in lists we can have null items when grammar can't process the node, returns null if (node != null) { StatusReporter.ReportProgress(node); CallAction(node, CallActionType.PreActionType); if (CallAction(node, CallActionType.ActionType)) { ScanChildren(node); } CallAction(node, CallActionType.PostActionType); } ChildInfo = null; }