internal protected void PopulateParameterNodes()

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);
            }
        }