private CWNode ToMyNode(Node n, IScriptedVariablesAccessor sa) { var nodes = n.AllChildren.Where(x => x.IsNodeC).Select(x => ToMyNode(x.node, sa)).ToList(); var leaves = n.AllChildren.Where(x => x.IsLeafC).Select(x => ToMyKeyValue(x.leaf)).ToList(); var values = n.AllChildren.Where(x => x.IsLeafValueC).Select(x => x.lefavalue.Key).ToList(); return(new CWNode(n.Key) { Nodes = nodes, Values = values, RawKeyValues = leaves, ScriptedVariablesAccessor = sa }); }
/// <summary> /// Create a CWParserHelper where the nodes will attempt to resolve variables using the specified <see cref="IScriptedVariablesAccessor"/>. /// </summary> public CWParserHelper(IScriptedVariablesAccessor scriptedVariablesAccessor) { this.scriptedVariablesAccessor = scriptedVariablesAccessor; }
internal DelegatingScriptedVariablesAccessor(IScriptedVariablesAccessor primary, IScriptedVariablesAccessor fallback) { this.primary = primary; this.fallback = fallback; }