/// <summary> /// Normalizes the cases. Sets the default case based on the number of cases. /// </summary> private void NormalizeCases() { if (this.caseList.Length % 2 == 1) { // odd number of cases, the last one is the default case this.defaultCase = this.caseList.Items.Last.Value; this.caseList.Items.RemoveLast(); } else { // there is no default case, add a Null (by definition) as default this.defaultCase = Node.NullConstant(); } }
/// <summary> /// Builds an <see cref="If">if-else</see> node, with a ANull as false case. /// </summary> /// <param name="expression">The expression for the node.</param> /// <param name="trueCase">The true case of the node.</param> /// <returns>Returns a <see cref="If">if</see> node, with a ANull as false case.</returns> public static If If(Node expression, Node trueCase) { return(new If(expression, trueCase, Node.NullConstant())); }