Exemple #1
0
        /// <summary>
        /// Updates the conditioned properties table if it hasn't already been done.
        /// </summary>
        private void UpdateConditionedProperties(IConditionEvaluationState state)
        {
            if (!this._conditionedPropertiesUpdated && state.ConditionedPropertiesInProject != null)
            {
                string leftUnexpandedValue  = this.LeftChild.GetUnexpandedValue(state);
                string rightUnexpandedValue = this.RightChild.GetUnexpandedValue(state);

                if (leftUnexpandedValue != null)
                {
                    ConditionEvaluator.UpdateConditionedPropertiesTable
                        (state.ConditionedPropertiesInProject,
                        leftUnexpandedValue,
                        this.RightChild.GetExpandedValue(state));
                }

                if (rightUnexpandedValue != null)
                {
                    ConditionEvaluator.UpdateConditionedPropertiesTable
                        (state.ConditionedPropertiesInProject,
                        rightUnexpandedValue,
                        this.LeftChild.GetExpandedValue(state));
                }

                this._conditionedPropertiesUpdated = true;
            }
        }