public IfExpression(Expression/*!*/ condition, Statements/*!*/ body, List<ElseIfClause>/*!*/ elseIfClauses, SourceSpan location)
: base(location) {
ContractUtils.RequiresNotNull(body, "body");
ContractUtils.RequiresNotNull(condition, "condition");
ContractUtils.RequiresNotNull(elseIfClauses, "elseIfClauses");
// all but the last clause should have non-null conditions:
for (int i = 0; i < elseIfClauses.Count - 1; i++) {
if (elseIfClauses[i].Condition == null) {
throw ExceptionUtils.MakeArgumentItemNullException(i, "elseIfClauses");
}
}
_condition = condition;
_body = body;
_elseIfClauses = elseIfClauses;
}