-# TODO Get rid of this
-def fake_normalization(counter, thing):
- return (counter, (), thing)
-
-def normalize_function_call_expression(counter, expression):
- assert isinstance(expression, parsing.FurFunctionCallExpression)
-
- prestatements = []
- arguments = []
-
- for argument in expression.arguments:
- counter, argument_prestatements, normalized_argument = normalize_expression(counter, argument)
-
- for s in argument_prestatements:
- prestatements.append(s)
-
- variable = '${}'.format(counter)
- prestatements.append(NormalVariableInitializationStatement(
- variable=variable,
- expression=normalized_argument,
- ))
- arguments.append(NormalVariableExpression(
- variable=variable,
- ))
- counter += 1
-
- arguments_variable = '${}'.format(counter)
- counter += 1
-
- prestatements.append(NormalArrayVariableInitializationStatement(
- variable=arguments_variable,
- items=tuple(arguments),
- ))
-