+def normalize_if_expression(counter, expression):
+ counter, condition_prestatements, condition_expression = normalize_expression(
+ counter,
+ expression.condition_expression,
+ )
+
+ result_variable = '${}'.format(counter)
+ counter += 1
+
+ counter, if_statement_list = normalize_statement_list(
+ counter,
+ expression.if_statement_list,
+ assign_result_to=result_variable,
+ )
+ counter, else_statement_list = normalize_statement_list(
+ counter,
+ expression.else_statement_list,
+ assign_result_to=result_variable,
+ )
+
+ return (
+ counter,
+ condition_prestatements + (
+ NormalVariableInitializationStatement(
+ variable=result_variable,
+ expression=NormalVariableExpression(variable='builtin$nil'),
+ ),
+ NormalIfElseStatement(
+ condition_expression=condition_expression,
+ if_statement_list=if_statement_list,
+ else_statement_list=else_statement_list,
+ ),
+ ),
+ NormalVariableExpression(variable=result_variable),
+ )
+
+
+
+