in ExpressionBuilder/ExpressionBuilder/ExpressionNodes/ExpressionBuilder.ExpressionNode.cs [435:459]
internal protected void PopulateParameterNodes(ref Dictionary<string, object> constParamMap, ref HashSet<ReferenceNode> referenceNodes)
{
var refNode = (this as ReferenceNode);
if ((refNode != null) && (refNode._nodeType != ExpressionNodeType.TargetReference))
{
referenceNodes.Add(refNode);
}
if ((_constParamMap != null) && (_constParamMap != constParamMap))
{
foreach (var entry in _constParamMap)
{
// If this parameter hasn't already been set on the root, use this node's parameter info
if (!constParamMap.ContainsKey(entry.Key))
{
constParamMap[entry.Key] = entry.Value;
}
}
}
foreach (var child in _children)
{
child.PopulateParameterNodes(ref constParamMap, ref referenceNodes);
}
}