protected internal override void VisitChoiceStatement(ChoiceStatement statement) { _stm = Ssm.CreateChoice(statement.Guards.Select(GetTransformed), statement.Statements.Select(GetTransformed)); }
protected internal override void VisitChoiceStatement(ChoiceStatement statement) { Requires.That(statement.IsDeterministic, "Unsupported nondeterministic choice."); for (var i = 0; i < statement.Guards.Count; ++i) { if (i == 0) { _writer.Append("if ("); Visit(statement.Guards[i]); _writer.Append(")"); } else if (i == statement.Guards.Count - 1 && statement.IsDeterministic) _writer.Append("else"); else { _writer.Append("else if ("); Visit(statement.Guards[i]); _writer.Append(")"); } _writer.NewLine(); Visit(statement.Statements[i]); } }
/// <summary> /// Visits an element of type <see cref="ChoiceStatement" />. /// </summary> /// <param name="statement">The <see cref="ChoiceStatement" /> instance that should be visited.</param> protected internal override void VisitChoiceStatement(ChoiceStatement statement) { foreach (var guard in statement.Guards) Visit(guard); foreach (var guardedStatement in statement.Statements) Visit(guardedStatement); }
/// <summary> /// Visits an element of type <see cref="ChoiceStatement" />. /// </summary> /// <param name="statement">The <see cref="ChoiceStatement" /> instance that should be visited.</param> protected internal virtual void VisitChoiceStatement(ChoiceStatement statement) { DefaultVisit(statement); }