X-Git-Url: https://code.kerkeslager.com/?p=fur;a=blobdiff_plain;f=normalization.py;h=76c539592c1627794b10e6e48be0adc9c1a50517;hp=7ce7488575058f0aefb4318814db33b68fd242f7;hb=7b12616d21169685753b6e530569e431d45427b3;hpb=0fcd43d2a64af300f2a7c86ba818600b26ed3b68 diff --git a/normalization.py b/normalization.py index 7ce7488..76c5395 100644 --- a/normalization.py +++ b/normalization.py @@ -160,12 +160,7 @@ def normalize_list_literal_expression(counter, expression): list_variable = '${}'.format(counter) counter += 1 - prestatements = [ - NormalVariableInitializationStatement( - variable=list_variable, - expression=NormalListConstructExpression(allocate=len(expression.item_expression_list)), - ), - ] + prestatements = [] list_expression = NormalVariableExpression(variable=list_variable) @@ -179,12 +174,16 @@ def normalize_list_literal_expression(counter, expression): prestatements.append(p) prestatements.append( - NormalListAppendStatement( - list_expression=list_expression, - item_expression=normalized, + NormalPushStatement( + expression=normalized, ) ) + prestatements.append(NormalVariableInitializationStatement( + variable=list_variable, + expression=NormalListConstructExpression(allocate=len(expression.item_expression_list)), + )) + return ( counter, tuple(prestatements),